STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228089
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/22764922?noj=FRM22764922-4DC" width="1" height="1"></div>

Swap The Gems 2.swf

This is the info page for
Flash #132534

(Click the ID number above for more basic data on this flash file.)


Text
+8888

88

Combo

x

Level

88

Play Again

Home

START

Instructions

Destroy gems by creating lines of 3 or more gems of
the same kind. You clear a level when gems have been
destroyed at all the positions.
Move the gems by using the mouse to click and swap
adjacent gems.

No More Moves

GAME OVER

9999999

9999999

Level

Score

Level Clear

+8888

Wall of fame

more games

Swap The Gems II

This Game On Your Site

ActionScript [AS1/AS2]

Frame 1
function __com_mochibot__(swfid, mc, lv, trk) { var x; var g; var s; var fv; var sb; var u; var res; var mb; var mbc; var pv; mb = "__mochibot__"; mbc = "mochibot.com"; g = (_global ? (_global) : (_level0._root)); if (g[mb + swfid]) { return(g[mb + swfid]); } s = System.security; x = mc._root.getSWFVersion; fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5))); if (!s) { s = {}; } sb = s.sandboxType; if (sb == "localWithFile") { return(null); } x = s.allowDomain; if (x) { s.allowDomain(mbc); } x = s.allowInsecureDomain; if (x) { s.allowInsecureDomain(mbc); } pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version)); u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : ""); lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv)))); g[mb + "level"] = lv; if (fv == 5) { res = "_level" + lv; if (!eval (res)) { loadMovieNum (u, lv); } } else { res = mc.createEmptyMovieClip(mb + swfid, lv); res.loadMovie(u); } return(res); } __com_mochibot__("f151c596", this, 10301, true); mochi.MochiServices.connect("955cbc2701074209");
Frame 5
stop();
Frame 15
MochiAd.showPreGameAd({id:"955cbc2701074209", res:"600x400"});
Frame 23
com.novelgames.flashgames.commonAS2.MainDevelopment.initialize(this);
Symbol 9 MovieClip [scorePopupText] Frame 1
#initclip 48 Object.registerClass("scorePopupText", com.novelgames.flashgames.commonAS2.NewMovieClip); #endinitclip
Symbol 13 MovieClip [ScorePopup] Frame 1
#initclip 33 Object.registerClass("ScorePopup", com.novelgames.flashgames.gems2AS2.ScorePopup); #endinitclip
Symbol 18 MovieClip [GemBackground] Frame 1
#initclip 34 Object.registerClass("GemBackground", com.novelgames.flashgames.gems2AS2.GemBackground); #endinitclip
Symbol 22 MovieClip [MessageLevel] Frame 1
#initclip 35 Object.registerClass("MessageLevel", com.novelgames.flashgames.gems2AS2.MessageLevel); #endinitclip
Symbol 30 MovieClip [MessagePlayAgain] Frame 1
#initclip 36 Object.registerClass("MessagePlayAgain", com.novelgames.flashgames.gems2AS2.MessagePlayAgain); #endinitclip
Symbol 40 MovieClip [Instructions] Frame 1
#initclip 37 Object.registerClass("Instructions", com.novelgames.flashgames.commonAS2.Instructions); #endinitclip
Symbol 47 MovieClip [Message] Frame 1
#initclip 38 Object.registerClass("Message", com.novelgames.flashgames.gems2AS2.Message); #endinitclip
Symbol 49 MovieClip [InstructionsButton] Frame 1
#initclip 39 Object.registerClass("InstructionsButton", com.novelgames.flashgames.commonAS2.InstructionsButton); #endinitclip
Symbol 53 MovieClip [MuteButton] Frame 1
#initclip 40 Object.registerClass("MuteButton", com.novelgames.flashgames.commonAS2.MuteButton); #endinitclip
Symbol 55 MovieClip [empty] Frame 1
#initclip 41 Object.registerClass("empty", com.novelgames.flashgames.commonAS2.NewMovieClip); #endinitclip
Symbol 57 MovieClip [TimeDisplay] Frame 1
#initclip 42 Object.registerClass("TimeDisplay", com.novelgames.flashgames.gems2AS2.TimeDisplay); #endinitclip
Symbol 59 MovieClip [highlight] Frame 1
#initclip 43 Object.registerClass("highlight", com.novelgames.flashgames.commonAS2.NewMovieClip); #endinitclip
Symbol 69 MovieClip [Game] Frame 1
#initclip 44 Object.registerClass("Game", com.novelgames.flashgames.gems2AS2.Game); #endinitclip
Symbol 86 MovieClip [Gem] Frame 1
#initclip 45 Object.registerClass("Gem", com.novelgames.flashgames.gems2AS2.Gem); #endinitclip
Symbol 90 MovieClip [MessageLevelClear] Frame 1
#initclip 46 Object.registerClass("MessageLevelClear", com.novelgames.flashgames.gems2AS2.MessageLevelClear); #endinitclip
Symbol 93 Button
on (release) { mochi.MochiScores.showLeaderboard({boardID:"749d8dee0cacbcce", onClose:function () { }}); }
Symbol 96 Button
on (release) { getURL ("http://www.yougame.com/", "_top"); }
Symbol 103 Button
on (release) { getURL ("http://www.yougame.com/putonyourwebsite/", "_top"); }
Symbol 104 MovieClip [Title] Frame 1
#initclip 47 Object.registerClass("Title", com.novelgames.flashgames.commonAS2.Title); #endinitclip
Symbol 129 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores { static var boardID, onClose, onError; function MochiScores () { } static function setBoardID(boardID) { mochi.MochiScores.boardID = boardID; mochi.MochiServices.send("scores_setBoardID", {boardID:boardID}); } static function showLeaderboard(options) { if (options.clip != null) { if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) { mochi.MochiServices.disconnect(); mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip); } delete options.clip; } if (options.name != null) { if (typeof(options.name) == "object") { if (options.name.text != undefined) { options.name = options.name.text; } } } if (options.score != null) { if (typeof(options.score) == "object") { if (options.score.text != undefined) { options.score = options.score.text; } } } if (options.onDisplay != null) { options.onDisplay(); } else { mochi.MochiServices.__get__clip().stop(); } if (options.onClose != null) { onClose = options.onClose; } else { onClose = function () { mochi.MochiServices.__get__clip().play(); }; } if (options.onError != null) { onError = options.onError; } else { onError = onClose; } if (options.boardID == null) { if (boardID != null) { options.boardID = boardID; } } mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose); } static function closeLeaderboard() { mochi.MochiServices.send("scores_closeLeaderboard"); } static function getPlayerInfo(callbackObj, callbackMethod) { mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod); } static function submit(score, name, callbackObj, callbackMethod) { mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod); } static function requestList(callbackObj, callbackMethod) { mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod); } static function scoresArrayToObjects(scores) { var _local5 = {}; var _local1; var _local4; var _local2; var _local6; for (var _local8 in scores) { if (typeof(scores[_local8]) == "object") { if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) { _local5[_local8] = []; _local2 = scores[_local8]; _local4 = 0; while (_local4 < _local2.rows.length) { _local6 = {}; _local1 = 0; while (_local1 < _local2.cols.length) { _local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1]; _local1++; } _local5[_local8].push(_local6); _local4++; } } else { _local5[_local8] = {}; for (var _local7 in scores[_local8]) { _local5[_local8][_local7] = scores[_local8][_local7]; } } } else { _local5[_local8] = scores[_local8]; } } return(_local5); } static function doClose(args) { if (args.error == true) { if (args.errorCode == undefined) { args.errorCode = "IOError"; } onError.apply(null, [args.errorCode]); } else { onClose.apply(); } } }
Symbol 130 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices { static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel; function MochiServices () { } static function get id() { return(_id); } static function get clip() { return(_container); } static function get childClip() { return(_clip); } static function getVersion() { return("1.31"); } static function allowDomains(server) { var _local1 = server.split("/")[2].split(":")[0]; if (System.security) { if (System.security.allowDomain) { System.security.allowDomain("*"); System.security.allowDomain(_local1); } if (System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_local1); } } return(_local1); } static function get isNetworkAvailable() { if (System.security) { var _local1 = System.security; if (_local1.sandboxType == "localWithFile") { return(false); } } return(true); } static function set comChannelName(val) { if (val != undefined) { if (val.length > 3) { _sendChannelName = val + "_fromgame"; _rcvChannelName = val; initComChannels(); } } //return(__get__comChannelName()); } static function get connected() { return(_connected); } static function connect(id, clip, onError) { if ((!_connected) && (_clip == undefined)) { trace("MochiServices Connecting..."); _connecting = true; init(id, clip); } if (onError != undefined) { mochi.MochiServices.onError = onError; } else if (mochi.MochiServices.onError == undefined) { mochi.MochiServices.onError = function (errorCode) { trace(errorCode); }; } } static function disconnect() { if (_connected || (_connecting)) { _connecting = (_connected = false); flush(true); if (_clip != undefined) { _clip.removeMovieClip(); delete _clip; } _listenChannel.close(); _rcvChannel.close(); } } static function init(id, clip) { _id = id; if (clip != undefined) { _container = clip; } else { _container = _root; } loadCommunicator(id, _container); } static function loadCommunicator(id, clip) { var _local2 = "_mochiservices_com_" + id; if (_clip != null) { return(_clip); } if (!isNetworkAvailable) { return(null); } allowDomains(_gatewayURL); _clip = clip.createEmptyMovieClip(_local2, 10336, false); _loader = new MovieClipLoader(); if (_loaderListener.waitInterval != null) { clearInterval(_loaderListener.waitInterval); } _loaderListener = {}; _loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) { trace("MochiServices could not load."); mochi.MochiServices.disconnect(); mochi.MochiServices.onError.apply(null, [errorCode]); }; _loaderListener.onLoadStart = function (target_mc) { this.isLoading = true; }; _loaderListener.startTime = getTimer(); _loaderListener.wait = function () { if ((getTimer() - this.startTime) > 10000) { if (!this.isLoading) { mochi.MochiServices.disconnect(); mochi.MochiServices.onError.apply(null, ["IOError"]); } clearInterval(this.waitInterval); } }; _loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000); _loader.addListener(_loaderListener); _loader.loadClip(_gatewayURL, _clip); _sendChannel = new LocalConnection(); _sendChannel._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain = function (d) { return(true); }; _rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain; _rcvChannel._nextcallbackID = 0; _rcvChannel._callbacks = {}; listen(); return(_clip); } static function onStatus(infoObject) { if (!(infoObject.level === "error")) { } else { _connected = false; _listenChannel.connect(_listenChannelName); } } static function listen() { _listenChannel = new LocalConnection(); _listenChannel.handshake = function (args) { mochi.MochiServices.__set__comChannelName(args.newChannel); }; _listenChannel.allowDomain = function (d) { return(true); }; _listenChannel.allowInsecureDomain = _listenChannel.allowDomain; _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } static function initComChannels() { if (!_connected) { _sendChannel.onStatus = function (infoObject) { mochi.MochiServices.onStatus(infoObject); }; _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()}); _rcvChannel.onStatus = function (infoObject) { mochi.MochiServices.onStatus(infoObject); }; _rcvChannel.onReceive = function (pkg) { var _local5 = pkg.callbackID; var _local4 = this._callbacks[_local5]; if (!_local4) { return(undefined); } var _local2 = _local4.callbackMethod; var _local3 = _local4.callbackObject; if (_local3 && (typeof(_local2) == "string")) { _local2 = _local3[_local2]; } if (_local2 != undefined) { _local2.apply(_local3, pkg.args); } delete this._callbacks[_local5]; }; _rcvChannel.onError = function () { mochi.MochiServices.onError.apply(null, ["IOError"]); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_sendChannel._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift()); } } } static function flush(error) { var _local1; var _local2; while (_sendChannel._queue.length > 0) { _local1 = _sendChannel._queue.shift(); if (_local1.callbackID != null) { _local2 = _rcvChannel._callbacks[_local1.callbackID]; } delete _rcvChannel._callbacks[_local1.callbackID]; if (error) { handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod); } } } static function handleError(args, callbackObject, callbackMethod) { if (args != null) { if (args.onError != null) { args.onError.apply(null, ["NotConnected"]); } } if (callbackMethod != null) { args = {}; args.error = true; args.errorCode = "NotConnected"; if ((callbackObject != null) && (typeof(callbackMethod) == "string")) { callbackObject[callbackMethod](args); } else if (callbackMethod != null) { callbackMethod.apply(args); } } } static function send(methodName, args, callbackObject, callbackMethod) { if (_connected) { _sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID}); } else { if ((_clip == undefined) || (!_connecting)) { onError.apply(null, ["NotConnected"]); handleError(args, callbackObject, callbackMethod); flush(true); return(undefined); } _sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID}); } _rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod}; _rcvChannel._nextcallbackID++; } static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf"; static var _listenChannelName = "__mochiservices"; static var _connecting = false; static var _connected = false; }
Symbol 131 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip] Frame 0
class com.novelgames.flashgames.commonAS2.NewMovieClip extends MovieClip { var _parent, _x, _y, _rotation, _visible, _alpha, _width, _height, _xscale, _yscale, _xmouse, _ymouse, _totalframes, _currentframe, _name, __mask, useHandCursor, __mouseEnabled, __mouseChildren, __numChildren, getInstanceAtDepth, getNextHighestDepth, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside, onMouseMove, onEnterFrame, getURL, createMovieCount, attachMovie, createEmptyMovieClip; function NewMovieClip () { super(); } function get parent() { return(_parent); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set rotation(rotation) { _rotation = rotation; //return(this.rotation); } function get rotation() { return(_rotation); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get width() { return(_width); } function set width(width) { _width = width; //return(this.width); } function get height() { return(_height); } function set height(height) { _height = height; //return(this.height); } function set scaleX(scaleX) { _xscale = scaleX * 100; //return(this.scaleX); } function get scaleX() { return(_xscale / 100); } function set scaleY(scaleY) { _yscale = scaleY * 100; //return(this.scaleY); } function get scaleY() { return(_yscale / 100); } function set mouseX(mouseX) { _xmouse = mouseX; //return(this.mouseX); } function get mouseX() { return(_xmouse); } function set mouseY(mouseY) { _ymouse = mouseY; //return(this.mouseY); } function get mouseY() { return(_ymouse); } function get totalFrames() { return(_totalframes); } function get currentFrame() { return(_currentframe); } function get name() { return(_name); } function set mask(mask) { __mask = mask; super.setMask(mask); //return(this.mask); } function get mask() { return(__mask); } function set buttonMode(buttonMode) { useHandCursor = buttonMode; //return(this.buttonMode); } function get buttonMode() { return(useHandCursor); } function set mouseEnabled(mouseEnabled) { __mouseEnabled = mouseEnabled; //return(this.mouseEnabled); } function get mouseEnabled() { return(__mouseEnabled); } function set mouseChildren(mouseChildren) { __mouseChildren = mouseChildren; //return(this.mouseChildren); } function get mouseChildren() { return(__mouseChildren); } function get stage() { return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage()); } function set numChildren(numChildren) { __numChildren = numChildren; //return(this.numChildren); } function get numChildren() { if (__numChildren == undefined) { __numChildren = 0; } return(__numChildren); } function get graphics() { return(this); } function startDrag(lockCenter, bounds) { if (lockCenter == undefined) { super.startDrag(); } else if (bounds == undefined) { super.startDrag(lockCenter); } else { super.startDrag(lockCenter, bounds.__get__left(), bounds.__get__top(), bounds.__get__right(), bounds.__get__bottom()); } } function lineStyle(thickness, colour, alpha) { if (alpha == undefined) { alpha = 1; } super.lineStyle(thickness, colour, alpha * 100); } function beginFill(colour, alpha) { if (alpha == undefined) { alpha = 1; } super.beginFill(colour, alpha * 100); } function getBounds(target) { var _local2 = super.getBounds(target); return(new com.novelgames.flashgames.commonAS2.Rectangle(_local2.xMin, _local2.yMin, _local2.xMax - _local2.xMin, _local2.yMax - _local2.yMin)); } function localToGlobal(point) { var _local2 = {x:point.x, y:point.y}; super.localToGlobal(_local2); return(_local2); } function globalToLocal(point) { var _local2 = {x:point.x, y:point.y}; super.globalToLocal(_local2); return(_local2); } function hitTestPoint(x, y, shapeFlag) { if (shapeFlag == undefined) { return(super.hitTest(x, y)); } return(super.hitTest(x, y, shapeFlag)); } function hitTestObject(obj) { return(super.hitTest(obj)); } function addChild(movieClip) { if (movieClip.addedToParent) { return(undefined); } if (movieClip._parent != this) { trace("wrong addChild: " + [this, movieClip]); } if (movieClip == null) { return(undefined); } addChildAt(movieClip, numChildren); } function addChildAt(movieClip, index) { if (movieClip.addedToParent) { return(undefined); } if (movieClip._parent != this) { trace("wrong addChildAt: " + [this, movieClip]); } if (movieClip == null) { return(undefined); } movieClip.addedToParent = true; numChildren = ((numChildren+1)); setChildIndex(movieClip, index); } function removeChild(movieClip) { if (!movieClip.addedToParent) { return(undefined); } removeChildAt(movieClip.getDepth()); } function removeChildAt(index) { var _local5 = getInstanceAtDepth(index); var _local3; var _local2; if (!_local5.addedToParent) { return(undefined); } _local5.removeMovieClip(); _local3 = getNextHighestDepth(); _local2 = index + 1; while (_local2 < _local3) { getInstanceAtDepth(_local2).swapDepths(_local2 - 1); _local2++; } numChildren = ((numChildren-1)); } function setChildIndex(child, index) { var _local3 = child.getDepth(); var _local2; var _local1; if (_local3 == index) { return(undefined); } _local2 = ((_local3 < index) ? 1 : -1); _local1 = _local3; while (_local1 != index) { child.swapDepths(_local1 + _local2); _local1 = _local1 + _local2; } } function getChildIndex(child) { return(child.getDepth()); } function getChildAt(index) { return(com.novelgames.flashgames.commonAS2.NewMovieClip(getInstanceAtDepth(index))); } function addEventListener(type, listenerObject, listenerFunctionName) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; onReleaseOutside = onRelease; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE : onMouseMove = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME : onEnterFrame = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = null; onReleaseOutside = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE : onMouseMove = null; break; case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME : onEnterFrame = null; } } function navigateToURL(urlRequest, window) { getURL(urlRequest.url, window); } function createMovie(name) { var _local4 = getNextHighestDepth(); var _local2; if (createMovieCount == undefined) { createMovieCount = 0; } if (name) { _local2 = attachMovie(name, (name + "_") + createMovieCount, _local4); } else { _local2 = createEmptyMovieClip((name + "_") + createMovieCount, _local4); _local2.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; } _local2.addedToParent = false; createMovieCount++; return(_local2); } function createSound(name) { return(new com.novelgames.flashgames.commonAS2.NewSound(this, name)); } }
Symbol 132 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage] Frame 0
class com.novelgames.flashgames.commonAS2.NewStage { var addedListener, onKeyDown, onKeyUp; function NewStage () { addedListener = false; onKeyDown = null; onKeyUp = null; } static function getNewStage() { if (newStage == null) { newStage = new com.novelgames.flashgames.commonAS2.NewStage(); } return(newStage); } function get stageWidth() { return(Stage.width); } function get stageHeight() { return(Stage.height); } function set focus(object) { Selection.setFocus(object); //return(focus); } function get focus() { return(Selection.getFocus()); } function addEventListener(type, listenerObject, listenerFunctionName) { if (!addedListener) { Key.addListener(this); addedListener = true; } switch (type) { case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN : onKeyDown = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP : onKeyUp = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this)); }; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN : onKeyDown = null; break; case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP : onKeyUp = null; } } static var newStage = null; }
Symbol 133 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent] Frame 0
class com.novelgames.flashgames.commonAS2.KeyboardEvent { function KeyboardEvent () { } function get charCode() { return(Key.getAscii()); } function get keyCode() { return(Key.getCode()); } function updateAfterEvent() { _global.updateAfterEvent(); } static var KEY_DOWN = "keyDown"; static var KEY_UP = "keyUp"; }
Symbol 134 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle] Frame 0
class com.novelgames.flashgames.commonAS2.Rectangle { var x, y, width, height; function Rectangle (x, y, width, height) { this.x = x; this.y = y; this.width = width; this.height = height; } function get left() { return(x); } function set left(left) { x = left; //return(this.left); } function get top() { return(y); } function set top(top) { y = top; //return(this.top); } function get right() { return(x + width); } function set right(right) { width = right - x; //return(this.right); } function get bottom() { return(y + height); } function set bottom(bottom) { height = bottom - y; //return(this.bottom); } function get size() { return({x:width, y:height}); } function set size(size) { width = size.x; height = size.y; //return(this.size); } function get topLeft() { return({x:x, y:y}); } function set topLeft(topLeft) { x = topLeft.x; y = topLeft.y; //return(this.topLeft); } function get bottomRight() { return({x:x + width, y:y + height}); } function set bottomRight(bottomRight) { width = x - bottomRight.x; height = y - bottomRight.y; //return(this.bottomRight); } }
Symbol 135 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent] Frame 0
class com.novelgames.flashgames.commonAS2.MouseEvent { var target, currentTarget; function MouseEvent (target) { this.target = target; currentTarget = target; } function updateAfterEvent() { _global.updateAfterEvent(); } static var CLICK = "click"; static var DOUBLE_CLICK = "doubleClick"; static var MOUSE_DOWN = "mouseDown"; static var MOUSE_MOVE = "mouseMove"; static var MOUSE_OUT = "mouseOut"; static var MOUSE_OVER = "mouseOver"; static var MOUSE_UP = "mouseUp"; static var MOUSE_WHEEL = "mouseWheel"; static var ROLL_OUT = "rollOut"; static var ROLL_OVER = "rollOver"; }
Symbol 136 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event] Frame 0
class com.novelgames.flashgames.commonAS2.Event { function Event () { } static var ENTER_FRAME = "enterFrame"; }
Symbol 137 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest] Frame 0
class com.novelgames.flashgames.commonAS2.URLRequest { var url; function URLRequest (url) { this.url = url; } }
Symbol 138 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound] Frame 0
class com.novelgames.flashgames.commonAS2.NewSound extends Sound { var attachSound, start; function NewSound (target, symbolName) { super(target); attachSound(symbolName); } function play() { start(); } }
Symbol 139 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.ScorePopup] Frame 0
class com.novelgames.flashgames.gems2AS2.ScorePopup extends com.novelgames.flashgames.commonAS2.NewMovieClip { var comboText, scoreText, gotoAndStop, __set__x, __set__y, startY, __set__mouseEnabled, __set__mouseChildren, startTime, timer, __get__parent; function ScorePopup () { super(); comboText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; } function initialize(x, y, score, combo) { scoreText.scoreText.text = com.novelgames.flashgames.gems2AS2.Config.SCOREPOPUP_PREFIX + score; comboText.text = combo.toString(); if (combo == 0) { (gotoAndStop("normal"));// not popped comboText.__set__visible(false); } else if (combo == 1) { (gotoAndStop("combo"));// not popped comboText.__set__visible(false); } else { (gotoAndStop("combos"));// not popped } __set__x(x); __set__y(y); startY = y; __set__mouseEnabled(false); __set__mouseChildren(false); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onMoveTime"); timer.start(); } function onMoveTime(timerEvent) { var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local2 = (_local3 - startTime) / com.novelgames.flashgames.gems2AS2.Config.SCOREPOPUP_MOVETIME; if (_local2 > 1) { _local2 = 1; } timerEvent.updateAfterEvent(); __set__y(startY - (Math.sin(_local2 * Math.PI) * com.novelgames.flashgames.gems2AS2.Config.SCOREPOPUP_MOVEHEIGHT)); if (_local2 >= 1) { timer.stop(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.gems2AS2.Config.SCOREPOPUP_STAYTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "stayFinished"); timer.start(); } } function stayFinished(timerEvent) { __get__parent().removeChild(this); } }
Symbol 140 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField] Frame 0
class com.novelgames.flashgames.commonAS2.NewTextField extends TextField { var _x, _y, _rotation, _visible, _alpha, _width, _height, scroll, maxscroll; function NewTextField () { super(); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set rotation(rotation) { _rotation = rotation; //return(this.rotation); } function get rotation() { return(_rotation); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get width() { return(_width); } function set width(width) { _width = width; //return(this.width); } function get height() { return(_height); } function set height(height) { _height = height; //return(this.height); } function set scrollV(scrollV) { scroll = scrollV; //return(this.scrollV); } function get scrollV() { return(scroll); } function set maxScrollV(maxScrollV) { maxscroll = maxScrollV; //return(this.maxScrollV); } function get maxScrollV() { return(maxscroll); } function setTextFormat(textFormat, beginIndex, endIndex) { if ((beginIndex == undefined) || (endIndex == undefined)) { super.setTextFormat(textFormat); } else { super.setTextFormat(beginIndex, endIndex, textFormat); } } }
Symbol 141 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer] Frame 0
interface com.novelgames.flashgames.commonAS2.Timer { }
Symbol 142 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Config] Frame 0
class com.novelgames.flashgames.gems2AS2.Config { function Config () { } static var GROUPSIZE = 3; static var BLOCKSIZE = 40; static var GEMS_TYPES = 5; static var GEMS_LEFT = 180; static var GEMS_TOP = 0; static var GEMS_RIGHT = 580; static var GEMS_BOTTOM = 400; static var GEMS_ACCELERATION = 1000; static var GEMS_SWAPTIME = 200; static var GEMS_DESTROYTIME = 200; static var GEMS_DESTROYROTATE = 180; static var SCORE_GROUP = 20; static var SCORE_EXTRAGEM = 10; static var SCORE_EXTRAGROUP = 10; static var SCORE_COMBO = 10; static var SCORE_LEVEL = 2000; static var SCOREPOPUP_PREFIX = "+"; static var SCOREPOPUP_MOVETIME = 200; static var SCOREPOPUP_MOVEHEIGHT = 30; static var SCOREPOPUP_STAYTIME = 500; static var LEVEL_INITIALTIME = 400000; static var LEVEL_TIMEDECREASE = 10000; static var LEVEL_INFOS = [["0000 0000", "00000 0000", "0000000000", "0000000000", "0000000000", "0000000000", "0000 00000", "0000 0000"], [" 00000000 ", "0000000000", "0000000000", "0000 0000", "0000 0000", "0000000000", "0000000000", " 00000000 "], ["0000 0000", "0000 0000", "0000 0000", "0000 0000", "0000 0000", " 00000000 ", " 000000 ", " 0000 ", " 00 "], ["0000000000", "0000000000", "0000000000", "0000 ", "00000000 ", "00000000 ", "0000 ", "0000000000", "0000000000", "0000000000"], ["0000 ", "0000 ", "0000 ", "0000 ", "0000 ", "000000000", "000000000", "000000000", "000000000"], ["0000000000", "0000000000", "000 000", "000 ", "000 00000", "000 00000", "000 000", "0000000000", "0000000000", "0000000000"], ["0000000000", "0000000000", "0000000000", "0000 0000", "0000 0000", "0000000000", "0000000000", "0000000000", "0000 0000", "0000 0000"], ["000 000", "0000 0000", "0000000000", "0000000000", "0000000000", "000 00 000", "000 000", "000 000", "000 000", "000 000"], ["0000000000", "0000000000", "0000000000", "0000 ", "000000000 ", "000000000 ", "0000 ", "0000000000", "0000000000", "0000000000"], ["0000000000", "0000000000", "0000 0000", "0000 ", "0000000000", "0000000000", " 0000", "0000 0000", "0000000000", "0000000000"]]; static var MESSAGE_LEVELTIME = 1000; static var MESSAGE_LEVELCLEARTIME = 2000; static var MESSAGE_GAMEOVERTIME = 1000; }
Symbol 143 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer] Frame 0
class com.novelgames.flashgames.commonAS2.NewTimer implements com.novelgames.flashgames.commonAS2.Timer { static var pauseTime; var delay, repeatCount, currentCount, listenerObject, listenerFunctionName, adjustedStartTime, usingDelay, intervalID; function NewTimer (delay, repeatCount) { if (repeatCount == undefined) { repeatCount = 0; } this.delay = delay; this.repeatCount = repeatCount; currentCount = 0; } static function getTimer() { if (paused) { return(pauseTime - totalPausedTime); } return(getTimer() - totalPausedTime); } static function pause() { if (paused) { return(undefined); } paused = true; pauseTime = getTimer(); } static function unpause() { if (!paused) { return(undefined); } paused = false; totalPausedTime = totalPausedTime + (getTimer() - pauseTime); } function addEventListener(type, listenerObject, listenerFunctionName) { if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) { return(undefined); } this.listenerObject = listenerObject; this.listenerFunctionName = listenerFunctionName; } function removeEventListener(type) { if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) { return(undefined); } listenerObject = null; listenerFunctionName = null; } function start() { adjustedStartTime = getTimer(); usingDelay = delay; clearInterval(intervalID); intervalID = setInterval(this, "timerEventListener", delay); } function stop() { clearInterval(intervalID); } function timerEventListener() { currentCount++; if (paused) { clearInterval(intervalID); usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1); currentCount--; intervalID = setInterval(this, "timerEventListener", usingDelay); return(undefined); } if ((getTimer() - adjustedStartTime) >= delay) { adjustedStartTime = getTimer(); if (usingDelay != delay) { clearInterval(intervalID); usingDelay = delay; intervalID = setInterval(this, "timerEventListener", usingDelay); } listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.TimerEvent()); if ((repeatCount != 0) && (currentCount >= repeatCount)) { clearInterval(intervalID); } } else { clearInterval(intervalID); usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1); currentCount--; intervalID = setInterval(this, "timerEventListener", usingDelay); } } static var paused = false; static var totalPausedTime = 0; }
Symbol 144 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent] Frame 0
class com.novelgames.flashgames.commonAS2.TimerEvent { function TimerEvent () { } function updateAfterEvent() { _global.updateAfterEvent(); } static var TIMER = "timer"; }
Symbol 145 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.GemBackground] Frame 0
class com.novelgames.flashgames.gems2AS2.GemBackground extends com.novelgames.flashgames.commonAS2.NewMovieClip { var finished, stop, gotoAndStop; function GemBackground () { super(); finished = false; (stop());// not popped } function setFinished() { finished = true; (gotoAndStop("finished"));// not popped } }
Symbol 146 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessageLevel] Frame 0
class com.novelgames.flashgames.gems2AS2.MessageLevel extends com.novelgames.flashgames.commonAS2.NewMovieClip { var levelText; function MessageLevel () { super(); levelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; } }
Symbol 147 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessagePlayAgain] Frame 0
class com.novelgames.flashgames.gems2AS2.MessagePlayAgain extends com.novelgames.flashgames.commonAS2.NewMovieClip { var playAgainButton, homeButton; function MessagePlayAgain () { super(); playAgainButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype; homeButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype; } }
Symbol 148 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewButton] Frame 0
class com.novelgames.flashgames.commonAS2.NewButton extends Button { var _x, _y, _xmouse, _ymouse, _visible, _alpha, _name, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside; function NewButton () { super(); } function set x(x) { _x = x; //return(this.x); } function get x() { return(_x); } function set y(y) { _y = y; //return(this.y); } function get y() { return(_y); } function set mouseX(mouseX) { _xmouse = mouseX; //return(this.mouseX); } function get mouseX() { return(_xmouse); } function set mouseY(mouseY) { _ymouse = mouseY; //return(this.mouseY); } function get mouseY() { return(_ymouse); } function set visible(visible) { _visible = visible; //return(this.visible); } function get visible() { return(_visible); } function set alpha(alpha) { _alpha = alpha * 100; //return(this.alpha); } function get alpha() { return(_alpha / 100); } function get name() { return(_name); } function addEventListener(type, listenerObject, listenerFunctionName) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = function () { listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this)); }; onReleaseOutside = onRelease; } } function removeEventListener(type) { switch (type) { case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK : onRelease = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER : onRollOver = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT : onRollOut = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN : onPress = null; break; case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP : onRelease = null; onReleaseOutside = null; } } }
Symbol 149 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions] Frame 0
class com.novelgames.flashgames.commonAS2.Instructions extends MovieClip { var startButton, shownFromGame, _parent; function Instructions () { super(); startButton.onRelease = function () { this._parent.startButtonClicked(); }; } function initialize(shownFromGame) { if (shownFromGame == undefined) { shownFromGame = false; } this.shownFromGame = shownFromGame; } function startButtonClicked() { if (!shownFromGame) { _parent.gotoGamePage(); } else { _parent.hideInstructionsFromGame(); } } }
Symbol 150 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Message] Frame 0
class com.novelgames.flashgames.gems2AS2.Message extends com.novelgames.flashgames.commonAS2.NewMovieClip { var stop, createMovie, messageLevel, addChild, gotoAndStop, messageLevelClear, messagePlayAgain, removeChild, __get__parent; function Message () { super(); (stop());// not popped } function showLevel(level) { var _local2; hide(); _local2 = createMovie("MessageLevel"); messageLevel = _local2; messageLevel.levelText.text = level.toString(); addChild(messageLevel); } function showNoMoreMoves() { hide(); (gotoAndStop("noMoreMoves"));// not popped } function showLevelClear() { var _local2; hide(); _local2 = createMovie("MessageLevelClear"); messageLevelClear = _local2; messageLevelClear.scoreText.text = com.novelgames.flashgames.gems2AS2.Config.SCOREPOPUP_PREFIX + com.novelgames.flashgames.gems2AS2.Config.SCORE_LEVEL; addChild(messageLevelClear); } function showGameOver() { hide(); (gotoAndStop("gameOver"));// not popped } function showPlayAgain() { var _local2; _local2 = createMovie("MessagePlayAgain"); messagePlayAgain = _local2; messagePlayAgain.playAgainButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "playAgainButtonClicked"); messagePlayAgain.homeButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "homeButtonClicked"); addChild(messagePlayAgain); } function hide() { if (messageLevel) { removeChild(messageLevel); messageLevel = null; } if (messageLevelClear) { removeChild(messageLevelClear); messageLevelClear = null; } (gotoAndStop("hide"));// not popped } function playAgainButtonClicked(mouseEvent) { Object(__get__parent().parent).gotoGamePage(); } function homeButtonClicked(mouseEvent) { Object(__get__parent().parent).gotoTitlePage(); } }
Symbol 151 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessageLevelClear] Frame 0
class com.novelgames.flashgames.gems2AS2.MessageLevelClear extends com.novelgames.flashgames.commonAS2.NewMovieClip { var scoreText; function MessageLevelClear () { super(); scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; } }
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton] Frame 0
class com.novelgames.flashgames.commonAS2.InstructionsButton extends com.novelgames.flashgames.commonAS2.NewMovieClip { var onRelease; function InstructionsButton () { super(); onRelease = function () { this._parent._parent.showInstructionsFromGame(); }; } }
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton] Frame 0
class com.novelgames.flashgames.commonAS2.MuteButton extends com.novelgames.flashgames.commonAS2.NewMovieClip { var gotoAndStop; function MuteButton () { super(); if (new Sound().getVolume() == 0) { showOff(); } else { showOn(); } } function onPress() { if (new Sound().getVolume() == 0) { new Sound().setVolume(100); showOn(); } else { new Sound().setVolume(0); showOff(); } } function showOff() { (gotoAndStop("off"));// not popped } function showOn() { (gotoAndStop("on"));// not popped } }
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.TimeDisplay] Frame 0
class com.novelgames.flashgames.gems2AS2.TimeDisplay extends com.novelgames.flashgames.commonAS2.NewMovieClip { var foregroundMask, radius, __get__width, __get__height; function TimeDisplay () { super(); foregroundMask.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; radius = Math.max(__get__width(), __get__height()); } function setTime(ratio) { foregroundMask.__get__graphics().clear(); foregroundMask.__get__graphics().beginFill(0); foregroundMask.__get__graphics().moveTo(0, -radius); if (ratio > 0.25) { foregroundMask.__get__graphics().lineTo(radius, 0); } if (ratio > 0.5) { foregroundMask.__get__graphics().lineTo(0, radius); } if (ratio > 0.75) { foregroundMask.__get__graphics().lineTo(-radius, 0); } foregroundMask.__get__graphics().lineTo(radius * Math.sin((Math.PI*2) * ratio), (-radius) * Math.cos((Math.PI*2) * ratio)); foregroundMask.__get__graphics().lineTo(0, 0); foregroundMask.__get__graphics().lineTo(0, -radius); foregroundMask.__get__graphics().endFill(); } }
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame] Frame 0
class com.novelgames.flashgames.commonAS2.CommonGame extends com.novelgames.flashgames.commonAS2.NewMovieClip { function CommonGame () { super(); } static function get gameStage() { return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage()); } function pause() { com.novelgames.flashgames.commonAS2.NewTimer.pause(); } function unpause() { com.novelgames.flashgames.commonAS2.NewTimer.unpause(); } }
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Game] Frame 0
class com.novelgames.flashgames.gems2AS2.Game extends com.novelgames.flashgames.commonAS2.CommonGame { var message, levelText, scoreText, timeDisplay, scoresHolder, highlight, clickDetector, gemsMask, gemsHolder, backgroundsHolder, soundGroup, createSound, soundClick, soundSwap, soundLevelClear, soundGameOver, __level, __score, levelTime, timer, dimensionY, dimensionX, backgrounds, gems, startTime, selectedX, selectedY, combo, swappingGems, startGemsTime, gemsTimer, destroyingGems, fallingGems, startNoMoreMovesTime, __get__parent; function Game () { super(); message.__proto__ = com.novelgames.flashgames.gems2AS2.Message.prototype; levelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype; timeDisplay.__proto__ = com.novelgames.flashgames.gems2AS2.TimeDisplay.prototype; scoresHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; highlight.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; clickDetector.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; gemsMask.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; gemsHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; backgroundsHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype; level = (1); score = (0); soundGroup = createSound("SoundGroup"); soundClick = createSound("SoundClick"); soundSwap = createSound("SoundSwap"); soundLevelClear = createSound("SoundLevelClear"); soundGameOver = createSound("SoundGameOver"); startLevel(1); } function set level(level) { __level = level; levelText.text = level.toString(); //return(this.level); } function get level() { return(__level); } function set score(score) { __score = score; scoreText.text = score.toString(); //return(this.score); } function get score() { return(__score); } function startLevel(level) { this.level = (level); levelTime = com.novelgames.flashgames.gems2AS2.Config.LEVEL_INITIALTIME - ((level - 1) * com.novelgames.flashgames.gems2AS2.Config.LEVEL_TIMEDECREASE); createBackgrounds(); initializeGems(); message.showLevel(level); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.gems2AS2.Config.MESSAGE_LEVELTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "generateInitialGems"); timer.start(); } function createBackgrounds() { var _local5 = com.novelgames.flashgames.gems2AS2.Config.LEVEL_INFOS[(level - 1) % com.novelgames.flashgames.gems2AS2.Config.LEVEL_INFOS.length]; var _local4; var _local2; var _local3; var _local6; dimensionY = _local5.length; dimensionX = 0; _local2 = 0; while (_local2 < _local5.length) { if (_local5[_local2].length > dimensionX) { dimensionX = _local5[_local2].length; } _local2++; } backgrounds = new Array(); _local2 = 0; while (_local2 < dimensionX) { backgrounds[_local2] = new Array(); _local3 = 0; while (_local3 < dimensionY) { if (_local5[_local3].charAt(_local2) == " ") { backgrounds[_local2][_local3] = null; } else { _local6 = backgroundsHolder.createMovie("GemBackground"); _local4 = _local6; _local4.__set__x(_local2 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); _local4.__set__y(_local3 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); backgroundsHolder.addChild(_local4); backgrounds[_local2][_local3] = _local4; } _local3++; } _local2++; } backgroundsHolder.__set__x(((com.novelgames.flashgames.gems2AS2.Config.GEMS_LEFT + com.novelgames.flashgames.gems2AS2.Config.GEMS_RIGHT) - backgroundsHolder.__get__width()) / 2); backgroundsHolder.__set__y(((com.novelgames.flashgames.gems2AS2.Config.GEMS_TOP + com.novelgames.flashgames.gems2AS2.Config.GEMS_BOTTOM) - backgroundsHolder.__get__height()) / 2); } function initializeGems() { var _local3; var _local2; var _local4; var _local6; var _local5; gemsHolder.__set__x(backgroundsHolder.x); gemsHolder.__set__y(backgroundsHolder.y); gemsMask.__set__x(backgroundsHolder.x); gemsMask.__set__y(backgroundsHolder.y); clickDetector.__set__x(backgroundsHolder.x); clickDetector.__set__y(backgroundsHolder.y); scoresHolder.__set__x(backgroundsHolder.x); scoresHolder.__set__y(backgroundsHolder.y); gemsMask.__get__graphics().clear(); gemsMask.__get__graphics().beginFill(0); clickDetector.__get__graphics().clear(); clickDetector.__get__graphics().beginFill(0, 0); _local4 = com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; _local6 = 0; while (_local6 < backgrounds.length) { _local5 = 0; while (_local5 < backgrounds[_local6].length) { if (!backgrounds[_local6][_local5]) { } else { _local3 = _local6 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; _local2 = _local5 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; gemsMask.__get__graphics().moveTo(_local3, _local2); gemsMask.__get__graphics().lineTo(_local3 + _local4, _local2); gemsMask.__get__graphics().lineTo(_local3 + _local4, _local2 + _local4); gemsMask.__get__graphics().lineTo(_local3, _local2 + _local4); gemsMask.__get__graphics().lineTo(_local3, _local2); clickDetector.__get__graphics().moveTo(_local3, _local2); clickDetector.__get__graphics().lineTo(_local3 + _local4, _local2); clickDetector.__get__graphics().lineTo(_local3 + _local4, _local2 + _local4); clickDetector.__get__graphics().lineTo(_local3, _local2 + _local4); clickDetector.__get__graphics().lineTo(_local3, _local2); } _local5++; } _local6++; } } function generateInitialGems(timerEvent) { var _local4; var _local3; var _local2; var _local5; message.hide(); gems = new Array(); _local3 = 0; while (_local3 < backgrounds.length) { gems[_local3] = new Array(); _local2 = 0; while (_local2 < backgrounds[_local3].length) { if (backgrounds[_local3][_local2] == null) { gems[_local3][_local2] = null; } else { _local5 = gemsHolder.createMovie("Gem"); _local4 = _local5; _local4.initialize(_local3, _local2, dimensionY); gems[_local3][_local2] = _local4; gemsHolder.addChild(_local4); } _local2++; } _local3++; } generateInitialGemTypes(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onInitialGemTime"); timer.start(); } function generateInitialGemTypes() { var _local4; var _local2; var _local3; if (true) { _local2 = 0; while (_local2 < gems.length) { _local3 = 0; while (_local3 < gems[_local2].length) { if (!gems[_local2][_local3]) { } else { gems[_local2][_local3].setType(Math.floor(Math.random() * com.novelgames.flashgames.gems2AS2.Config.GEMS_TYPES)); } _local3++; } _local2++; } while (true) { _local4 = getFormedGroups(); if (_local4.length == 0) { break; } _local2 = 0; while (_local2 < _local4.length) { _local3 = 0; while (_local3 < _local4[_local2].length) { _local4[_local2][_local3].setType(Math.floor(Math.random() * com.novelgames.flashgames.gems2AS2.Config.GEMS_TYPES)); _local3++; } _local2++; } } if (!getHasMoves()) { // unexpected jump } } } function getFormedGroups() { var _local5 = new Array(); var _local3; var _local4; var _local2; _local4 = 0; while (_local4 < dimensionX) { _local2 = 0; while (_local2 < ((dimensionY - com.novelgames.flashgames.gems2AS2.Config.GROUPSIZE) + 1)) { if (!gems[_local4][_local2]) { } else { _local3 = getGroup(_local4, _local2, 0, 1); if (_local3 == null) { } else { _local5.push(_local3); _local2 = _local2 + (_local3.length - 1); } } _local2++; } _local4++; } _local4 = 0; while (_local4 < dimensionY) { _local2 = 0; while (_local2 < ((dimensionX - com.novelgames.flashgames.gems2AS2.Config.GROUPSIZE) + 1)) { if (!gems[_local2][_local4]) { } else { _local3 = getGroup(_local2, _local4, 1, 0); if (_local3 == null) { } else { _local5.push(_local3); _local2 = _local2 + (_local3.length - 1); } } _local2++; } _local4++; } return(_local5); } function getGroup(x, y, stepX, stepY) { var _local4 = [gems[x][y]]; var _local5 = gems[x][y].type; x = x + stepX; y = y + stepY; while (((((x >= 0) && (y >= 0)) && (x < dimensionX)) && (y < dimensionY)) && (gems[x][y] != null)) { if (gems[x][y].type != _local5) { break; } _local4.push(gems[x][y]); x = x + stepX; y = y + stepY; } if (_local4.length < com.novelgames.flashgames.gems2AS2.Config.GROUPSIZE) { return(null); } return(_local4); } function getHasMoves() { var _local4; var _local3; var _local2; _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!gems[_local3][_local2]) { } else { if ((_local3 < (dimensionX - 1)) && (gems[_local3 + 1][_local2])) { swapGems(_local3, _local2, _local3 + 1, _local2); _local4 = getFormedGroups(); swapGems(_local3, _local2, _local3 + 1, _local2); if (_local4.length > 0) { return(true); } } if ((_local2 < (dimensionY - 1)) && (gems[_local3][_local2 + 1])) { swapGems(_local3, _local2, _local3, _local2 + 1); _local4 = getFormedGroups(); swapGems(_local3, _local2, _local3, _local2 + 1); if (_local4.length > 0) { return(true); } } } _local2++; } _local3++; } return(false); } function swapGems(x1, y1, x2, y2) { var _local6 = gems[x1][y1]; gems[x1][y1] = gems[x2][y2]; gems[x2][y2] = _local6; gems[x1][y1].indexX = x1; gems[x1][y1].indexY = y1; gems[x2][y2].indexX = x2; gems[x2][y2].indexY = y2; } function onInitialGemTime(timerEvent) { timerEvent.updateAfterEvent(); if (!doMoveInitialGems(startTime)) { return(undefined); } timer.stop(); startPlay(); } function doMoveInitialGems(startTime) { var _local7 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local6 = _local7 - startTime; var _local4 = ((com.novelgames.flashgames.gems2AS2.Config.GEMS_ACCELERATION * _local6) * _local6) / 2000000; var _local5 = dimensionY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; var _local3; var _local2; if (_local4 > _local5) { _local4 = _local5; } _local3 = 0; while (_local3 < gems.length) { _local2 = 0; while (_local2 < gems[_local3].length) { if (gems[_local3][_local2] == null) { } else { gems[_local3][_local2].y = (((_local2 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)) - _local5) + _local4; } _local2++; } _local3++; } if (_local4 >= _local5) { return(true); } return(false); } function startPlay() { timeDisplay.setTime(1); selectedX = -1; selectedY = -1; combo = 0; setControl(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onPlayTime"); timer.start(); } function onPlayTime(timerEvent) { var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local2 = 1 - ((_local3 - startTime) / levelTime); if (_local2 < 0) { _local2 = 0; } timerEvent.updateAfterEvent(); timeDisplay.setTime(_local2); if (_local2 <= 0) { gameOver(); } } function setControl() { clickDetector.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN, this, "onGemMouseDown"); clickDetector.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP, this, "onGemMouseUp"); clickDetector.__set__buttonMode(true); } function unsetControl() { clickDetector.removeEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN); clickDetector.removeEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP); clickDetector.__set__buttonMode(false); } function onGemMouseDown(mouseEvent) { var _local3 = Math.floor(gemsHolder.__get__mouseX() / com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); var _local2 = Math.floor(gemsHolder.__get__mouseY() / com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); if (((selectedX == -1) || (selectedY == -1)) || (!getAreAdjacent(selectedX, selectedY, _local3, _local2))) { selectedX = _local3; selectedY = _local2; highlight.__set__x(gemsHolder.__get__x() + (_local3 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE)); highlight.__set__y(gemsHolder.__get__y() + (_local2 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE)); highlight.__set__visible(true); soundClick.play(); } else { startSwapGems(selectedX, selectedY, _local3, _local2); soundSwap.play(); } } function onGemMouseUp(mouseEvent) { var _local3 = Math.floor(gemsHolder.__get__mouseX() / com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); var _local2 = Math.floor(gemsHolder.__get__mouseY() / com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); if ((selectedX == -1) || (selectedY == -1)) { return(undefined); } if (!getAreAdjacent(selectedX, selectedY, _local3, _local2)) { return(undefined); } startSwapGems(selectedX, selectedY, _local3, _local2); soundSwap.play(); } function getAreAdjacent(x1, y1, x2, y2) { if (x1 == x2) { return(Math.abs(y1 - y2) == 1); } if (y1 == y2) { return(Math.abs(x1 - x2) == 1); } return(false); } function startSwapGems(x1, y1, x2, y2) { unsetControl(); selectedX = -1; selectedY = -1; highlight.__set__visible(false); swappingGems = [gems[x1][y1], gems[x2][y2]]; startGemsTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onSwapGemsTime"); gemsTimer.start(); } function onSwapGemsTime(timerEvent) { timerEvent.updateAfterEvent(); if (!doSwapGems()) { return(undefined); } combo = 0; gemsTimer.stop(); if (!checkDestroy()) { soundSwap.play(); startUnswapGems(); } } function doSwapGems() { var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local4 = (_local5 - startGemsTime) / com.novelgames.flashgames.gems2AS2.Config.GEMS_SWAPTIME; var _local3; var _local2; if (_local4 > 1) { _local4 = 1; } _local3 = _local4 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; _local2 = 0; while (_local2 < 2) { swappingGems[_local2].x = ((swappingGems[_local2].indexX * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)) + (_local3 * (swappingGems[1 - _local2].indexX - swappingGems[_local2].indexX)); swappingGems[_local2].y = ((swappingGems[_local2].indexY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)) + (_local3 * (swappingGems[1 - _local2].indexY - swappingGems[_local2].indexY)); _local2++; } if (_local4 < 1) { return(false); } swapGems(swappingGems[0].indexX, swappingGems[0].indexY, swappingGems[1].indexX, swappingGems[1].indexY); return(true); } function startUnswapGems() { startGemsTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onUnswapGemsTime"); gemsTimer.start(); } function onUnswapGemsTime(timerEvent) { timerEvent.updateAfterEvent(); if (!doSwapGems()) { return(undefined); } gemsTimer.stop(); setControl(); } function checkDestroy() { var _local4 = getFormedGroups(); var _local9; var _local8; var _local6; var _local7; var _local5; var _local2; var _local3; if (_local4.length == 0) { return(false); } _local8 = dimensionX * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; _local7 = dimensionY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE; _local6 = 0; _local5 = 0; _local9 = com.novelgames.flashgames.gems2AS2.Config.SCORE_GROUP * _local4.length; _local9 = _local9 + (com.novelgames.flashgames.gems2AS2.Config.SCORE_EXTRAGROUP * (_local4.length - 1)); destroyingGems = new Array(); _local2 = 0; while (_local2 < _local4.length) { if (_local4[_local2].length > com.novelgames.flashgames.gems2AS2.Config.GROUPSIZE) { _local9 = _local9 + ((_local4[_local2].length - com.novelgames.flashgames.gems2AS2.Config.GROUPSIZE) * com.novelgames.flashgames.gems2AS2.Config.SCORE_EXTRAGEM); } _local3 = 0; while (_local3 < _local4[_local2].length) { if (getIndexInArray(destroyingGems, _local4[_local2][_local3]) != -1) { } else { destroyingGems.push(_local4[_local2][_local3]); backgrounds[_local4[_local2][_local3].indexX][_local4[_local2][_local3].indexY].setFinished(); if (_local4[_local2][_local3].x < _local8) { _local8 = _local4[_local2][_local3].x; } if (_local4[_local2][_local3].y < _local7) { _local7 = _local4[_local2][_local3].y; } if (_local4[_local2][_local3].x > _local6) { _local6 = _local4[_local2][_local3].x; } if (_local4[_local2][_local3].y > _local5) { _local5 = _local4[_local2][_local3].y; } } _local3++; } _local2++; } _local9 = _local9 + (com.novelgames.flashgames.gems2AS2.Config.SCORE_COMBO * combo); score = score + _local9; createScorePopup((_local8 + _local6) / 2, (_local7 + _local5) / 2, _local9, combo); combo++; soundGroup.play(); startGemsTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onDestroyTime"); gemsTimer.start(); return(true); } function getIndexInArray(theArray, thing) { var _local1; _local1 = 0; while (_local1 < theArray.length) { if (theArray[_local1] == thing) { return(_local1); } _local1++; } return(-1); } function createScorePopup(x, y, score, combo) { var _local3 = scoresHolder.createMovie("ScorePopup"); var _local2 = _local3; _local2.initialize(x, y, score, combo); scoresHolder.addChild(_local2); } function onDestroyTime(timerEvent) { var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local3 = (_local4 - startGemsTime) / com.novelgames.flashgames.gems2AS2.Config.GEMS_DESTROYTIME; var _local2; if (_local3 > 1) { _local3 = 1; } timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < destroyingGems.length) { destroyingGems[_local2].scaleX = 1 - _local3; destroyingGems[_local2].scaleY = 1 - _local3; destroyingGems[_local2].rotation = _local3 * com.novelgames.flashgames.gems2AS2.Config.GEMS_DESTROYROTATE; _local2++; } if (_local3 >= 1) { gemsTimer.stop(); finishedDestroy(); } } function finishedDestroy() { var _local4; var _local3; var _local2; _local2 = 0; while (_local2 < destroyingGems.length) { _local4 = destroyingGems[_local2].indexX; _local3 = destroyingGems[_local2].indexY; gems[_local4][_local3] = null; gemsHolder.removeChild(destroyingGems[_local2]); _local2++; } createNewGems(); startGemsTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onFallTime"); gemsTimer.start(); } function createNewGems() { var _local4; var _local5; var _local3; var _local2; var _local6; var _local7; fallingGems = new Array(); _local3 = 0; while (_local3 < dimensionX) { _local4 = 0; _local2 = dimensionY - 1; while (_local2 >= -1) { if ((_local2 == -1) || (!backgrounds[_local3][_local2])) { if (_local4 > 0) { _local6 = 0; while (_local6 < _local4) { _local7 = gemsHolder.createMovie("Gem"); _local5 = _local7; _local5.initialize(_local3, (_local2 + _local4) - _local6, _local4 - _local6); _local5.setRandomType(); _local5.startFallY = ((_local2 - _local6) * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2); _local5.endFallY = (((_local2 + _local4) - _local6) * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2); gemsHolder.addChild(_local5); fallingGems.push(_local5); _local6++; } _local4 = 0; } } else if (!gems[_local3][_local2]) { _local4++; } else if (_local4 > 0) { gems[_local3][_local2].indexY = gems[_local3][_local2].indexY + _local4; gems[_local3][_local2].startFallY = gems[_local3][_local2].y; gems[_local3][_local2].endFallY = (gems[_local3][_local2].indexY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2); fallingGems.push(gems[_local3][_local2]); gems[_local3][_local2] = null; } _local2--; } _local3++; } } function onFallTime(timerEvent) { var _local6 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local5 = _local6 - startGemsTime; var _local4 = ((com.novelgames.flashgames.gems2AS2.Config.GEMS_ACCELERATION * _local5) * _local5) / 2000000; var _local3; var _local2; timerEvent.updateAfterEvent(); _local2 = 0; while (_local2 < fallingGems.length) { _local3 = fallingGems[_local2].startFallY + _local4; if (_local3 < fallingGems[_local2].y) { } else if (_local3 < fallingGems[_local2].endFallY) { fallingGems[_local2].y = _local3; } else { fallingGems[_local2].y = fallingGems[_local2].endFallY; gems[fallingGems[_local2].indexX][fallingGems[_local2].indexY] = fallingGems[_local2]; fallingGems.splice(_local2, 1); _local2--; } _local2++; } if (fallingGems.length == 0) { gemsTimer.stop(); if (!checkDestroy()) { if (!checkWin()) { if (!checkNoMoreMoves()) { setControl(); } } } } } function checkNoMoreMoves() { if (getHasMoves()) { return(false); } timer.stop(); message.showNoMoreMoves(); startNoMoreMovesTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); startGemsTime = startNoMoreMovesTime; gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onNoMoreMovesTime"); gemsTimer.start(); return(true); } function onNoMoreMovesTime(timerEvent) { var _local6 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local5 = _local6 - startGemsTime; var _local4 = ((com.novelgames.flashgames.gems2AS2.Config.GEMS_ACCELERATION * _local5) * _local5) / 2000000; var _local3; var _local2; timerEvent.updateAfterEvent(); _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!gems[_local3][_local2]) { } else { gems[_local3][_local2].y = ((_local2 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)) + _local4; } _local2++; } _local3++; } if (_local4 < (dimensionY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE)) { return(undefined); } gemsTimer.stop(); message.hide(); generateInitialGemTypes(); _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!gems[_local3][_local2]) { } else { gems[_local3][_local2].y = ((_local2 * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)) - (dimensionY * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE); } _local2++; } _local3++; } startGemsTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); gemsTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); gemsTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onNoMoreMovesGemTime"); gemsTimer.start(); } function onNoMoreMovesGemTime(timerEvent) { timerEvent.updateAfterEvent(); if (!doMoveInitialGems(startGemsTime)) { return(undefined); } gemsTimer.stop(); startTime = startTime + (com.novelgames.flashgames.commonAS2.NewTimer.getTimer() - startNoMoreMovesTime); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onPlayTime"); timer.start(); setControl(); } function checkWin() { var _local3; var _local2; _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!backgrounds[_local3][_local2]) { } else if (!backgrounds[_local3][_local2].finished) { return(false); } _local2++; } _local3++; } score = score + com.novelgames.flashgames.gems2AS2.Config.SCORE_LEVEL; message.showLevelClear(); timeDisplay.setTime(1); soundLevelClear.play(); timer.stop(); startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onLevelClearTime"); timer.start(); return(true); } function onLevelClearTime(timerEvent) { var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer(); var _local4 = (_local5 - startTime) / com.novelgames.flashgames.gems2AS2.Config.GEMS_DESTROYTIME; var _local3; var _local2; if (_local4 > 1) { _local4 = 1; } timerEvent.updateAfterEvent(); _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!gems[_local3][_local2]) { } else { gems[_local3][_local2].scaleX = 1 - _local4; gems[_local3][_local2].scaleY = 1 - _local4; gems[_local3][_local2].rotation = _local4 * com.novelgames.flashgames.gems2AS2.Config.GEMS_DESTROYROTATE; } _local2++; } _local3++; } if (_local4 >= 1) { timer.stop(); _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!gems[_local3][_local2]) { } else { gemsHolder.removeChild(gems[_local3][_local2]); } _local2++; } _local3++; } timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.gems2AS2.Config.MESSAGE_LEVELCLEARTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "startNextLevel"); timer.start(); } } function startNextLevel(timerEvent) { if (showAds) { return(undefined); } showAds = true; trace("==============="); var b = this; MochiAd.showInterLevelAd({id:"955cbc2701074209", res:"600x400", ad_finished:function () { b.startNextLevel2(timerEvent); b.showAds = false; trace("inter-ads"); }}); } function startNextLevel2(timerEvent) { var _local3; var _local2; _local3 = 0; while (_local3 < dimensionX) { _local2 = 0; while (_local2 < dimensionY) { if (!backgrounds[_local3][_local2]) { } else { backgroundsHolder.removeChild(backgrounds[_local3][_local2]); } _local2++; } _local3++; } startLevel(level + 1); } function gameOver() { timer.stop(); gemsTimer.stop(); unsetControl(); message.showGameOver(); soundGameOver.play(); timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.gems2AS2.Config.MESSAGE_GAMEOVERTIME, 1); timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "showPlayAgain"); timer.start(); } function showPlayAgain(timerEvent) { Object(__get__parent()).showEnterHighScore(score); message.showPlayAgain(); } var showAds = false; }
Symbol 157 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Gem] Frame 0
class com.novelgames.flashgames.gems2AS2.Gem extends com.novelgames.flashgames.commonAS2.NewMovieClip { var indexX, indexY, __set__x, __set__y, cacheAsBitmap, type, gotoAndStop; function Gem () { super(); } function initialize(x, y, offsetY) { indexX = x; indexY = y; __set__x((x * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)); __set__y(((y - offsetY) * com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE) + (com.novelgames.flashgames.gems2AS2.Config.BLOCKSIZE / 2)); cacheAsBitmap = true; } function setType(type) { this.type = type; (gotoAndStop(type + 1));// not popped } function setRandomType() { setType(Math.floor(Math.random() * com.novelgames.flashgames.gems2AS2.Config.GEMS_TYPES)); } }
Symbol 158 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd { function MochiAd () { } static function getVersion() { return("2.1"); } static function showPreGameAd(options) { var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }}; options = _parseOptions(options, _local27); var clip = options.clip; var _local23 = 11000; var _local26 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local14 = _getRes(options); var _local4 = _local14[0]; var _local13 = _local14[1]; mc._x = _local4 * 0.5; mc._y = _local13 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk._x = _local4 * -0.5; chk._y = _local13 * -0.5; var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4); _local7._x = 10; _local7._y = _local13 - 20; var _local22 = options.color; delete options.color; var _local19 = options.background; delete options.background; var _local24 = options.outline; delete options.outline; var _local5 = _local7.createEmptyMovieClip("_outline", 1); _local5.beginFill(_local19); _local5.moveTo(0, 0); _local5.lineTo(_local4 - 20, 0); _local5.lineTo(_local4 - 20, 10); _local5.lineTo(0, 10); _local5.lineTo(0, 0); _local5.endFill(); var _local3 = _local7.createEmptyMovieClip("_inside", 2); _local3.beginFill(_local22); _local3.moveTo(0, 0); _local3.lineTo(_local4 - 20, 0); _local3.lineTo(_local4 - 20, 10); _local3.lineTo(0, 10); _local3.lineTo(0, 0); _local3.endFill(); _local3._xscale = 0; var _local6 = _local7.createEmptyMovieClip("_outline", 3); _local6.lineStyle(0, _local24, 100); _local6.moveTo(0, 0); _local6.lineTo(_local4 - 20, 0); _local6.lineTo(_local4 - 20, 10); _local6.lineTo(0, 10); _local6.lineTo(0, 0); chk.ad_msec = _local23; chk.ad_timeout = _local26; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = function (width, height) { }; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec; }; chk.onEnterFrame = function () { var _local6 = this._parent._parent; var _local12 = this._parent._mochiad_ctr; var _local5 = getTimer() - this.started; var _local3 = false; var _local4 = _local6.getBytesTotal(); var _local8 = _local6.getBytesLoaded(); var _local10 = (100 * _local8) / _local4; var _local11 = (100 * _local5) / chk.ad_msec; var _local9 = this._mochiad_bar._inside; var _local2 = Math.min(100, Math.min(_local10 || 0, _local11)); _local2 = Math.max(this.last_pcnt, _local2); this.last_pcnt = _local2; _local9._xscale = _local2; if (!chk.showing) { var _local7 = _local12.getBytesTotal(); if ((_local7 > 0) || (typeof(_local7) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local5 > chk.ad_timeout) { _local3 = true; } } if (_local5 > chk.ad_msec) { _local3 = true; } if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; } } }; } static function showInterLevelAd(options) { var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:10, regpt:"o", method:"showTimedAd", ad_started:function () { this.clip.stop(); }, ad_finished:function () { this.clip.play(); }}; options = _parseOptions(options, _local13); var clip = options.clip; var _local10 = 11000; var _local12 = options.ad_timeout; delete options.ad_timeout; var fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!load(options)) { options.ad_finished(); return(undefined); } options.ad_started(); var mc = clip._mochiad; mc.onUnload = function () { options.ad_finished(); }; var _local5 = _getRes(options); var _local14 = _local5[0]; var _local11 = _local5[1]; mc._x = _local14 * 0.5; mc._y = _local11 * 0.5; var chk = mc.createEmptyMovieClip("_mochiad_wait", 3); chk.ad_msec = _local10; chk.ad_timeout = _local12; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function () { var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)); if (_local2 > 0) { this._parent._alpha = _local2; } else { var _local3 = this._parent._parent; MochiAd.unload(_local3); delete this.onEnterFrame; } }; mc.lc.adLoaded = function (width, height) { }; mc.lc.adjustProgress = function (msec) { var _local2 = this.mc._mochiad_wait; _local2.server_control = true; _local2.started = getTimer(); _local2.ad_msec = msec - 250; }; chk.onEnterFrame = function () { var _local5 = this._parent._mochiad_ctr; var _local4 = getTimer() - this.started; var _local2 = false; if (!chk.showing) { var _local3 = _local5.getBytesTotal(); if ((_local3 > 0) || (typeof(_local3) == "undefined")) { chk.showing = true; chk.started = getTimer(); } else if (_local4 > chk.ad_timeout) { _local2 = true; } } if (_local4 > chk.ad_msec) { _local2 = true; } if (_local2) { if (this.server_control) { delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; } } }; } static function showTimedAd(options) { showInterLevelAd(options); } static function showPreloaderAd(options) { showPreGameAd(options); } static function _allowDomains(server) { var _local1 = server.split("/")[2].split(":")[0]; if (System.security) { if (System.security.allowDomain) { System.security.allowDomain("*"); System.security.allowDomain(_local1); } if (System.security.allowInsecureDomain) { System.security.allowInsecureDomain("*"); System.security.allowInsecureDomain(_local1); } } return(_local1); } static function _loadCommunicator(options) { var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"}; options = _parseOptions(options, _local26); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local18 = options.clip; var _local20 = "_mochiad_com_" + options.id; if (!_isNetworkAvailable()) { return(null); } if (_local18[_local20]) { return(_local18[_local20].lc); } var _local21 = options.com_server + options.id; _allowDomains(_local21); delete options.id; delete options.com_server; var _local25 = options.depth; delete options.depth; var _local17 = _local18.createEmptyMovieClip(_local20, _local25); var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1); for (var _local15 in options) { _local11[_local15] = options[_local15]; } var _local6 = new LocalConnection(); var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local6.mc = _local17; _local6.name = _local16; _local6.allowDomain = function (d) { return(true); }; _local6.allowInsecureDomain = _local6.allowDomain; _local6.connect(_local16); _local17.lc = _local6; _local11.lc = _local16; _local6._id = 0; _local6._queue = []; _local6.rpcResult = function (cb_arg) { var _local8 = parseInt(cb_arg); var _local4 = this._callbacks[_local8]; if (!_local4) { return(undefined); } delete this._callbacks[_local8]; var _local5 = []; var _local3 = 2; while (_local3 < _local4.length) { _local5.push(_local4[_local3]); _local3++; } _local3 = 1; while (_local3 < arguments.length) { _local5.push(arguments[_local3]); _local3++; } var _local6 = _local4[1]; var _local7 = _local4[0]; if (_local7 && (typeof(_local6) == "string")) { _local6 = _local7[_local6]; } if (_local6) { _local6.apply(_local7, _local5); } }; _local6._didConnect = function (endpoint) { this._endpoint = endpoint; var _local4 = this._queue; delete this._queue; var _local5 = this.doSend; var _local2 = 0; while (_local2 < _local4.length) { var _local3 = _local4[_local2]; _local5.apply(this, _local3); _local2++; } }; _local6.doSend = function (args, cbobj, cbfn) { if (this._endpoint == null) { var _local4 = []; var _local3 = 0; while (_local3 < arguments.length) { _local4.push(arguments[_local3]); _local3++; } this._queue.push(_local4); return(undefined); } this._id = this._id + 1; var _local5 = this._id; if ((cbfn === undefined) || (cbfn === null)) { cbfn = cbobj; } this._callbacks[_local5] = [cbobj, cbfn]; var _local7 = new LocalConnection(); var _local9 = _local7.send(this._endpoint, "rpc", _local5, args); }; _local6._callbacks = {}; _local6._callbacks[0] = [_local6, "_didConnect"]; _local11.st = getTimer(); _local11.loadMovie(_local21 + ".swf", "POST"); return(_local6); } static function fetchHighScores(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["fetchHighScores", options]; _local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod); return(true); } static function sendHighScore(options, callbackObj, callbackMethod) { var _local1 = _loadCommunicator({id:options.id}); if (!_local1) { return(false); } var _local4 = ["sendHighScore", options]; _local1.doSend(["sendHighScore", options], callbackObj, callbackMethod); return(true); } static function load(options) { var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = _parseOptions(options, _local13); options.swfv = options.clip.getSWFVersion() || 6; options.mav = getVersion(); var _local9 = options.clip; if (!_isNetworkAvailable()) { return(null); } if (_local9._mochiad_loaded) { return(null); } var _local12 = options.depth; delete options.depth; var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12); var _local11 = _getRes(options); options.res = (_local11[0] + "x") + _local11[1]; options.server = options.server + options.id; delete options.id; _local9._mochiad_loaded = true; var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1); for (var _local7 in options) { _local4[_local7] = options[_local7]; } var _local10 = _local4.server; delete _local4.server; var _local14 = _allowDomains(_local10); _local6.onEnterFrame = function () { if (this._mochiad_ctr._url != this._url) { this.onEnterFrame = function () { if (!this._mochiad_ctr) { delete this.onEnterFrame; MochiAd.unload(this._parent); } }; } }; var _local5 = new LocalConnection(); var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_"); _local5.mc = _local6; _local5.name = _local8; _local5.hostname = _local14; _local5.allowDomain = function (d) { return(true); }; _local5.allowInsecureDomain = _local5.allowDomain; _local5.connect(_local8); _local6.lc = _local5; _local4.lc = _local8; _local4.st = getTimer(); _local4.loadMovie(_local10 + ".swf", "POST"); return(_local6); } static function unload(clip) { if (typeof(clip) == "undefined") { clip = _root; } if (clip.clip && (clip.clip._mochiad)) { clip = clip.clip; } if (!clip._mochiad) { return(false); } clip._mochiad.removeMovieClip(); delete clip._mochiad_loaded; delete clip._mochiad; return(true); } static function _isNetworkAvailable() { if (System.security) { var _local1 = System.security; if (_local1.sandboxType == "localWithFile") { return(false); } } return(true); } static function _getRes(options) { var _local3 = options.clip.getBounds(); var _local2 = 0; var _local1 = 0; if (typeof(options.res) != "undefined") { var _local4 = options.res.split("x"); _local2 = parseFloat(_local4[0]); _local1 = parseFloat(_local4[1]); } else { _local2 = _local3.xMax - _local3.xMin; _local1 = _local3.yMax - _local3.yMin; } if ((_local2 == 0) || (_local1 == 0)) { _local2 = Stage.width; _local1 = Stage.height; } return([_local2, _local1]); } static function _parseOptions(options, defaults) { var _local4 = {}; for (var _local8 in defaults) { _local4[_local8] = defaults[_local8]; } if (options) { for (var _local8 in options) { _local4[_local8] = options[_local8]; } } if (_root.mochiad_options) { var _local5 = _root.mochiad_options.split("&"); var _local2 = 0; while (_local2 < _local5.length) { var _local3 = _local5[_local2].split("="); _local4[unescape(_local3[0])] = unescape(_local3[1]); _local2++; } } return(_local4); } }
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title] Frame 0
class com.novelgames.flashgames.commonAS2.Title extends MovieClip { var startButton, highScoresButton, moreGamesButton, _parent, getURL; function Title () { super(); startButton.onRelease = function () { this._parent.startButtonClicked(); }; highScoresButton.onRelease = function () { this._parent.highScoresButtonClicked(); }; moreGamesButton.onRelease = function () { this._parent.moreGamesButtonClicked(); }; } function startButtonClicked() { _parent.gotoInstructionsPage(); } function highScoresButtonClicked() { _parent.showHighScores(); } function moreGamesButtonClicked() { (getURL("http://www.novelgames.com", "_blank"));// not popped } }
Symbol 160 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment] Frame 0
class com.novelgames.flashgames.commonAS2.MainDevelopment extends MovieClip { var title, attachMovie, titleDepth, instructions, game, musicGame, getNextHighestDepth, onEnterFrame, stop; function MainDevelopment () { super(); } static function initialize(movieClip) { movieClip.__proto__ = com.novelgames.flashgames.commonAS2.MainDevelopment.prototype; movieClip.onEnterFrame = movieClip.checkTitle; } function gotoTitlePage() { removePage(); title = com.novelgames.flashgames.commonAS2.Title(attachMovie("Title", "title", titleDepth)); } function gotoInstructionsPage() { removePage(); instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", titleDepth)); instructions.initialize(); } function gotoGamePage() { removePage(); game = attachMovie("Game", "game", titleDepth); musicGame = new com.novelgames.flashgames.commonAS2.NewSound(this, "musicGame"); musicGame.start(0, 2147483647); } function showInstructionsFromGame() { game.pause(); game._visible = false; instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", getNextHighestDepth())); instructions.swapDepths(titleDepth); instructions.initialize(true); } function hideInstructionsFromGame() { instructions.swapDepths(game.getDepth()); instructions.removeMovieClip(); instructions = null; game._visible = true; game.unpause(); } function showHighScores() { trace("showHighScores()"); } function showEnterHighScore(score) { mochi.MochiScores.showLeaderboard({boardID:"749d8dee0cacbcce", score:score, onClose:function () { }}); } function checkTitle() { if (!title) { return(undefined); } onEnterFrame = null; (stop());// not popped titleDepth = title.getDepth(); } function removePage() { if (title) { title.removeMovieClip(); title = null; } if (instructions) { instructions.removeMovieClip(); instructions = null; } if (game) { game.removeMovieClip(); game = null; } if (musicGame) { musicGame.stop(); musicGame = null; } } }
Symbol 126 MovieClip Frame 1
Symbol 126 MovieClip Frame 137
_root.gotoAndStop("splash2");

Library Items

Symbol 1 Sound [soundSwap]
Symbol 2 Sound [soundLevelClear]
Symbol 3 Sound [soundGroup]
Symbol 4 Sound [soundGameOver]
Symbol 5 Sound [soundClick]
Symbol 6 Sound [musicGame]
Symbol 7 FontUsed by:8 10 11 12 19 21 23 27 33 36 38 41 45 63 64 65 67 87 89 91 94
Symbol 8 EditableTextUses:7Used by:9
Symbol 9 MovieClip [scorePopupText]Uses:8Used by:13
Symbol 10 EditableTextUses:7Used by:13
Symbol 11 TextUses:7Used by:13
Symbol 12 TextUses:7Used by:13
Symbol 13 MovieClip [ScorePopup]Uses:9 10 11 12
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14Used by:18
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:18
Symbol 18 MovieClip [GemBackground]Uses:15 17
Symbol 19 TextUses:7Used by:20
Symbol 20 MovieClipUses:19Used by:22
Symbol 21 EditableTextUses:7Used by:22
Symbol 22 MovieClip [MessageLevel]Uses:20 21
Symbol 23 TextUses:7Used by:24
Symbol 24 MovieClipUses:23Used by:26
Symbol 25 GraphicUsed by:26 29 103
Symbol 26 ButtonUses:24 25Used by:30
Symbol 27 TextUses:7Used by:28
Symbol 28 MovieClipUses:27Used by:29
Symbol 29 ButtonUses:28 25Used by:30
Symbol 30 MovieClip [MessagePlayAgain]Uses:26 29
Symbol 31 GraphicUsed by:32 35 93 96
Symbol 32 MovieClipUses:31Used by:35 93 96
Symbol 33 TextUses:7Used by:34 35
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 ButtonUses:32 34 31 33Used by:40 104
Symbol 36 TextUses:7Used by:37
Symbol 37 MovieClipUses:36Used by:40
Symbol 38 TextUses:7Used by:39
Symbol 39 MovieClipUses:38Used by:40
Symbol 40 MovieClip [Instructions]Uses:35 37 39
Symbol 41 TextUses:7Used by:42
Symbol 42 MovieClipUses:41Used by:47
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:47
Symbol 45 TextUses:7Used by:46
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClip [Message]Uses:42 44 46Used by:69
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClip [InstructionsButton]Uses:48Used by:69
Symbol 50 GraphicUsed by:53
Symbol 51 GraphicUsed by:53
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip [MuteButton]Uses:50 51 52Used by:69
Symbol 54 GraphicUsed by:57
Symbol 55 MovieClip [empty]Used by:57 69
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClip [TimeDisplay]Uses:54 55 56Used by:69
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClip [highlight]Uses:58Used by:69
Symbol 60 GraphicUsed by:69
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:69
Symbol 63 EditableTextUses:7Used by:69
Symbol 64 EditableTextUses:7Used by:69
Symbol 65 TextUses:7Used by:66
Symbol 66 MovieClipUses:65Used by:69
Symbol 67 TextUses:7Used by:68
Symbol 68 MovieClipUses:67Used by:69
Symbol 69 MovieClip [Game]Uses:55 59 60 62 63 64 66 68 57 53 49 47
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:86 104
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:86 104
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClipUses:74Used by:86 104
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClipUses:76Used by:86
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:86 104
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:86
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:86 104
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:84Used by:86 104
Symbol 86 MovieClip [Gem]Uses:71 73 75 77 79 81 83 85
Symbol 87 TextUses:7Used by:88
Symbol 88 MovieClipUses:87Used by:90
Symbol 89 EditableTextUses:7Used by:90
Symbol 90 MovieClip [MessageLevelClear]Uses:88 89
Symbol 91 TextUses:7Used by:92 93
Symbol 92 MovieClipUses:91Used by:93
Symbol 93 ButtonUses:32 92 31 91Used by:104
Symbol 94 TextUses:7Used by:95 96
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 ButtonUses:32 95 31 94Used by:104
Symbol 97 FontUsed by:98
Symbol 98 EditableTextUses:97Used by:99
Symbol 99 MovieClipUses:98Used by:104
Symbol 100 FontUsed by:101
Symbol 101 EditableTextUses:100Used by:102
Symbol 102 MovieClipUses:101Used by:103
Symbol 103 ButtonUses:102 25Used by:104
Symbol 104 MovieClip [Title]Uses:35 93 96 99 73 71 83 75 85 79 103Used by:Timeline
Symbol 129 MovieClip [__Packages.mochi.MochiScores]
Symbol 130 MovieClip [__Packages.mochi.MochiServices]
Symbol 131 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip]
Symbol 132 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage]
Symbol 133 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent]
Symbol 134 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle]
Symbol 135 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent]
Symbol 136 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event]
Symbol 137 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest]
Symbol 138 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound]
Symbol 139 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.ScorePopup]
Symbol 140 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField]
Symbol 141 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer]
Symbol 142 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Config]
Symbol 143 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer]
Symbol 144 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent]
Symbol 145 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.GemBackground]
Symbol 146 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessageLevel]
Symbol 147 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessagePlayAgain]
Symbol 148 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewButton]
Symbol 149 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions]
Symbol 150 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Message]
Symbol 151 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.MessageLevelClear]
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton]
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton]
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.TimeDisplay]
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame]
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Game]
Symbol 157 MovieClip [__Packages.com.novelgames.flashgames.gems2AS2.Gem]
Symbol 158 MovieClip [__Packages.MochiAd]
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title]
Symbol 160 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment]
Symbol 105 GraphicUsed by:Timeline
Symbol 106 GraphicUsed by:126
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:126
Symbol 109 SoundUsed by:126
Symbol 110 ShapeTweeningUsed by:126
Symbol 111 GraphicUsed by:112
Symbol 112 MovieClipUses:111Used by:126
Symbol 113 GraphicUsed by:126
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClipUses:114Used by:126
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:126
Symbol 118 ShapeTweeningUsed by:126
Symbol 119 ShapeTweeningUsed by:126
Symbol 120 GraphicUsed by:121
Symbol 121 MovieClipUses:120Used by:126
Symbol 122 GraphicUsed by:126
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:123Used by:126
Symbol 125 GraphicUsed by:126
Symbol 126 MovieClipUses:106 108 109 110 112 113 115 117 118 119 121 122 124 125Used by:Timeline
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:Timeline

