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

swfchan turned sixteen years old the day before yesterday! (5may2024)

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

Ryokan.swf

This is the info page for
Flash #132850

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


ActionScript [AS3]
Section 1
//BombActivate (audio.BombActivate) package audio { import flash.media.*; public dynamic class BombActivate extends Sound { } }//package audio
Section 2
//BombTrigger (audio.BombTrigger) package audio { import flash.media.*; public dynamic class BombTrigger extends Sound { } }//package audio
Section 3
//ClearSnd (audio.ClearSnd) package audio { import flash.media.*; public dynamic class ClearSnd extends Sound { } }//package audio
Section 4
//DropSnd (audio.DropSnd) package audio { import flash.media.*; public dynamic class DropSnd extends Sound { } }//package audio
Section 5
//FlipSnd (audio.FlipSnd) package audio { import flash.media.*; public dynamic class FlipSnd extends Sound { } }//package audio
Section 6
//MoveSnd (audio.MoveSnd) package audio { import flash.media.*; public dynamic class MoveSnd extends Sound { } }//package audio
Section 7
//HelpArrows (images.help.HelpArrows) package images.help { import flash.display.*; public dynamic class HelpArrows extends BitmapData { public function HelpArrows(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.help
Section 8
//Background (images.level1.Background) package images.level1 { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level1
Section 9
//BlockA (images.level1.BlockA) package images.level1 { import flash.display.*; public dynamic class BlockA extends BitmapData { public function BlockA(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level1
Section 10
//BlockAErase (images.level1.BlockAErase) package images.level1 { import flash.display.*; public dynamic class BlockAErase extends BitmapData { public function BlockAErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level1
Section 11
//BlockB (images.level1.BlockB) package images.level1 { import flash.display.*; public dynamic class BlockB extends BitmapData { public function BlockB(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level1
Section 12
//BlockBErase (images.level1.BlockBErase) package images.level1 { import flash.display.*; public dynamic class BlockBErase extends BitmapData { public function BlockBErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level1
Section 13
//Background (images.level2.Background) package images.level2 { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level2
Section 14
//BlockA (images.level2.BlockA) package images.level2 { import flash.display.*; public dynamic class BlockA extends BitmapData { public function BlockA(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level2
Section 15
//BlockAErase (images.level2.BlockAErase) package images.level2 { import flash.display.*; public dynamic class BlockAErase extends BitmapData { public function BlockAErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level2
Section 16
//BlockB (images.level2.BlockB) package images.level2 { import flash.display.*; public dynamic class BlockB extends BitmapData { public function BlockB(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level2
Section 17
//BlockBErase (images.level2.BlockBErase) package images.level2 { import flash.display.*; public dynamic class BlockBErase extends BitmapData { public function BlockBErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level2
Section 18
//Background (images.level3.Background) package images.level3 { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level3
Section 19
//BlockA (images.level3.BlockA) package images.level3 { import flash.display.*; public dynamic class BlockA extends BitmapData { public function BlockA(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level3
Section 20
//BlockAErase (images.level3.BlockAErase) package images.level3 { import flash.display.*; public dynamic class BlockAErase extends BitmapData { public function BlockAErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level3
Section 21
//BlockB (images.level3.BlockB) package images.level3 { import flash.display.*; public dynamic class BlockB extends BitmapData { public function BlockB(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level3
Section 22
//BlockBErase (images.level3.BlockBErase) package images.level3 { import flash.display.*; public dynamic class BlockBErase extends BitmapData { public function BlockBErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level3
Section 23
//Background (images.level4.Background) package images.level4 { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level4
Section 24
//BlockA (images.level4.BlockA) package images.level4 { import flash.display.*; public dynamic class BlockA extends BitmapData { public function BlockA(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level4
Section 25
//BlockAErase (images.level4.BlockAErase) package images.level4 { import flash.display.*; public dynamic class BlockAErase extends BitmapData { public function BlockAErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level4
Section 26
//BlockB (images.level4.BlockB) package images.level4 { import flash.display.*; public dynamic class BlockB extends BitmapData { public function BlockB(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level4
Section 27
//BlockBErase (images.level4.BlockBErase) package images.level4 { import flash.display.*; public dynamic class BlockBErase extends BitmapData { public function BlockBErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level4
Section 28
//Background (images.level5.Background) package images.level5 { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level5
Section 29
//BlockA (images.level5.BlockA) package images.level5 { import flash.display.*; public dynamic class BlockA extends BitmapData { public function BlockA(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level5
Section 30
//BlockAErase (images.level5.BlockAErase) package images.level5 { import flash.display.*; public dynamic class BlockAErase extends BitmapData { public function BlockAErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level5
Section 31
//BlockB (images.level5.BlockB) package images.level5 { import flash.display.*; public dynamic class BlockB extends BitmapData { public function BlockB(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level5
Section 32
//BlockBErase (images.level5.BlockBErase) package images.level5 { import flash.display.*; public dynamic class BlockBErase extends BitmapData { public function BlockBErase(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.level5
Section 33
//Buddah (images.splash.Buddah) package images.splash { import flash.display.*; public dynamic class Buddah extends BitmapData { public function Buddah(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.splash
Section 34
//MenuSel (images.splash.MenuSel) package images.splash { import flash.display.*; public dynamic class MenuSel extends BitmapData { public function MenuSel(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.splash
Section 35
//RyokanText (images.splash.RyokanText) package images.splash { import flash.display.*; public dynamic class RyokanText extends BitmapData { public function RyokanText(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.splash
Section 36
//Level1 (images.thumbs.Level1) package images.thumbs { import flash.display.*; public dynamic class Level1 extends BitmapData { public function Level1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 37
//Level1Grey (images.thumbs.Level1Grey) package images.thumbs { import flash.display.*; public dynamic class Level1Grey extends BitmapData { public function Level1Grey(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 38
//Level2 (images.thumbs.Level2) package images.thumbs { import flash.display.*; public dynamic class Level2 extends BitmapData { public function Level2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 39
//Level2Grey (images.thumbs.Level2Grey) package images.thumbs { import flash.display.*; public dynamic class Level2Grey extends BitmapData { public function Level2Grey(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 40
//Level3 (images.thumbs.Level3) package images.thumbs { import flash.display.*; public dynamic class Level3 extends BitmapData { public function Level3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 41
//Level3Grey (images.thumbs.Level3Grey) package images.thumbs { import flash.display.*; public dynamic class Level3Grey extends BitmapData { public function Level3Grey(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 42
//Level4 (images.thumbs.Level4) package images.thumbs { import flash.display.*; public dynamic class Level4 extends BitmapData { public function Level4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 43
//Level4Grey (images.thumbs.Level4Grey) package images.thumbs { import flash.display.*; public dynamic class Level4Grey extends BitmapData { public function Level4Grey(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 44
//Level5 (images.thumbs.Level5) package images.thumbs { import flash.display.*; public dynamic class Level5 extends BitmapData { public function Level5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 45
//Level5Grey (images.thumbs.Level5Grey) package images.thumbs { import flash.display.*; public dynamic class Level5Grey extends BitmapData { public function Level5Grey(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images.thumbs
Section 46
//BombBitmap (images.BombBitmap) package images { import flash.display.*; public dynamic class BombBitmap extends BitmapData { public function BombBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images
Section 47
//BombDot (images.BombDot) package images { import flash.display.*; public dynamic class BombDot extends BitmapData { public function BombDot(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package images
Section 48
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 49
//MochiServices (mochi.MochiServices) package mochi { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _sendChannel:LocalConnection; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime())); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function get id():String{ return (_id); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var netup:Boolean; var s:String; var x:String; var req:URLRequest; var loader:Loader; var err:Function; var complete:Function; var setURL:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; complete = function (_arg1:Object):void{ netup = true; _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); setURL = function ():void{ var _local1:String; if (netup){ _local1 = (url + s); } else { _local1 = burl; }; var _local2:DisplayObject = clickMovie(_local1, onClick); btn.addChild(_local2); _local2.scaleX = (0.01 * btn.width); _local2.scaleY = (0.01 * btn.height); }; setTimeout(setURL, 1500); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function getVersion():String{ return ("1.41"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; var _local3:String = _arg1.loaderInfo.parameters.mochiad_options; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = this.client._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; trace("connected!"); _connecting = false; _connected = true; while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var id = _arg1; var clip = _arg2; var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servicesURL != undefined){ _servicesURL = urlOptions(clip).servicesURL; }; MochiServices.allowDomains(_servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); var f:Function = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999)))); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); var req:URLRequest = new URLRequest(_servicesURL); var vars:URLVariables = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; req.data = vars; _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function get clip():Object{ return (_container); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 50
//MainTimeline (Ryokan_fla.MainTimeline) package Ryokan_fla { import flash.display.*; import mochi.*; public dynamic class MainTimeline extends MovieClip { public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2, 6, frame7); } function frame7(){ stop(); Ryokan.main(this); } function frame1(){ MochiAd.showPreGameAd({clip:root, id:"920e1c01286066c5", res:"480x320"}); MochiBot.track(this, "37561df0"); MochiServices.connect("920e1c01286066c5", root); } function frame2(){ stop(); gotoAndStop("Game"); } } }//package Ryokan_fla
Section 51
//Block (Block) package { class Block { public var bombed:Boolean;// = false public var mode:Number;// = 5 public var visited:Number; public var yPixel:Number; public var xPixel:Number; public var activated:Boolean;// = false public var corner:int;// = 0 public var x:Number; public var y:Number; public var type:Number; public var bonused:Number;// = 0 public static const A:Number = 1; public static const Right:int = (1 << 3); public static const Erase:Number = 6; public static const Left:int = (1 << 2); public static const Bomb:Number = 8; public static const ActivatedA:Number = 3; public static const ActivatedB:Number = 4; public static const Upper:int = (1 << 0); public static const None:Number = 5; public static const Lower:int = (1 << 1); public static const B:Number = 2; public static const Outline:Number = 7; function Block(_arg1:Number){ this.type = _arg1; } public function addGravityY(){ y++; yPixel = (((1 + (30 * 2)) + ((12 * 2) * y)) + 1); } public function setPos(_arg1:Number, _arg2:Number){ this.x = _arg1; this.y = _arg2; xPixel = (((1 + (24 * 2)) + ((12 * 2) * _arg1)) + 1); yPixel = (((1 + (30 * 2)) + ((12 * 2) * _arg2)) + 1); } } }//package
Section 52
//Bompu (Bompu) package { import flash.display.*; import flash.media.*; import images.level1.*; import flash.net.*; class Bompu extends Level { function Bompu(){ name = "I. Bompu"; nextLevel = 4000; quadDropTime = 67; sweepSpeed = 3; eraserColor = 0xFFFFFF; outlineColorA = 16736945; outlineColorB = 16777092; scoreTextColor = 7242; scoreTextOutlineColor = 0xFFFFFF; bX = 1; bY = 1; } override public function loadResources(){ super.loadResources(); background = new Background(10, 10); blockA = new BlockA(10, 10); blockB = new BlockB(10, 10); blockAErase = new BlockAErase(10, 10); blockBErase = new BlockBErase(10, 10); music = new Sound(new URLRequest("http://games.mochiads.com/c/g/ryokan/level1.mp3")); calcBomb(); fade = new BitmapData(40, 1, true, 0); } } }//package
Section 53
//Bonus (Bonus) package { import flash.display.*; class Bonus extends FloatingText { private var step:Number; function Bonus(_arg1:Number, _arg2:Number, _arg3:Number){ step = 0; text = _arg1.toString(); this.x = _arg2; this.y = _arg3; } override public function draw(_arg1:BitmapData){ Level.getCurrentLevel().drawBonusText(_arg1, x, y, text, step++); if (step >= 16){ y = -1; }; } } }//package
Section 54
//Daijo (Daijo) package { import flash.display.*; import flash.media.*; import images.level4.*; import flash.net.*; class Daijo extends Level { function Daijo(){ name = "IV. Daijo"; nextLevel = 40000; quadDropTime = 18; quadGravityRate = 3; sweepSpeed = 2; bombChance = 90; eraserColor = 8438015; outlineColorA = 9938617; outlineColorB = 13145746; scoreTextColor = 0xFFFFFF; } override public function loadResources(){ super.loadResources(); background = new Background(10, 10); blockA = new BlockA(10, 10); blockB = new BlockB(10, 10); blockAErase = new BlockAErase(10, 10); blockBErase = new BlockBErase(10, 10); music = new Sound(new URLRequest("http://games.mochiads.com/c/g/ryokan/level4.mp3")); calcBomb(); fade = new BitmapData(40, 1, true, 0); } } }//package
Section 55
//EndGameText (EndGameText) package { import flash.display.*; import mochi.*; class EndGameText extends FloatingText { private var score:Number; var rank:Number; private var shownLeaderboard:Boolean;// = false static var spawned:Boolean = false; static var place:String = new String(); function EndGameText(_arg1:Number, _arg2:Number, _arg3:Number){ this.rank = _arg1; this.score = _arg3; textColor = _arg2; text = "Game Over"; if (_arg1 > -1){ place = "place"; switch (_arg1){ case 0: place = ("1st " + place); break; case 1: place = ("2nd " + place); break; case 2: place = ("3rd " + place); break; case 3: place = ("4th " + place); break; case 4: place = ("5th " + place); break; }; } else { if (_arg1 == -2){ text = ("New High Score " + place); }; }; x = (((240 * 2) - 150) / 2); y = (160 * 2); } public function drawReturnMenu(_arg1:BitmapData){ var endText:String; var screen = _arg1; if (Ryokan.enableKongregate){ endText = "Click for Main Menu"; } else { if (!shownLeaderboard){ shownLeaderboard = true; trace(("SCORE:" + score)); MochiScores.showLeaderboard({boardID:"664662ca35b1d47b", score:score, onClose:function ():void{ }}); }; endText = "Click for Main Menu"; }; var width:Number = Level.getCurrentLevel().floatTextWidth(endText); Level.getCurrentLevel().drawFloatText(screen, (((240 * 2) - width) / 2), (146 * 2), endText); } override public function draw(_arg1:BitmapData){ var _local2:Number = Level.getCurrentLevel().floatTextWidth(text); x = (((240 * 2) - _local2) / 2); Level.getCurrentLevel().drawFloatText(_arg1, x, y, text); if (rank > -2){ if ((((y > (120 * 2))) && ((rank > -1)))){ if ((((y == (130 * 2))) && ((spawned == false)))){ spawned = true; }; y = (y - 5); } else { if (y > (96 * 2)){ y = (y - 4); } else { if (y > (92 * 2)){ y = (y - 3); } else { if (y > (86 * 2)){ y = (y - 2); } else { if (rank == -1){ drawReturnMenu(_arg1); }; }; }; }; }; } else { if (y > (114 * 2)){ y = (y - 5); } else { if (y > (99 * 2)){ y = (y - 4); } else { drawReturnMenu(_arg1); }; }; }; } } }//package
Section 56
//FloatingText (FloatingText) package { import flash.display.*; import flash.text.*; class FloatingText { protected var text:String; protected var font:TextFormat; protected var alive:Number;// = 0 protected var textColor:Number; public var x:Number; public var y:Number; public function draw(_arg1:BitmapData){ } } }//package
Section 57
//GameState (GameState) package { class GameState { public static const LEVEL_SCREEN = 2; public static const HELP_SCREEN = 5; public static const CREDITS_SCREEN = 4; public static const TITLE_SCREEN = 0; public static const END_GAME = 6; public static const SCORE_SCREEN = 3; public static const IN_GAME_SCREEN = 1; } }//package
Section 58
//Gedo (Gedo) package { import flash.display.*; import flash.media.*; import images.level2.*; import flash.net.*; class Gedo extends Level { function Gedo(){ name = "II. Gedo"; nextLevel = 14000; quadDropTime = 45; bombChance = 60; eraserColor = 13028351; outlineColorB = 14793983; outlineColorA = 16774483; scoreTextColor = 0xFFFFFF; } override public function loadResources(){ super.loadResources(); background = new Background(10, 10); blockA = new BlockA(10, 10); blockB = new BlockB(10, 10); blockAErase = new BlockAErase(10, 10); blockBErase = new BlockBErase(10, 10); music = new Sound(new URLRequest("http://games.mochiads.com/c/g/ryokan/level2.mp3")); calcBomb(); fade = new BitmapData(40, 1, true, 0); } } }//package
Section 59
//Grid (Grid) package { import flash.display.*; import flash.geom.*; import flash.filters.*; import flash.media.*; import flash.text.*; import images.*; import audio.*; import flash.utils.*; class Grid { var bombAErase:BitmapData; var quadQueue:Array; var outlineColorA:Number; var outlineColorB:Number; var quadGravityY:Number; public var bX:Number; public var bY:Number; var grid:Array; var bombDot:BitmapData; public var soundOn:Boolean;// = true var eraserColor:Number; var freeFloatingList:Array; var blockBErase:BitmapData; var blockA:BitmapData; var blockB:BitmapData; var eraserX:Number; var activeQuad:Quad; var bombChance:Number; public var floatingTexts:Array; var fade:BitmapData; var quadGravityRate:Number;// = 0 var quadHold:Number; var tillQuadDrop:Number; var bombBErase:BitmapData; var outlineGrid:Array; var blockAErase:BitmapData; private var bombActivate:Sound; private var bombTrigger:Sound; public var quadMovingDown:Boolean;// = false var sweepSpeed:Number;// = 3 private var flipSnd:Sound; public var quadDropTime:Number; var eraseLog:Number;// = 0 var searchStack:Array; var blocksErasedCount:Number;// = 0 var newQuadGravityRate:Number; var lasterase:Boolean;// = false private var moveSnd:Sound; var stackLevel:Number;// = -1 var bombA:BitmapData; var bombB:BitmapData; private var clearSnd:Sound; var quadX:Number; var quadY:Number; private var dropSnd:Sound; static const gridEndX:Number = 432; static const gridEndY:Number = 300; static const initialHold:Number = 3; static const gridSize:Number = 384; static const rowCount:Number = 10; static const columnCount:Number = 16; static const boxWidth:Number = 24; static const gridStartX:Number = 48; static const gridStartY:Number = 60; function Grid(){ searchStack = new Array(); super(); bombDot = new BombDot(10, 10); fade = new BitmapData((boxWidth * columnCount), (boxWidth * rowCount), true, 0); } public function spinQuadClockwise(){ activeQuad.spinClockwise(); if (soundOn){ flipSnd.play(); }; } public function insertNewQuad(){ activeQuad = quadQueue[0]; quadQueue[0] = quadQueue[1]; quadQueue[1] = quadQueue[2]; quadQueue[2] = new Quad(bombChance); quadX = 7; quadY = -2; quadGravityY = (convGridYscreenY(-2) - 1); quadMovingDown = false; quadHold = initialHold; tillQuadDrop = quadDropTime; quadGravityRate = newQuadGravityRate; } public function unloadAudioRes(){ moveSnd = null; dropSnd = null; flipSnd = null; clearSnd = null; bombActivate = null; bombTrigger = null; } public function spinQuadCounter(){ activeQuad.spinCounterclockwise(); if (soundOn){ flipSnd.play(); }; } private function calcBonusHelper(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if ((((((((_arg1 < 0)) || ((_arg1 >= columnCount)))) || ((_arg2 < 0)))) || ((_arg2 >= rowCount)))){ return (0); }; var _local4:Block = getBlock(_arg1, _arg2); if (((((((!((_local4 == null))) && ((_local4.type == _arg3)))) && ((_local4.mode == Block.Erase)))) && ((_local4.visited == 0)))){ _local4.bonused = 1; _local4.visited = 1; setBlock(_arg1, _arg2, _local4); return (((((1 + calcBonusHelper((_arg1 - 1), _arg2, _arg3)) + calcBonusHelper((_arg1 + 1), _arg2, _arg3)) + calcBonusHelper(_arg1, (_arg2 - 1), _arg3)) + calcBonusHelper(_arg1, (_arg2 + 1), _arg3))); }; return (0); } public function cacheLevelRes(){ var _local2:uint; var _local3:uint; var _local4:uint; var _local1:Level = Level.getCurrentLevel(); blockA = _local1.blockA; blockB = _local1.blockB; blockAErase = _local1.blockAErase; blockBErase = _local1.blockBErase; bombA = _local1.bombA; bombB = _local1.bombB; bombAErase = _local1.bombAErase; bombBErase = _local1.bombBErase; eraserColor = _local1.eraserColor; outlineColorA = _local1.outlineColorA; outlineColorB = _local1.outlineColorB; newQuadGravityRate = _local1.quadGravityRate; quadDropTime = _local1.quadDropTime; bombChance = _local1.bombChance; sweepSpeed = _local1.sweepSpeed; _local2 = 0; while (_local2 < (boxWidth * columnCount)) { _local3 = 0; while (_local3 < (boxWidth * rowCount)) { _local4 = (fade.getPixel32(_local2, _local3) & 4278190080); fade.setPixel32(_local2, _local3, (_local4 | eraserColor)); _local3++; }; _local2++; }; bX = _local1.bX; bY = _local1.bY; } public function explodeBomb(_arg1:Block){ var x:Number; var y:Number; var currentBlock:Block; var block = _arg1; stackLevel++; searchStack[stackLevel] = block; var func:Function = function (_arg1, _arg2:int, _arg3:Array):void{ if (_arg1 != null){ _arg1.visited = 0; }; }; while (stackLevel > -1) { currentBlock = searchStack[stackLevel]; searchStack[stackLevel] = null; stackLevel--; if ((((currentBlock.type == (block.type - 2))) || ((currentBlock.type == block.type)))){ x = currentBlock.x; y = currentBlock.y; if (currentBlock.mode != Block.Outline){ currentBlock.mode = Block.Erase; }; currentBlock.visited = 1; currentBlock.bombed = true; if ((((((x > 0)) && (isFilled((x - 1), y)))) && (!(isVisited((x - 1), y))))){ stackLevel++; searchStack[stackLevel] = getBlock((x - 1), y); }; if ((((((y > 0)) && (isFilled(x, (y - 1))))) && (!(isVisited(x, (y - 1)))))){ stackLevel++; searchStack[stackLevel] = getBlock(x, (y - 1)); }; if ((((((y < (rowCount - 1))) && (isFilled(x, (y + 1))))) && (!(isVisited(x, (y + 1)))))){ stackLevel++; searchStack[stackLevel] = getBlock(x, (y + 1)); }; if ((((((x < (columnCount - 1))) && (isFilled((x + 1), y)))) && (!(isVisited((x + 1), y))))){ stackLevel++; searchStack[stackLevel] = getBlock((x + 1), y); }; }; }; } public function isFilled(_arg1:Number, _arg2:Number):Boolean{ return (((getBlock(_arg1, _arg2))!=null) ? true : false); } public function processFrame(){ gravity(); findErasables(); moveEraser(); quadHold--; tillQuadDrop--; } public function moveQuadRight():Boolean{ var _local1:Number = quadY; if (activeQuad == null){ return (false); }; if ((quadX + 2) == columnCount){ return (false); }; if (((quadGravityY - gridStartY) % boxWidth) != 0){ _local1++; }; if ((((quadY < -1)) || (!(isFilled((quadX + 2), (_local1 + 1)))))){ quadX++; if (soundOn){ moveSnd.play(); }; return (true); }; return (false); } public function draw(_arg1:BitmapData){ var _local3:Number; var _local6:uint; var _local7:uint; var _local8:uint; var _local10:ByteArray; var _local11:int; var _local12:int; var _local13:Shape; var _local14:Number; var _local15:int; var _local16:FloatingText; var _local2:Shape = new Shape(); if (0){ _local10 = new ByteArray(); _local11 = 50; _local12 = 0x0100; SoundMixer.computeSpectrum(_local10, false, 0); _local13 = new Shape(); _local13.graphics.clear(); _local13.graphics.lineStyle(0, 0x6600CC); _local13.graphics.beginFill(0x6600CC); _local13.graphics.moveTo(0, _local11); _local14 = 0; _local15 = 0; while (_local15 < _local12) { _local14 = (_local10.readFloat() * _local11); _local13.graphics.lineTo((_local15 * 2), (_local11 - _local14)); _local15++; }; _local13.graphics.lineTo((_local12 * 2), _local11); _local13.graphics.endFill(); _local13.graphics.lineStyle(0, 0xCC0066); _local13.graphics.beginFill(0xCC0066, 0.5); _local13.graphics.moveTo((_local12 * 2), _local11); _local15 = _local12; while (_local15 > 0) { _local14 = (_local10.readFloat() * _local11); _local13.graphics.lineTo((_local15 * 2), (_local11 - _local14)); _local15--; }; _local13.graphics.lineTo(0, _local11); _local13.graphics.endFill(); _arg1.draw(_local13, new Matrix()); }; drawQuad(_arg1); _local15 = 0; while (_local15 < columnCount) { _local3 = (rowCount - 1); while ((((_local3 >= 0)) && (!((grid[((_local3 * columnCount) + _local15)] == null))))) { drawBlock(grid[((_local3 * columnCount) + _local15)], _arg1); _local3--; }; _local15++; }; _local15 = 0; while (_local15 < freeFloatingList.length) { drawBlock(freeFloatingList[_local15], _arg1); _local15++; }; _local2.graphics.lineStyle(2, eraserColor); _local2.graphics.moveTo(eraserX, gridStartY); _local2.graphics.lineTo(eraserX, gridEndY); _arg1.draw(_local2, new Matrix()); var _local4:Array = new Array(); _local4 = _local4.concat([1, 0, 0, 0, 0]); _local4 = _local4.concat([0, 1, 0, 0, 0]); _local4 = _local4.concat([0, 0, 1, 0, 0]); _local4 = _local4.concat([0, 0, 0, 0.95, 0]); var _local5:ColorMatrixFilter = new ColorMatrixFilter(_local4); fade.applyFilter(fade, new Rectangle(0, 0, (boxWidth * columnCount), (boxWidth * rowCount)), new Point(0, 0), _local5); _arg1.copyPixels(fade, new Rectangle(0, 0, (boxWidth * columnCount), (boxWidth * rowCount)), new Point(gridStartX, gridStartY), null, null, true); _local6 = 0; while (_local6 < sweepSpeed) { _local8 = (((eraserX + _local6) - gridStartX) % (boxWidth * columnCount)); _local7 = 0; while (_local7 < (boxWidth * rowCount)) { fade.setPixel32(_local8, _local7, (eraserColor | ((128 + _local6) << 24))); _local7++; }; _local6++; }; var _local9:Number = floatingTexts.length; _local15 = 0; while (_local15 < _local9) { _local16 = floatingTexts[_local15]; if (_local16.y > 0){ _local16.draw(_arg1); } else { floatingTexts.splice(_local15, 1); _local15--; _local9--; }; _local15++; }; } function setBlock(_arg1:Number, _arg2:Number, _arg3:Block){ grid[(_arg1 + (_arg2 * columnCount))] = _arg3; } public function gravity(){ var _local1:Number; var _local3:Block; var _local2:Number = freeFloatingList.length; _local1 = 0; while (_local1 < _local2) { _local3 = freeFloatingList[_local1]; if ((((_local3.y == (rowCount - 1))) || (isFilled(_local3.x, (_local3.y + 1))))){ setBlock(_local3.x, _local3.y, _local3); freeFloatingList.splice(_local1, 1); _local1--; _local2--; } else { _local3.addGravityY(); }; _local1++; }; if ((((tillQuadDrop <= 0)) && (!(quadMovingDown)))){ if (quadY < -1){ if (finishQuad()){ if ((((((quadX > 0)) && (!(isFilled(quadX, (quadY + 2)))))) && (!(isFilled((quadX - 1), (quadY + 2)))))){ if (!moveQuadLeft()){ trace("END GAME"); Ryokan.me.endGame(); }; } else { if (((((((quadX + 2) < columnCount)) && (!(isFilled((quadX + 1), (quadY + 2)))))) && (!(isFilled((quadX + 2), (quadY + 2)))))){ if (!moveQuadRight()){ trace("END GAME"); Ryokan.me.endGame(); }; } else { trace("END GAME"); Ryokan.me.endGame(); }; }; }; }; if (quadGravityRate == 0){ quadGravityRate = newQuadGravityRate; }; if (((quadGravityY - gridStartY) % boxWidth) == 0){ quadY = ((quadGravityY - gridStartY) / boxWidth); if (!finishQuad()){ quadGravityY = (quadGravityY + quadGravityRate); }; } else { quadGravityY = (quadGravityY + quadGravityRate); }; }; } public function findErasables(){ var _local1:int; var _local2:int; var _local3:int; var _local4:Block; var _local5:Number; var _local6:Number; _local2 = (columnCount - 1); while (_local2 > 0) { _local3 = (rowCount - 1); while ((((_local3 > 0)) && (!((getBlock(_local2, _local3) == null))))) { _local4 = getBlock(_local2, _local3); _local5 = _local4.type; if (((((!((_local4.mode == Block.Outline))) && (!((_local4 == null))))) && (((((((((((isFilled((_local2 - 1), _local3)) && (getBlock((_local2 - 1), _local3).bombed))) && ((getBlock((_local2 - 1), _local3).type == _local5)))) || ((((((((_local2 < (columnCount - 1))) && (isFilled((_local2 + 1), _local3)))) && (getBlock((_local2 + 1), _local3).bombed))) && ((getBlock((_local2 + 1), _local3).type == _local5)))))) || ((((((((_local3 < (rowCount - 1))) && (isFilled(_local2, (_local3 + 1))))) && (getBlock(_local2, (_local3 + 1)).bombed))) && ((getBlock(_local2, (_local3 + 1)).type == _local5)))))) || (((((isFilled(_local2, (_local3 - 1))) && (getBlock(_local2, (_local3 - 1)).bombed))) && ((getBlock(_local2, (_local3 - 1)).type == _local5)))))))){ markErase(_local4, 0); _local4.bombed = true; explodeBomb(_local4); }; if ((((((((_local2 > 0)) && (isErasable((_local2 - 1), _local3, _local5)))) && (isErasable((_local2 - 1), (_local3 - 1), _local5)))) && (isErasable(_local2, (_local3 - 1), _local5)))){ markErase(_local4, (Block.Upper | Block.Right)); markErase(getBlock((_local2 - 1), _local3), (Block.Upper | Block.Left)); markErase(getBlock((_local2 - 1), (_local3 - 1)), (Block.Lower | Block.Left)); markErase(getBlock(_local2, (_local3 - 1)), (Block.Lower | Block.Right)); }; if ((((((((_local2 < (columnCount - 1))) && (isErasable(_local2, (_local3 - 1), _local5)))) && (isErasable((_local2 + 1), (_local3 - 1), _local5)))) && (isErasable((_local2 + 1), _local3, _local5)))){ markErase(_local4, (Block.Upper | Block.Left)); markErase(getBlock(_local2, (_local3 - 1)), (Block.Lower | Block.Left)); markErase(getBlock((_local2 + 1), (_local3 - 1)), (Block.Lower | Block.Right)); markErase(getBlock((_local2 + 1), _local3), (Block.Upper | Block.Left)); }; _local3--; }; _local2--; }; _local2 = (columnCount - 1); while (_local2 >= 0) { _local3 = (rowCount - 1); while ((((_local3 > 0)) && (!((getBlock(_local2, _local3) == null))))) { if ((((_local4.mode == Block.Erase)) && (!(_local4.bonused)))){ _local1 = calcBonus(_local2, _local3); _local1 = Math.ceil(((_local1 / 2) - 1)); _local1 = ((_local1 < 1)) ? 1 : _local1; floatingTexts.push(new Bonus(_local1, _local4.xPixel, _local4.yPixel)); }; _local3--; }; _local2--; }; } public function startGame(){ var _local1:Number; grid = new Array((columnCount * rowCount)); outlineGrid = new Array((columnCount * rowCount)); _local1 = 0; while (_local1 < (columnCount * rowCount)) { grid[_local1] = null; outlineGrid[_local1] = null; _local1++; }; eraserX = gridStartX; lasterase = false; eraseLog = 0; quadQueue = new Array(3); quadQueue[0] = new Quad(bombChance); quadQueue[1] = new Quad(bombChance); quadQueue[2] = new Quad(bombChance); searchStack = new Array(140); _local1 = 0; while (_local1 < 140) { searchStack[_local1] = null; _local1++; }; floatingTexts = new Array(); freeFloatingList = new Array(); insertNewQuad(); floatingTexts.push(new NextLvlText(Level.getCurrentLevel().name, Level.getCurrentLevel().textColor, true)); } public function moveQuadDown():Boolean{ if ((((quadY < -1)) && (finishQuad()))){ Ryokan.me.endGame(); quadMovingDown = false; return (false); }; quadY++; Ryokan.score = (Ryokan.score + 2); quadGravityY = (quadGravityY + boxWidth); if (finishQuad()){ return (false); }; return (true); } public function freezeQuad():Boolean{ var _local1:Number = 0; if (quadY != -1){ setBlock(quadX, quadY, activeQuad.blocks[0]); setBlock((quadX + 1), quadY, activeQuad.blocks[2]); }; setBlock(quadX, (quadY + 1), activeQuad.blocks[1]); setBlock((quadX + 1), (quadY + 1), activeQuad.blocks[3]); activeQuad.blocks[0].setPos(quadX, quadY); activeQuad.blocks[2].setPos((quadX + 1), quadY); activeQuad.blocks[1].setPos(quadX, (quadY + 1)); activeQuad.blocks[3].setPos((quadX + 1), (quadY + 1)); if (quadY < 8){ if (getBlock(quadX, (quadY + 2)) == null){ findFloating(quadX); } else { if (getBlock((quadX + 1), (quadY + 2)) == null){ findFloating((quadX + 1)); }; }; }; Ryokan.score = (Ryokan.score + 10); if (soundOn){ dropSnd.play(0, 0, new SoundTransform(0.5)); }; return (true); } function finishQuad():Boolean{ if ((((((quadY == (rowCount - 2))) || (isFilled(quadX, (quadY + 2))))) || (isFilled((quadX + 1), (quadY + 2))))){ if (quadY < -1){ return (true); }; freezeQuad(); insertNewQuad(); return (true); }; return (false); } public function convGridYscreenY(_arg1:Number):Number{ return (((1 + gridStartY) + (boxWidth * _arg1))); } private function drawBlock(_arg1:Block, _arg2:BitmapData){ var _local4:Shape; var _local5:Number; var _local3:Number = _arg1.mode; if (_local3 == Block.None){ if (_arg1.type == Block.A){ _arg2.copyPixels(blockA, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); } else { _arg2.copyPixels(blockB, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); }; } else { if (_local3 == Block.Outline){ if (_arg1.type == Block.A){ _local5 = outlineColorA; } else { _local5 = outlineColorB; }; _local4 = new Shape(); _local4.graphics.lineStyle(2, _local5); _local4.graphics.drawRect(_arg1.xPixel, _arg1.yPixel, 22, 22); _arg2.draw(_local4, new Matrix()); } else { if (_local3 == Block.Erase){ if (_arg1.type == Block.A){ _arg2.copyPixels(blockAErase, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); } else { _arg2.copyPixels(blockBErase, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); }; if (_arg1.activated){ if (_arg1.type == Block.A){ _arg2.copyPixels(bombAErase, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); } else { _arg2.copyPixels(bombBErase, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); }; if ((eraserX % 8) == 0){ _arg2.copyPixels(bombDot, new Rectangle(0, 0, 10, 10), new Point(((_arg1.xPixel + 6) - bX), ((_arg1.yPixel + 6) - bY)), null, null, true); }; }; } else { if (_local3 == Block.Bomb){ if (_arg1.type == Block.A){ _arg2.copyPixels(bombA, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); } else { _arg2.copyPixels(bombB, new Rectangle(0, 0, 22, 22), new Point(_arg1.xPixel, _arg1.yPixel), null, null, true); }; _arg2.copyPixels(bombDot, new Rectangle(0, 0, 10, 10), new Point(((_arg1.xPixel + 6) - bX), ((_arg1.yPixel + 6) - bY)), null, null, true); }; }; }; }; } function drawQuadBlock(_arg1:Number, _arg2:Number, _arg3:Block, _arg4:BitmapData){ var _local5:Number = (((1 + gridStartX) + (boxWidth * _arg1)) + 1); var _local6:Number = ((1 + _arg2) + 1); if (_arg3.mode == Block.None){ if (_arg3.type == Block.A){ _arg4.copyPixels(blockA, new Rectangle(0, 0, 22, 22), new Point(_local5, _local6), null, null, true); } else { _arg4.copyPixels(blockB, new Rectangle(0, 0, 22, 22), new Point(_local5, _local6), null, null, true); }; } else { if (_arg3.type == Block.A){ _arg4.copyPixels(bombA, new Rectangle(0, 0, 22, 22), new Point(_local5, _local6), null, null, true); } else { _arg4.copyPixels(bombB, new Rectangle(0, 0, 22, 22), new Point(_local5, _local6), null, null, true); }; _arg4.copyPixels(bombDot, new Rectangle(0, 0, 10, 10), new Point(((_local5 + 6) - bX), ((_local6 + 6) - bY)), null, null, true); }; } private function drawQuad(_arg1:BitmapData){ if (quadMovingDown){ if (moveQuadDown()){ moveQuadDown(); }; }; drawQuadBlock(quadX, quadGravityY, activeQuad.blocks[0], _arg1); drawQuadBlock((quadX + 1), quadGravityY, activeQuad.blocks[2], _arg1); drawQuadBlock(quadX, (quadGravityY + boxWidth), activeQuad.blocks[1], _arg1); drawQuadBlock((quadX + 1), (quadGravityY + boxWidth), activeQuad.blocks[3], _arg1); var _local2:Quad = quadQueue[0]; var _local3:Number = (gridStartY - (18 * 2)); drawQuadBlock(-2, _local3, _local2.blocks[0], _arg1); drawQuadBlock(-1, _local3, _local2.blocks[2], _arg1); drawQuadBlock(-2, (_local3 + boxWidth), _local2.blocks[1], _arg1); drawQuadBlock(-1, (_local3 + boxWidth), _local2.blocks[3], _arg1); _local3 = (_local3 + (29 * 2)); _local2 = quadQueue[1]; drawQuadBlock(-2, _local3, _local2.blocks[0], _arg1); drawQuadBlock(-1, _local3, _local2.blocks[2], _arg1); drawQuadBlock(-2, (_local3 + boxWidth), _local2.blocks[1], _arg1); drawQuadBlock(-1, (_local3 + boxWidth), _local2.blocks[3], _arg1); } public function moveEraser(){ var _local1:Number; var _local2:Boolean; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; eraserX = (eraserX + sweepSpeed); if (eraserX >= gridEndX){ eraserX = gridStartX; Ryokan.me.checkNextLevel(); }; if (((eraserX - gridStartX) % boxWidth) == sweepSpeed){ _local2 = false; _local3 = Math.floor(((eraserX - gridStartX) / boxWidth)); _local1 = (rowCount - 1); while ((((_local1 > -1)) && (!((getBlock(_local3, _local1) == null))))) { if (getBlock(_local3, _local1).mode == Block.Erase){ setOutlineBlock(_local3, _local1, getBlock(_local3, _local1)); getBlock(_local3, _local1).mode = Block.Outline; blocksErasedCount++; lasterase = true; _local2 = true; }; _local1--; }; if (_local2){ eraseLog++; }; if (((lasterase) && (!(_local2)))){ _local4 = 9; _local5 = eraseLog; while (_local5 > 0) { _local9 = (_local3 - _local5); if (_local9 < 0){ _local9 = (columnCount + _local9); }; _local1 = 0; while (_local1 < 10) { if (getOutlineBlock(_local9, _local1) != null){ setBlock(_local9, _local1, null); setOutlineBlock(_local9, _local1, null); if (_local1 < _local4){ _local4 = _local1; }; }; _local1++; }; findFloating(_local9); _local5--; }; _local6 = (blocksErasedCount / 2); _local7 = 0; _local8 = 8; while (_local6 > 0) { _local7 = (_local7 + (_local8 + _local8)); _local8 = (_local8 + 5); _local6--; }; floatingTexts.push(new Score(_local7, ((_local3)==0) ? ((gridEndX - (eraseLog * 11)) - 8) : ((eraserX - (eraseLog * 11)) - 8), ((gridStartY + (_local4 * 24)) - 15))); Ryokan.score = (Ryokan.score + _local7); Ryokan.erased = (Ryokan.erased + blocksErasedCount); blocksErasedCount = 0; eraseLog = 0; lasterase = false; if (soundOn){ clearSnd.play(); }; }; }; } public function isVisited(_arg1:Number, _arg2:Number):Boolean{ return ((getBlock(_arg1, _arg2).visited) ? true : false); } private function calcBonus(_arg1:Number, _arg2:Number):Number{ var x = _arg1; var y = _arg2; var func:Function = function (_arg1, _arg2:int, _arg3:Array):void{ if (_arg1 != null){ _arg1.visited = 0; }; }; grid.forEach(func); return (calcBonusHelper(x, y, getBlock(x, y).type)); } private function isErasable(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ var _local4:Block = getBlock(_arg1, _arg2); return (((((!((_local4 == null))) && ((_local4.type == _arg3)))) && (!((_local4.mode == Block.Outline))))); } function getBlock(_arg1:Number, _arg2:Number):Block{ return (grid[(_arg1 + (_arg2 * columnCount))]); } public function markErase(_arg1:Block, _arg2:int){ if (_arg1.mode == Block.None){ _arg1.mode = Block.Erase; _arg1.corner = _arg2; } else { if (_arg1.mode == Block.Bomb){ _arg1.activated = true; explodeBomb(_arg1); if (soundOn){ bombActivate.play(); }; }; }; } function getOutlineBlock(_arg1:Number, _arg2:Number):Block{ return (outlineGrid[(_arg1 + (_arg2 * columnCount))]); } public function moveQuadLeft():Boolean{ var _local1:Number = quadY; if (activeQuad == null){ return (false); }; if (quadX == 0){ return (false); }; if (((quadGravityY - gridStartY) % boxWidth) != 0){ _local1++; }; if ((((quadY < -1)) || (!(isFilled((quadX - 1), (_local1 + 1)))))){ quadX--; if (soundOn){ moveSnd.play(); }; return (true); }; return (false); } function setOutlineBlock(_arg1:Number, _arg2:Number, _arg3:Block){ outlineGrid[(_arg1 + (_arg2 * columnCount))] = _arg3; } public function findFloating(_arg1:Number){ var _local3:Number; var _local4:Block; var _local2:Number = 0; _local3 = (rowCount - 1); while (_local3 > -1) { _local4 = getBlock(_arg1, _local3); if (_local4 == null){ _local2++; } else { if (_local2 > 0){ freeFloatingList.push(_local4); _local4.addGravityY(); setBlock(_arg1, _local3, null); }; }; _local3--; }; } public function loadAudioRes(){ moveSnd = new MoveSnd(); dropSnd = new DropSnd(); flipSnd = new FlipSnd(); clearSnd = new ClearSnd(); bombActivate = new BombActivate(); bombTrigger = new BombTrigger(); } } }//package
Section 60
//Level (Level) package { import flash.display.*; import flash.geom.*; import flash.filters.*; import flash.media.*; import flash.text.*; import images.*; class Level { private var textFormat:TextFormat; public var bombAErase:BitmapData; public var name:String; public var textOutlineColor:Number;// = 0 public var bombOver:BitmapData; var quadGravityRate:Number;// = 2 public var outlineColorA:Number; public var outlineColorB:Number; public var music:Sound; public var bombBErase:BitmapData; public var background:BitmapData; public var blockAErase:BitmapData; public var textColor:Number;// = 0xFFFFFF public var eraserColor:Number; public var sweepSpeed:Number;// = 3 private var textBitmap:BitmapData; public var bX:Number;// = 0 public var bY:Number;// = 0 public var quadDropTime:Number;// = 80 public var scoreTextColor:Number;// = 0xFFFFFF private var textField:TextField; public var scoreTextOutlineColor:Number;// = 0 public var nextLevel:Number;// = 0 public var blockA:BitmapData; public var blockB:BitmapData; public var blockBErase:BitmapData; public var bombA:BitmapData; public var bombB:BitmapData; private var glowFilter:GlowFilter; public var fade:BitmapData; public var bombChance:Number;// = 45 protected static var currentLevel:Number = 0; protected static var levels:Array = new Array(); public function drawScoreText(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:String){ drawText(_arg1, _arg2, _arg3, _arg4, 14, (scoreTextColor | (0xFF << 24)), (scoreTextOutlineColor | (0xFF << 24)), new Matrix()); } public function drawText(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:String, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Matrix, _arg9:BitmapFilter=null){ textFormat.color = _arg6; textFormat.bold = true; textFormat.size = _arg5; textField.textColor = _arg6; textField.text = _arg4; textField.setTextFormat(textFormat); textField.autoSize = TextFieldAutoSize.LEFT; _arg8.translate(5, 5); glowFilter.color = _arg7; textBitmap.fillRect(new Rectangle(0, 0, textBitmap.width, textBitmap.height), 0); textBitmap.draw(textField, _arg8); textBitmap.applyFilter(textBitmap, new Rectangle(0, 0, (textField.textWidth + 10), (textField.textHeight + 10)), new Point(0, 0), glowFilter); if (_arg9){ textBitmap.applyFilter(textBitmap, new Rectangle(0, 0, (textField.textWidth + 10), (textField.textHeight + 10)), new Point(0, 0), _arg9); }; _arg1.copyPixels(textBitmap, new Rectangle(0, 0, (textField.textWidth + 10), (textField.textHeight + 10)), new Point((_arg2 - 10), (_arg3 - 10)), null, null, true); } private function calcBombImage(_arg1:BitmapData):BitmapData{ var _local2:BombBitmap = new BombBitmap(20, 20); var _local3:BitmapData = new BitmapData(22, 22, true, 0); _local3.copyPixels(_arg1, new Rectangle(0, 0, 22, 22), new Point(0, 0), null, null, true); _local3.copyPixels(_local2, new Rectangle(bX, bY, (20 - bX), (20 - bY)), new Point(0, 0), null, null, true); return (_local3); } protected function calcBomb(){ bombA = calcBombImage(blockA); bombB = calcBombImage(blockB); bombAErase = calcBombImage(blockAErase); bombBErase = calcBombImage(blockBErase); } public function textWidth(_arg1:String, _arg2:Number):Number{ textFormat.size = _arg2; textField.text = _arg1; textField.setTextFormat(textFormat); return (textField.textWidth); } public function floatTextWidth(_arg1:String):Number{ return (textWidth(_arg1, 22)); } public function scoreTextWidth(_arg1:String):Number{ return (textWidth(_arg1, 14)); } public function drawBonusText(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:String, _arg5:Number){ var _local6:Array = new Array(); _local6 = _local6.concat([1, 0, 0, 0, 0]); _local6 = _local6.concat([0, 1, 0, 0, 0]); _local6 = _local6.concat([0, 0, 1, 0, 0]); _local6 = _local6.concat([0, 0, 0, 1, (_arg5 * -16)]); var _local7:ColorMatrixFilter = new ColorMatrixFilter(_local6); drawText(_arg1, _arg2, (_arg3 - _arg5), _arg4, 14, (scoreTextColor & 0xFFFFFF), (scoreTextOutlineColor & 0xFFFFFF), new Matrix(), _local7); } public function drawFloatText(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:String){ drawText(_arg1, _arg2, _arg3, _arg4, 22, (textColor | (0xFF << 24)), (textOutlineColor | (0xFF << 24)), new Matrix()); } public function loadResources(){ textField = new TextField(); textFormat = new TextFormat(); textBitmap = new BitmapData(300, 100, true, 0); var _local1:Number = 1; var _local2:Number = 2; var _local3:Number = 2; var _local4:Number = 5; var _local5:Boolean; var _local6:Boolean; var _local7:Number = BitmapFilterQuality.HIGH; glowFilter = new GlowFilter(0, _local1, _local2, _local3, _local4, _local7, _local5, _local6); } public function unloadResources(){ background = null; blockA = null; blockB = null; blockAErase = null; blockBErase = null; bombOver = null; music = null; textField = null; textFormat = null; textBitmap = null; glowFilter = null; } public static function getCurrentLevel():Level{ return (Level.levels[Level.currentLevel]); } public static function setLevel(_arg1:Level, _arg2:Number){ levels[_arg2] = _arg1; } public static function getLevel(_arg1:Number):Level{ return (levels[_arg1]); } public static function setCurrentLevel(_arg1:Number){ Level.currentLevel = _arg1; } } }//package
Section 61
//MochiAd (MochiAd) package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("2.5"); } public static function showClickAwayAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; var sendHostProgress:Boolean; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String = _arg1.split("/")[2].split(":")[0]; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; var idx:Number = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var clip:Object; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; var depth:Number = options.depth; delete options.depth; var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth); var wh:Array = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; }; var lv:URLVariables = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest((server + ".swf")); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local6:Array; var _local3:Object = _arg2.getBounds(_arg2.root); var _local4:Number = 0; var _local5:Number = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array = _arg2.split("."); var _local4:Number = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var complete:Boolean; var unloaded:Boolean; var sendHostProgress:Boolean; var r:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); setTimeout(options.ad_finished, 100); return; }; clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); var fn:Function = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; var bar_color:Number = options.color; delete options.color; var bar_background:Number = options.background; delete options.background; var bar_outline:Number = options.outline; delete options.outline; var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1); var backing:Object = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2); var inside:Object = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3); var outline:Object = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; var f:Function = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; var _local1:Object = this.parent.parent.root; var _local2:Object = this.parent._mochiad_ctr; var _local3:Number = (getTimer() - this.started); var _local4:Boolean; var _local5:Number = _local1.loaderInfo.bytesTotal; var _local6:Number = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; var _local7:Number = ((100 * _local6) / _local5); var _local8:Number = ((100 * _local3) / chk.ad_msec); var _local9:Object = this._mochiad_bar._inside; var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); options.ad_progress(_local10); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7}); if (_local7 == 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local11 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var mc = _arg1; var f:Function = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package
Section 62
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 63
//NextLvlText (NextLvlText) package { import flash.display.*; class NextLvlText extends FloatingText { var showNextLevelScore:Boolean; function NextLvlText(_arg1:String, _arg2:Number, _arg3:Boolean){ text = _arg1; showNextLevelScore = _arg3; var _local4:Number = Level.getCurrentLevel().floatTextWidth(text); x = (((240 * 2) - _local4) / 2); y = (166 * 2); } override public function draw(_arg1:BitmapData){ Level.getCurrentLevel().drawFloatText(_arg1, x, y, text); if (y > (114 * 2)){ y = (y - 5); } else { if (y > (96 * 2)){ y = (y - 4); } else { if (y > (92 * 2)){ y = (y - 2); } else { if (y > (86 * 2)){ y = (y - 1); }; }; }; }; if (alive > 60){ if (y > (88 * 2)){ y = (y - 1); } else { if (y > (81 * 2)){ y = (y - 2); } else { if (y > (79 * 2)){ y = (y - 3); } else { if (y > 0){ y = (y - 5); }; }; }; }; }; if ((((((alive == 70)) && (showNextLevelScore))) && (Level.getCurrentLevel().nextLevel))){ Ryokan.me.grid.floatingTexts.push(new NextLvlText(("Next Level at: " + Level.getCurrentLevel().nextLevel), Level.getCurrentLevel().textColor, false)); }; alive++; } } }//package
Section 64
//PausedText (PausedText) package { import flash.display.*; import flash.geom.*; import flash.text.*; class PausedText extends FloatingText { private var tf:TextField; function PausedText(_arg1:Number){ text = "Paused"; font = new TextFormat(); font.color = _arg1; font.bold = true; font.size = 18; tf = new TextField(); tf.text = text; tf.setTextFormat(font); x = (((240 * 2) - tf.textWidth) / 2); y = (320 / 2); } override public function draw(_arg1:BitmapData){ var _local2:Matrix = new Matrix(); _local2.translate(x, y); _arg1.draw(tf, _local2); } } }//package
Section 65
//Quad (Quad) package { class Quad { public var blocks:Array; function Quad(_arg1:Number){ var _local2:Block; super(); blocks = new Array(4); blocks[0] = new Block((Math.floor((Math.random() * 2)) + 1)); blocks[1] = new Block((Math.floor((Math.random() * 2)) + 1)); blocks[2] = new Block((Math.floor((Math.random() * 2)) + 1)); blocks[3] = new Block((Math.floor((Math.random() * 2)) + 1)); if (Math.floor((Math.random() * _arg1)) == 0){ _local2 = blocks[Math.floor((Math.random() * 4))]; _local2.mode = Block.Bomb; }; } public function spinCounterclockwise(){ var _local1:Block = blocks[0]; var _local2:Block = blocks[2]; var _local3:Block = blocks[1]; var _local4:Block = blocks[3]; blocks[0] = _local3; blocks[2] = _local1; blocks[1] = _local4; blocks[3] = _local2; } public function spinClockwise(){ var _local1:Block = blocks[0]; var _local2:Block = blocks[2]; var _local3:Block = blocks[1]; var _local4:Block = blocks[3]; blocks[0] = _local2; blocks[2] = _local4; blocks[1] = _local1; blocks[3] = _local3; } } }//package
Section 66
//Ryokan (Ryokan) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.filters.*; import mochi.*; import flash.media.*; import flash.text.*; import images.help.*; import images.splash.*; import images.thumbs.*; import flash.net.*; import flash.ui.*; public class Ryokan extends MovieClip { private const LEVEL_WIDTH = 72; private const LEVEL_X = 40; private const LEVEL_Y = 15; private const LEVEL_SPACING = 10; private const LEVEL_HEIGHT = 48; private var levelThumbs:Array; private var screenBitmapData:BitmapData; private var highLevel:Number; private var levelChanging:Boolean;// = false private var gameInProgress:Boolean;// = false private var ryokanText:RyokanText; private var musicChannel:SoundChannel; private var curLevel:Number;// = 0 private var music:Sound; private var helpArrows:BitmapData; private var paused;// = true private var menuText:TextField; private var levelSelIndex;// = 0 private var menuOptions:Array; private var help:Array; public var grid:Grid; private var levelChangeTimer:int; private var highScores:Array; private var musicPosition:Number; private var splashBitmap:Buddah; private var pausedText:PausedText; private var levelThumbsGrey:Array; private var cachedScoreTextColor:Number; private var menuSel:MenuSel; private var strCopyright:String;// = "© 2008 Liability Games" private var levelIndex;// = 0 private var menuIndex;// = 1 private var screenBitmap:Bitmap; private var gameState:Number;// = 0 private var queuedLevel:Number;// = 0 private var menuX:Number;// = 88 private var menuY:Number;// = 128 var kongregate;// = null private var menuSpacing:Number;// = 22 private var musicOn:Boolean;// = true private static const KEY_B = 66; private static const KEY_UP_ARROW = 38; private static const KEY_SPACEBAR = 32; private static const KEY_P = 80; private static const KEY_DOWN_ARROW = 40; private static const LEVEL_CHANGE_FADE = 90; private static const KEY_L = 76; private static const KEY_RIGHT_ARROW = 39; private static const KEY_CTRL = 17; private static const KEY_LEFT_ARROW = 37; private static const KEY_ENTER = 13; private static const LEVEL_CHANGE_DEAD = 60; public static var me:Ryokan; public static var score:Number = 0; public static var enableKongregate:Boolean = false; private static var aboutURL:String = "http://www.liabilitygames.com/Ryokan/about.html"; public static var erased:Number = 0; public function Ryokan(){ var _local2:int; menuOptions = [null, "New Game", "Sound On", "Music On", "Choose Level", "Help", "High Scores", "About"]; help = ["Rotate and drop your quad to form a new", "quad of the same color. When the eraser", "sweeps by it'll be cleared. The more blocks", "you clear at once the higher your score!", "Special bomb blocks are activated by clearing", "them. Once activated, all connected blocks", "of the same color will be destroyed."]; super(); screenBitmapData = new BitmapData(480, 320, true, 0); screenBitmap = new Bitmap(screenBitmapData); splashBitmap = new Buddah(10, 10); ryokanText = new RyokanText(10, 10); menuSel = new MenuSel(10, 10); menuText = new TextField(); menuText.autoSize = TextFieldAutoSize.LEFT; levelThumbs = new Array(5); levelThumbs[0] = new Level1(10, 10); levelThumbs[1] = new Level2(10, 10); levelThumbs[2] = new Level3(10, 10); levelThumbs[3] = new Level4(10, 10); levelThumbs[4] = new Level5(10, 10); levelThumbsGrey = new Array(5); levelThumbsGrey[0] = new Level1Grey(10, 10); levelThumbsGrey[1] = new Level2Grey(10, 10); levelThumbsGrey[2] = new Level3Grey(10, 10); levelThumbsGrey[3] = new Level4Grey(10, 10); levelThumbsGrey[4] = new Level5Grey(10, 10); helpArrows = new HelpArrows(10, 10); Level.setLevel(new Bompu(), 0); Level.setLevel(new Gedo(), 1); Level.setLevel(new Shojo(), 2); Level.setLevel(new Daijo(), 3); Level.setLevel(new Saijojo(), 4); var _local1:SharedObject = SharedObject.getLocal("savedData"); if (_local1.data.highLevel){ highLevel = _local1.data.highLevel; } else { highLevel = 0; }; if (_local1.data.highScores != null){ highScores = _local1.data.highScores; } else { highScores = new Array(5); _local2 = 0; while (_local2 < 5) { highScores[_local2] = ((5 - _local2) * 5000); _local2++; }; }; grid = new Grid(); grid.loadAudioRes(); addChild(screenBitmap); me = this; } function drawTitleScreen(){ var _local3:Number; screenBitmapData.copyPixels(splashBitmap, new Rectangle(0, 0, 480, 320), new Point(0, 0)); screenBitmapData.copyPixels(ryokanText, new Rectangle(0, 0, 168, 40), new Point(50, 72)); if (gameInProgress){ menuOptions[1] = "Resume Game"; } else { menuOptions[1] = "New Game"; }; if (enableKongregate){ menuOptions[6] = null; }; var _local1:Number = menuX; var _local2:Number = menuY; var _local4:TextFormat = new TextFormat(); var _local5:Matrix = new Matrix(); _local4.bold = true; _local4.size = 15; _local5.translate(menuX, menuY); _local3 = 0; while (_local3 < menuOptions.length) { if (menuOptions[_local3] != null){ if (_local3 == menuIndex){ menuText.textColor = 1449543; screenBitmapData.copyPixels(menuSel, new Rectangle(0, 0, 38, 20), new Point((_local1 - 40), _local2), null, null, true); } else { menuText.textColor = 4085171; }; menuText.text = menuOptions[_local3]; menuText.setTextFormat(_local4); screenBitmapData.draw(menuText, _local5); _local5.translate(0, menuSpacing); _local2 = (_local2 + menuSpacing); }; _local3++; }; drawFooter(strCopyright); } function setCurrentLevel(_arg1:Number){ Level.getCurrentLevel().unloadResources(); curLevel = _arg1; Level.setCurrentLevel(_arg1); Level.getCurrentLevel().loadResources(); grid.cacheLevelRes(); cachedScoreTextColor = Level.getCurrentLevel().scoreTextColor; music = Level.getCurrentLevel().music; } function mouseClickTitleScreen(_arg1:MouseEvent){ var _local2:Number = menuAt(_arg1.stageX, _arg1.stageY); if (_local2 >= 0){ menuIndex = _local2; handleEnterButtonMenu(); }; } function keyTitleScreen(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case KEY_UP_ARROW: menuUp(); break; case KEY_DOWN_ARROW: menuDown(); break; case KEY_ENTER: case KEY_SPACEBAR: handleEnterButtonMenu(); break; case KEY_L: highLevel = 100; break; }; } function mouseClickEndGame(_arg1:MouseEvent){ gameState = GameState.TITLE_SCREEN; } function mouseMoveLevelScreen(_arg1:MouseEvent){ var _local2:Number = levelAt(_arg1.stageX, _arg1.stageY); if (_local2 >= 0){ levelSelIndex = _local2; }; } function toggleSound(){ if (grid.soundOn){ grid.soundOn = false; menuOptions[2] = "Sound Off"; } else { grid.soundOn = true; menuOptions[2] = "Sound On"; }; } public function checkNextLevel(){ var _local1:Number = 1; var _local2:Number = (Level.getLevel(curLevel).nextLevel / _local1); if (((((!(levelChanging)) && ((score > _local2)))) && (!((_local2 == 0))))){ if (musicChannel){ trace("level changing"); levelChanging = true; levelChangeTimer = (LEVEL_CHANGE_FADE + LEVEL_CHANGE_DEAD); } else { nextLevel(); }; }; } function mouseClickLevelScreen(_arg1:MouseEvent){ var _local2:Number = levelAt(_arg1.stageX, _arg1.stageY); if (_local2 >= 0){ queuedLevel = _local2; newGame(); } else { gameState = GameState.TITLE_SCREEN; }; } function keyInGameScreen(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case KEY_LEFT_ARROW: if (!paused){ grid.moveQuadLeft(); }; break; case KEY_RIGHT_ARROW: if (!paused){ grid.moveQuadRight(); }; break; case KEY_DOWN_ARROW: if (!paused){ if (grid.quadHold <= 0){ grid.quadMovingDown = true; }; }; break; case KEY_UP_ARROW: if (!paused){ grid.spinQuadCounter(); }; break; case KEY_ENTER: if (!paused){ grid.spinQuadClockwise(); }; break; case KEY_SPACEBAR: paused = !(paused); if (paused){ if (musicChannel){ musicPosition = musicChannel.position; musicChannel.stop(); musicChannel = null; }; gameState = GameState.TITLE_SCREEN; Mouse.show(); }; break; }; } function toggleMusic(){ if (musicOn){ musicOn = false; menuOptions[3] = "Music Off"; } else { musicOn = true; menuOptions[3] = "Music On"; }; } public function handleMouseClick(_arg1:MouseEvent){ switch (gameState){ case GameState.TITLE_SCREEN: mouseClickTitleScreen(_arg1); break; case GameState.LEVEL_SCREEN: mouseClickLevelScreen(_arg1); break; case GameState.SCORE_SCREEN: mouseClickScoreScreen(_arg1); break; case GameState.HELP_SCREEN: mouseClickHelpScreen(_arg1); break; case GameState.END_GAME: mouseClickEndGame(_arg1); break; }; } public function scoreDone(){ gameState = GameState.TITLE_SCREEN; } function drawLevelScreen(){ var _local3:BitmapData; var _local4:Matrix; var _local5:Shape; screenBitmapData.copyPixels(splashBitmap, new Rectangle(0, 0, 480, 320), new Point(0, 0)); var _local1:TextFormat = new TextFormat(); _local1.bold = true; _local1.size = 15; var _local2:int; while (_local2 < 5) { if (_local2 <= highLevel){ _local3 = levelThumbs[_local2]; menuText.textColor = 1449543; } else { _local3 = levelThumbsGrey[_local2]; menuText.textColor = 4085171; }; screenBitmapData.copyPixels(_local3, new Rectangle(0, 0, LEVEL_WIDTH, LEVEL_HEIGHT), new Point(LEVEL_X, (LEVEL_Y + (_local2 * (LEVEL_HEIGHT + LEVEL_SPACING))))); menuText.text = Level.getLevel(_local2).name; menuText.setTextFormat(_local1); _local4 = new Matrix(); _local4.translate(((LEVEL_X + LEVEL_WIDTH) + 10), ((LEVEL_Y + (_local2 * (LEVEL_HEIGHT + LEVEL_SPACING))) + 13)); screenBitmapData.draw(menuText, _local4); if (_local2 == levelSelIndex){ _local5 = new Shape(); _local5.graphics.lineStyle(2, 0); _local5.graphics.drawRect((LEVEL_X - 2), ((LEVEL_Y - 2) + (_local2 * (LEVEL_HEIGHT + LEVEL_SPACING))), (LEVEL_WIDTH + 4), (LEVEL_HEIGHT + 4)); screenBitmapData.draw(_local5, new Matrix()); }; _local2++; }; } function mouseClickHelpScreen(_arg1:MouseEvent){ gameState = GameState.TITLE_SCREEN; } public function handleKeyDown(_arg1:KeyboardEvent){ switch (gameState){ case GameState.TITLE_SCREEN: keyTitleScreen(_arg1); break; case GameState.SCORE_SCREEN: keyScoreScreen(_arg1); break; case GameState.IN_GAME_SCREEN: keyInGameScreen(_arg1); break; }; } function menuUp(){ if ((((((menuIndex == 1)) && (!((menuOptions[0] == null))))) || ((menuIndex > 1)))){ while (true) { menuIndex--; if (menuOptions[menuIndex] != null){ break; }; }; }; } function nextLevel(){ curLevel++; grid.floatingTexts.push(new NextLvlText(Level.getLevel(curLevel).name, Level.getLevel(curLevel).textColor, true)); setCurrentLevel(curLevel); levelChanging = false; musicPosition = 0; if (((((musicOn) && (grid.soundOn))) && (!((music == null))))){ musicChannel = music.play(); musicChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); }; if (kongregate){ kongregate.stats.submit("Level", curLevel); }; } public function loadKongregate(){ trace(root); var _local1:Object = LoaderInfo(root.loaderInfo).parameters; var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); trace(("API path: " + _local2)); var _local3:URLRequest = new URLRequest(_local2); var _local4:Loader = new Loader(); _local4.contentLoaderInfo.addEventListener(Event.COMPLETE, kongregateLoadComplete); _local4.load(_local3); this.addChild(_local4); } function drawInGameScreen(){ var _local1:Number; var _local2:SoundTransform; if (levelChanging){ if (musicChannel == null){ levelChanging = false; nextLevel(); } else { if (--levelChangeTimer > 0){ _local1 = ((levelChangeTimer - LEVEL_CHANGE_DEAD) / LEVEL_CHANGE_FADE); _local1 = ((_local1 < 0)) ? 0 : _local1; _local2 = musicChannel.soundTransform; _local2.volume = _local1; musicChannel.soundTransform = _local2; } else { musicChannel.stop(); musicChannel = null; levelChanging = false; nextLevel(); }; }; }; screenBitmapData.copyPixels(Level.getCurrentLevel().background, new Rectangle(0, 0, 480, 320), new Point(0, 0)); drawInformationText(); if (!paused){ grid.processFrame(); }; grid.draw(screenBitmapData); } function handleEnterButtonMenu(){ var url:URLRequest; if (gameState == GameState.TITLE_SCREEN){ switch (menuIndex){ case 0: resumeGame(); break; case 1: if (gameInProgress){ resumeGame(); } else { newGame(); }; break; case 2: toggleSound(); break; case 3: toggleMusic(); break; case 4: gameState = GameState.LEVEL_SCREEN; break; case 5: gameState = GameState.HELP_SCREEN; break; case 6: MochiScores.showLeaderboard({boardID:"664662ca35b1d47b", onClose:function ():void{ Ryokan.me.scoreDone(); }}); gameState = GameState.SCORE_SCREEN; break; case 7: url = new URLRequest(aboutURL); navigateToURL(url, "_blank"); break; }; return (true); }; } public function endGame(){ var _local3:Number; var _local4:Number; var _local5:Number; if (musicChannel != null){ musicChannel.stop(); musicChannel = null; }; if (kongregate){ kongregate.scores.submit(score); }; var _local1:Number = -1; var _local2:SharedObject = SharedObject.getLocal("savedData"); _local3 = 0; while ((((_local3 < highScores.length)) && ((_local1 == -1)))) { if (score > highScores[_local3]){ _local1 = _local3; _local4 = score; while (_local3 < highScores.length) { _local5 = highScores[_local3]; highScores[_local3] = _local4; _local4 = _local5; _local3++; }; }; _local3++; }; _local2.data.highScores = highScores; if (curLevel > highLevel){ highLevel = curLevel; _local2.data.highLevel = highLevel; }; _local2.flush(); grid.floatingTexts.push(new EndGameText(-1, Level.getCurrentLevel().textColor, score)); Mouse.show(); queuedLevel = 0; gameInProgress = false; menuIndex = 1; paused = true; gameState = GameState.END_GAME; } function drawHelpScreen(){ screenBitmapData.copyPixels(splashBitmap, new Rectangle(0, 0, 480, 320), new Point(0, 0)); var _local1:TextFormat = new TextFormat(); var _local2:Matrix = new Matrix(); _local1.bold = true; _local1.size = 12; menuText.textColor = 4085171; var _local3:Number = 15; var _local4:Number = 18; _local2.translate(40, 35); var _local5:Number = 0; while (_local5 < help.length) { menuText.text = help[_local5]; menuText.setTextFormat(_local1); screenBitmapData.draw(menuText, _local2); _local2.translate(0, _local4); _local5++; }; screenBitmapData.copyPixels(helpArrows, new Rectangle(0, 0, 436, 117), new Point(15, 200), null, null, true); } public function drawString(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Number){ Level.getCurrentLevel().drawScoreText(screenBitmapData, _arg1, _arg2, _arg3); } function drawEndGame(){ screenBitmapData.copyPixels(Level.getCurrentLevel().background, new Rectangle(0, 0, 480, 320), new Point(0, 0)); drawInformationText(); grid.draw(screenBitmapData); } function drawInformationText(){ drawString((179 * 2), (7 * 2), ("Score: " + score), cachedScoreTextColor); drawString((179 * 2), (17 * 2), ("Erased: " + erased), cachedScoreTextColor); if (paused){ }; } public function registerEvents(){ addEventListener(Event.ENTER_FRAME, handleEnterFrame); stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown); stage.addEventListener(MouseEvent.MOUSE_MOVE, handleMouseMove); stage.addEventListener(MouseEvent.CLICK, handleMouseClick); } function menuDown(){ while (menuIndex < (menuOptions.length - 1)) { menuIndex++; if (menuOptions[menuIndex] != null){ break; }; }; } function newGame(){ Mouse.hide(); setCurrentLevel(queuedLevel); queuedLevel = 0; levelIndex = 0; levelChanging = false; score = (erased = 0); grid.startGame(); if (((((musicOn) && (grid.soundOn))) && (!((music == null))))){ musicChannel = music.play(); musicChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); }; gameInProgress = true; gameState = GameState.IN_GAME_SCREEN; paused = false; } private function kongregateLoadComplete(_arg1:Event):void{ kongregate = _arg1.target.content; kongregate.services.connect(); trace(("\n" + kongregate.services)); trace(("\n" + kongregate.user)); trace(("\n" + kongregate.scores)); trace(("\n" + kongregate.stats)); } public function handleEnterFrame(_arg1:Event){ screenBitmapData.lock(); switch (gameState){ case GameState.TITLE_SCREEN: drawTitleScreen(); break; case GameState.LEVEL_SCREEN: drawLevelScreen(); break; case GameState.SCORE_SCREEN: drawScoreScreen(); break; case GameState.HELP_SCREEN: drawHelpScreen(); break; case GameState.IN_GAME_SCREEN: drawInGameScreen(); break; case GameState.END_GAME: drawEndGame(); break; }; screenBitmapData.unlock(); } function drawScoreScreen(){ screenBitmapData.copyPixels(splashBitmap, new Rectangle(0, 0, 480, 320), new Point(0, 0)); } function mouseClickScoreScreen(_arg1:MouseEvent){ gameState = GameState.TITLE_SCREEN; } public function soundCompleteHandler(_arg1:Event){ if (gameState == GameState.IN_GAME_SCREEN){ musicChannel = music.play(); musicChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); }; } public function handleMouseMove(_arg1:MouseEvent){ switch (gameState){ case GameState.TITLE_SCREEN: mouseMoveTitleScreen(_arg1); break; case GameState.LEVEL_SCREEN: mouseMoveLevelScreen(_arg1); break; }; } function levelAt(_arg1:Number, _arg2:Number):Number{ var _local5:Number; var _local3:Number = LEVEL_X; var _local4:Number = 0; while (_local4 < (highLevel + 1)) { _local5 = (LEVEL_Y + (_local4 * (LEVEL_HEIGHT + LEVEL_SPACING))); if ((((((((_arg1 > _local3)) && ((_arg1 < (_local3 + LEVEL_WIDTH))))) && ((_arg2 > _local5)))) && ((_arg2 < (_local5 + LEVEL_HEIGHT))))){ return (_local4); }; _local4++; }; return (-1); } function keyScoreScreen(_arg1:KeyboardEvent){ } function mouseMoveTitleScreen(_arg1:MouseEvent){ var _local2:Number = menuAt(_arg1.stageX, _arg1.stageY); if (_local2 >= 0){ menuIndex = _local2; }; } function menuAt(_arg1:Number, _arg2:Number):Number{ var _local3:Number = menuY; var _local4:Number = 0; while (_local4 < menuOptions.length) { if (menuOptions[_local4] != null){ if ((((((((_arg1 > menuX)) && ((_arg1 < (menuX + 200))))) && ((_arg2 > _local3)))) && ((_arg2 < (_local3 + menuSpacing))))){ return (_local4); }; _local3 = (_local3 + menuSpacing); }; _local4++; }; return (-1); } function resumeGame(){ if (((((musicOn) && (grid.soundOn))) && (!((music == null))))){ musicChannel = music.play(musicPosition); musicChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); }; gameState = GameState.IN_GAME_SCREEN; paused = false; } function drawFooter(_arg1:String){ var _local2:Matrix = new Matrix(); menuText.text = _arg1; menuText.textColor = 4085171; _local2.translate((((240 * 2) - menuText.textWidth) / 2), (318 - menuText.textHeight)); screenBitmapData.draw(menuText, _local2); } public static function main(_arg1:MovieClip){ var _local2:Ryokan = new (Ryokan); _arg1.addChild(_local2); if (Ryokan.enableKongregate){ _local2.loadKongregate(); }; _local2.registerEvents(); } } }//package
Section 67
//Saijojo (Saijojo) package { import flash.display.*; import flash.media.*; import images.level5.*; import flash.net.*; class Saijojo extends Level { function Saijojo(){ name = "V. Saijojo"; quadGravityRate = 4; quadDropTime = 14; bombChance = 40; sweepSpeed = 4; bombChance = 95; eraserColor = 133; outlineColorA = 4570617; outlineColorB = 15988175; textColor = 0x1F0076; textOutlineColor = 0xFFFFFF; scoreTextColor = 0x1F0076; scoreTextOutlineColor = 0xFFFFFF; bX = 1; bY = 1; } override public function loadResources(){ super.loadResources(); background = new Background(10, 10); blockA = new BlockA(10, 10); blockB = new BlockB(10, 10); blockAErase = new BlockAErase(10, 10); blockBErase = new BlockBErase(10, 10); music = new Sound(new URLRequest("http://games.mochiads.com/c/g/ryokan/level5.mp3")); calcBomb(); fade = new BitmapData(40, 1, true, 0); } } }//package
Section 68
//Score (Score) package { import flash.display.*; import flash.geom.*; import flash.text.*; class Score extends FloatingText { private var score:Number; private static var speedArray:Array = new Array(0, 0, 0, 0, 0, 3, 4, 4, 5, 7, 10, 13, 15, 15, 16, 17, 17, 17, 17); function Score(_arg1:Number, _arg2:Number, _arg3:Number){ score = _arg1; text = score.toString(); this.x = _arg2; this.y = _arg3; } override public function draw(_arg1:BitmapData){ Level.getCurrentLevel().drawScoreText(_arg1, x, y, text); y = (y - speedArray[alive]); alive++; } } }//package
Section 69
//Shojo (Shojo) package { import flash.display.*; import flash.media.*; import images.level3.*; import flash.net.*; class Shojo extends Level { function Shojo(){ name = "III. Shojo"; nextLevel = 24000; quadDropTime = 30; bombChance = 80; eraserColor = 8438015; outlineColorA = 7632127; outlineColorB = 16737894; scoreTextColor = 0xFFFFFF; } override public function loadResources(){ super.loadResources(); background = new Background(10, 10); blockA = new BlockA(10, 10); blockB = new BlockB(10, 10); blockAErase = new BlockAErase(10, 10); blockBErase = new BlockBErase(10, 10); music = new Sound(new URLRequest("http://games.mochiads.com/c/g/ryokan/level3.mp3")); calcBomb(); fade = new BitmapData(40, 1, true, 0); } } }//package