Instance Names

"title"Frame 23Symbol 104 MovieClip [Title]
"scoreText"Symbol 9 MovieClip [scorePopupText] Frame 1Symbol 8 EditableText
"scoreText"Symbol 13 MovieClip [ScorePopup] Frame 1Symbol 9 MovieClip [scorePopupText]
"comboText"Symbol 13 MovieClip [ScorePopup] Frame 1Symbol 10 EditableText
"levelText"Symbol 22 MovieClip [MessageLevel] Frame 1Symbol 21 EditableText
"playAgainButton"Symbol 30 MovieClip [MessagePlayAgain] Frame 1Symbol 26 Button
"homeButton"Symbol 30 MovieClip [MessagePlayAgain] Frame 1Symbol 29 Button
"startButton"Symbol 40 MovieClip [Instructions] Frame 1Symbol 35 Button
"foregroundMask"Symbol 57 MovieClip [TimeDisplay] Frame 1Symbol 55 MovieClip [empty]
"backgroundsHolder"Symbol 69 MovieClip [Game] Frame 1Symbol 55 MovieClip [empty]
"gemsMask"Symbol 69 MovieClip [Game] Frame 1Symbol 55 MovieClip [empty]
"gemsHolder"Symbol 69 MovieClip [Game] Frame 1Symbol 55 MovieClip [empty]
"clickDetector"Symbol 69 MovieClip [Game] Frame 1Symbol 55 MovieClip [empty]
"highlight"Symbol 69 MovieClip [Game] Frame 1Symbol 59 MovieClip [highlight]
"scoresHolder"Symbol 69 MovieClip [Game] Frame 1Symbol 55 MovieClip [empty]
"levelText"Symbol 69 MovieClip [Game] Frame 1Symbol 63 EditableText
"scoreText"Symbol 69 MovieClip [Game] Frame 1Symbol 64 EditableText
"timeDisplay"Symbol 69 MovieClip [Game] Frame 1Symbol 57 MovieClip [TimeDisplay]
"message"Symbol 69 MovieClip [Game] Frame 1Symbol 47 MovieClip [Message]
"scoreText"Symbol 90 MovieClip [MessageLevelClear] Frame 1Symbol 89 EditableText
"startButton"Symbol 104 MovieClip [Title] Frame 1Symbol 35 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 1 as "soundSwap"
ExportAssets (56)Timeline Frame 1Symbol 2 as "soundLevelClear"
ExportAssets (56)Timeline Frame 1Symbol 3 as "soundGroup"
ExportAssets (56)Timeline Frame 1Symbol 4 as "soundGameOver"
ExportAssets (56)Timeline Frame 1Symbol 5 as "soundClick"
ExportAssets (56)Timeline Frame 1Symbol 6 as "musicGame"
ExportAssets (56)Timeline Frame 1Symbol 9 as "scorePopupText"
ExportAssets (56)Timeline Frame 1Symbol 13 as "ScorePopup"
ExportAssets (56)Timeline Frame 1Symbol 18 as "GemBackground"
ExportAssets (56)Timeline Frame 1Symbol 22 as "MessageLevel"
ExportAssets (56)Timeline Frame 1Symbol 30 as "MessagePlayAgain"
ExportAssets (56)Timeline Frame 1Symbol 40 as "Instructions"
ExportAssets (56)Timeline Frame 1Symbol 47 as "Message"
ExportAssets (56)Timeline Frame 1Symbol 49 as "InstructionsButton"
ExportAssets (56)Timeline Frame 1Symbol 53 as "MuteButton"
ExportAssets (56)Timeline Frame 1Symbol 55 as "empty"
ExportAssets (56)Timeline Frame 1Symbol 57 as "TimeDisplay"
ExportAssets (56)Timeline Frame 1Symbol 59 as "highlight"
ExportAssets (56)Timeline Frame 1Symbol 69 as "Game"
ExportAssets (56)Timeline Frame 1Symbol 86 as "Gem"
ExportAssets (56)Timeline Frame 1Symbol 90 as "MessageLevelClear"
ExportAssets (56)Timeline Frame 1Symbol 104 as "Title"
ExportAssets (56)Timeline Frame 1Symbol 129 as "__Packages.mochi.MochiScores"
ExportAssets (56)Timeline Frame 1Symbol 130 as "__Packages.mochi.MochiServices"
ExportAssets (56)Timeline Frame 1Symbol 131 as "__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip"
ExportAssets (56)Timeline Frame 1Symbol 132 as "__Packages.com.novelgames.flashgames.commonAS2.NewStage"
ExportAssets (56)Timeline Frame 1Symbol 133 as "__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent"
ExportAssets (56)Timeline Frame 1Symbol 134 as "__Packages.com.novelgames.flashgames.commonAS2.Rectangle"
ExportAssets (56)Timeline Frame 1Symbol 135 as "__Packages.com.novelgames.flashgames.commonAS2.MouseEvent"
ExportAssets (56)Timeline Frame 1Symbol 136 as "__Packages.com.novelgames.flashgames.commonAS2.Event"
ExportAssets (56)Timeline Frame 1Symbol 137 as "__Packages.com.novelgames.flashgames.commonAS2.URLRequest"
ExportAssets (56)Timeline Frame 1Symbol 138 as "__Packages.com.novelgames.flashgames.commonAS2.NewSound"
ExportAssets (56)Timeline Frame 1Symbol 139 as "__Packages.com.novelgames.flashgames.gems2AS2.ScorePopup"
ExportAssets (56)Timeline Frame 1Symbol 140 as "__Packages.com.novelgames.flashgames.commonAS2.NewTextField"
ExportAssets (56)Timeline Frame 1Symbol 141 as "__Packages.com.novelgames.flashgames.commonAS2.Timer"
ExportAssets (56)Timeline Frame 1Symbol 142 as "__Packages.com.novelgames.flashgames.gems2AS2.Config"
ExportAssets (56)Timeline Frame 1Symbol 143 as "__Packages.com.novelgames.flashgames.commonAS2.NewTimer"
ExportAssets (56)Timeline Frame 1Symbol 144 as "__Packages.com.novelgames.flashgames.commonAS2.TimerEvent"
ExportAssets (56)Timeline Frame 1Symbol 145 as "__Packages.com.novelgames.flashgames.gems2AS2.GemBackground"
ExportAssets (56)Timeline Frame 1Symbol 146 as "__Packages.com.novelgames.flashgames.gems2AS2.MessageLevel"
ExportAssets (56)Timeline Frame 1Symbol 147 as "__Packages.com.novelgames.flashgames.gems2AS2.MessagePlayAgain"
ExportAssets (56)Timeline Frame 1Symbol 148 as "__Packages.com.novelgames.flashgames.commonAS2.NewButton"
ExportAssets (56)Timeline Frame 1Symbol 149 as "__Packages.com.novelgames.flashgames.commonAS2.Instructions"
ExportAssets (56)Timeline Frame 1Symbol 150 as "__Packages.com.novelgames.flashgames.gems2AS2.Message"
ExportAssets (56)Timeline Frame 1Symbol 151 as "__Packages.com.novelgames.flashgames.gems2AS2.MessageLevelClear"
ExportAssets (56)Timeline Frame 1Symbol 152 as "__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton"
ExportAssets (56)Timeline Frame 1Symbol 153 as "__Packages.com.novelgames.flashgames.commonAS2.MuteButton"
ExportAssets (56)Timeline Frame 1Symbol 154 as "__Packages.com.novelgames.flashgames.gems2AS2.TimeDisplay"
ExportAssets (56)Timeline Frame 1Symbol 155 as "__Packages.com.novelgames.flashgames.commonAS2.CommonGame"
ExportAssets (56)Timeline Frame 1Symbol 156 as "__Packages.com.novelgames.flashgames.gems2AS2.Game"
ExportAssets (56)Timeline Frame 1Symbol 157 as "__Packages.com.novelgames.flashgames.gems2AS2.Gem"
ExportAssets (56)Timeline Frame 1Symbol 158 as "__Packages.MochiAd"
ExportAssets (56)Timeline Frame 1Symbol 159 as "__Packages.com.novelgames.flashgames.commonAS2.Title"
ExportAssets (56)Timeline Frame 1Symbol 160 as "__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment"

Labels

"splash1"Frame 5
"splash2"Frame 15
"game"Frame 23
"normal"Symbol 13 MovieClip [ScorePopup] Frame 1
"combo"Symbol 13 MovieClip [ScorePopup] Frame 8
"combos"Symbol 13 MovieClip [ScorePopup] Frame 15
"normal"Symbol 18 MovieClip [GemBackground] Frame 1
"finished"Symbol 18 MovieClip [GemBackground] Frame 8
"hide"Symbol 47 MovieClip [Message] Frame 1
"noMoreMoves"Symbol 47 MovieClip [Message] Frame 7
"gameOver"Symbol 47 MovieClip [Message] Frame 19
"on"Symbol 53 MovieClip [MuteButton] Frame 1
"off"Symbol 53 MovieClip [MuteButton] Frame 6




http://swfchan.com/27/132534/info.shtml
Created: 18/2 -2019 18:44:00 Last modified: 18/2 -2019 18:44:00 Server time: 04/05 -2024 04:06:27