Library Items

Symbol 1 Sound {audio.MoveSnd}
Symbol 2 Sound {audio.FlipSnd}
Symbol 3 Sound {audio.DropSnd}
Symbol 4 Sound {audio.ClearSnd}
Symbol 5 Sound {audio.BombTrigger}
Symbol 6 Sound {audio.BombActivate}
Symbol 7 Bitmap {images.splash.Buddah}
Symbol 8 Bitmap {images.splash.RyokanText}
Symbol 9 Bitmap {images.splash.MenuSel}
Symbol 10 Bitmap {images.thumbs.Level5Grey}
Symbol 11 Bitmap {images.thumbs.Level5}
Symbol 12 Bitmap {images.thumbs.Level4Grey}
Symbol 13 Bitmap {images.thumbs.Level4}
Symbol 14 Bitmap {images.thumbs.Level3Grey}
Symbol 15 Bitmap {images.thumbs.Level3}
Symbol 16 Bitmap {images.thumbs.Level2Grey}
Symbol 17 Bitmap {images.thumbs.Level2}
Symbol 18 Bitmap {images.thumbs.Level1Grey}
Symbol 19 Bitmap {images.thumbs.Level1}
Symbol 20 Bitmap {images.BombDot}
Symbol 21 Bitmap {images.BombBitmap}
Symbol 22 Bitmap {images.level1.BlockBErase}
Symbol 23 Bitmap {images.level2.BlockBErase}
Symbol 24 Bitmap {images.level3.BlockBErase}
Symbol 25 Bitmap {images.level4.BlockBErase}
Symbol 26 Bitmap {images.level5.BlockBErase}
Symbol 27 Bitmap {images.level1.BlockB}
Symbol 28 Bitmap {images.level2.BlockB}
Symbol 29 Bitmap {images.level3.BlockB}
Symbol 30 Bitmap {images.level4.BlockB}
Symbol 31 Bitmap {images.level5.BlockB}
Symbol 32 Bitmap {images.level1.BlockAErase}
Symbol 33 Bitmap {images.level2.BlockAErase}
Symbol 34 Bitmap {images.level3.BlockAErase}
Symbol 35 Bitmap {images.level4.BlockAErase}
Symbol 36 Bitmap {images.level5.BlockAErase}
Symbol 37 Bitmap {images.level1.BlockA}
Symbol 38 Bitmap {images.level2.BlockA}
Symbol 39 Bitmap {images.level3.BlockA}
Symbol 40 Bitmap {images.level4.BlockA}
Symbol 41 Bitmap {images.level5.BlockA}
Symbol 42 Bitmap {images.level5.Background}
Symbol 43 Bitmap {images.level4.Background}
Symbol 44 Bitmap {images.level3.Background}
Symbol 45 Bitmap {images.level2.Background}
Symbol 46 Bitmap {images.level1.Background}
Symbol 47 Bitmap {images.help.HelpArrows}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"Game"Frame 7




http://swfchan.com/27/132850/info.shtml
Created: 17/2 -2019 14:45:11 Last modified: 17/2 -2019 14:45:11 Server time: 07/05 -2024 09:19:42