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

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

skyfyre.swf

This is the info page for
Flash #111494

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


ActionScript [AS3]
Section 1
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { public class MD5 { private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:int = (_arg1.length * 8); var _local4 = 0xFF; var _local5:int; while (_local5 < _local3) { _local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32))); _local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3; return (_local2); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local2 = 1732584193; var _local3 = -271733879; var _local4 = -1732584194; var _local5 = 271733878; var _local10:Array = createBlocks(_arg1); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } } }//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local4:int; var _local5:int; var _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 3
//BitmapTextRenderer (com.soybeansoft.display.blit.helpers.BitmapTextRenderer) package com.soybeansoft.display.blit.helpers { import flash.display.*; import flash.geom.*; import com.soybeansoft.display.blit.*; public class BitmapTextRenderer implements IRenderer { private var bitmap:Bitmap; private var position:Point; private var facePos:Point; public function BitmapTextRenderer(_arg1:Bitmap, _arg2:Point, _arg3:Point){ this.bitmap = _arg1; this.facePos = _arg2; this.position = _arg3; } public function getRect():Rectangle{ return (bitmap.bitmapData.rect); } public function isVisible():Boolean{ var _local1:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), bitmap.width, bitmap.height); if (((Camera2D.instance.frame.intersects(_local1)) || (Camera2D.instance.frame.containsPoint(position)))){ return (true); }; return (false); } public function getBitmapData():BitmapData{ return (bitmap.bitmapData); } public function getPoint():Point{ return (new Point(Math.ceil(((position.x + facePos.x) - Camera2D.instance.frame.x)), Math.ceil(((position.y + facePos.y) - Camera2D.instance.frame.y)))); } } }//package com.soybeansoft.display.blit.helpers
Section 4
//IRenderer (com.soybeansoft.display.blit.helpers.IRenderer) package com.soybeansoft.display.blit.helpers { import flash.display.*; import flash.geom.*; public interface IRenderer { function isVisible():Boolean; function getPoint():Point; function getRect():Rectangle; function getBitmapData():BitmapData; } }//package com.soybeansoft.display.blit.helpers
Section 5
//ParallaxRenderer (com.soybeansoft.display.blit.helpers.ParallaxRenderer) package com.soybeansoft.display.blit.helpers { import flash.display.*; import flash.geom.*; public class ParallaxRenderer implements IRenderer { private var bitmapData:BitmapData; private var rect:Rectangle; private var position:Point; public function ParallaxRenderer(_arg1:BitmapData, _arg2:Point){ this.bitmapData = _arg1; this.position = _arg2; rect = this.bitmapData.rect; } public function getRect():Rectangle{ return (new Rectangle(position.x, position.y, (rect.width - position.x), (rect.height - position.y))); } public function getBitmapData():BitmapData{ return (bitmapData); } public function isVisible():Boolean{ return (true); } public function getPoint():Point{ return (new Point()); } } }//package com.soybeansoft.display.blit.helpers
Section 6
//RectTilesRenderer (com.soybeansoft.display.blit.helpers.RectTilesRenderer) package com.soybeansoft.display.blit.helpers { import flash.display.*; import com.soybeansoft.manager.*; import flash.geom.*; import com.soybeansoft.display.blit.*; import com.soybeansoft.util.*; public class RectTilesRenderer implements IRenderer { private var position:Point; private var facePos:Point; private var assetName:String; private var face:RectTiles; public function RectTilesRenderer(_arg1:String, _arg2:RectTiles, _arg3:Point, _arg4:Point){ this.assetName = _arg1; this.face = _arg2; this.facePos = _arg3; this.position = _arg4; } public function getRect():Rectangle{ return (face.frame); } public function getPoint():Point{ return (new Point(Math.ceil(((position.x + facePos.x) - Camera2D.instance.frame.x)), Math.ceil(((position.y + facePos.y) - Camera2D.instance.frame.y)))); } public function isVisible():Boolean{ var _local1:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if (((Camera2D.instance.frame.intersects(_local1)) || (Camera2D.instance.frame.containsPoint(position)))){ return (true); }; return (false); } public function getBitmapData():BitmapData{ var _local1:Bitmap = (Assets.instance.fetch(Assets.BITMAP, assetName) as Bitmap); if (_local1 == null){ throw (new Error(("Unknown asset with name: " + assetName))); }; return (_local1.bitmapData); } } }//package com.soybeansoft.display.blit.helpers
Section 7
//ParallaxObject (com.soybeansoft.display.blit.objects.ParallaxObject) package com.soybeansoft.display.blit.objects { import flash.display.*; import flash.geom.*; import com.soybeansoft.display.blit.*; import com.soybeansoft.display.blit.helpers.*; public class ParallaxObject extends RenderObject { private var currentPosition:Point; private var currentRenderer:ParallaxRenderer; private var direction:String; private var speed:int; private var prevRenderer:ParallaxRenderer; private var prevPosition:Point; public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; public function ParallaxObject(_arg1:BitmapData, _arg2:int){ currentPosition = new Point(); currentRenderer = new ParallaxRenderer(_arg1, currentPosition); direction = HORIZONTAL; this.speed = _arg2; } private function isOffFrame():Boolean{ switch (direction){ case HORIZONTAL: if (speed > 0){ return ((prevPosition.x >= prevRenderer.getBitmapData().rect.width)); }; return ((prevPosition.x >= Camera2D.instance.frame.width)); case VERTICAL: if (speed > 0){ return ((prevPosition.y >= prevRenderer.getBitmapData().rect.height)); }; return ((prevPosition.y >= Camera2D.instance.frame.height)); }; return (false); } public function update():void{ switch (direction){ case HORIZONTAL: currentPosition.x = (currentPosition.x + speed); if (prevPosition != null){ prevPosition.x = (prevPosition.x + speed); }; break; case VERTICAL: currentPosition.y = (currentPosition.y + speed); if (prevPosition != null){ prevPosition.y = (prevPosition.y + speed); }; break; }; } private function getDifference():int{ switch (direction){ case HORIZONTAL: if (speed > 0){ return (-((currentRenderer.getBitmapData().rect.width - currentPosition.x))); }; return ((currentRenderer.getBitmapData().rect.width + currentPosition.x)); case VERTICAL: if (speed > 0){ return (-((currentRenderer.getBitmapData().rect.height - currentPosition.y))); }; return ((currentRenderer.getBitmapData().rect.height + currentPosition.y)); }; return (0); } private function isNearEdge():Boolean{ switch (direction){ case HORIZONTAL: if (speed > 0){ return ((currentPosition.x >= (currentRenderer.getBitmapData().rect.width - Camera2D.instance.frame.width))); }; return ((currentPosition.x <= 0)); case VERTICAL: if (speed > 0){ return ((currentPosition.y >= (currentRenderer.getBitmapData().rect.height - Camera2D.instance.frame.height))); }; return ((currentPosition.y <= 0)); }; return (false); } override public function get type():String{ return ("ParallaxObject"); } override public function render(_arg1:Render):void{ if (currentRenderer != null){ if (isNearEdge()){ prevPosition = currentPosition.clone(); prevRenderer = new ParallaxRenderer(currentRenderer.getBitmapData(), prevPosition); switch (direction){ case HORIZONTAL: currentPosition.x = getDifference(); break; case VERTICAL: currentPosition.y = getDifference(); break; }; }; _arg1.bitmapData.copyPixels(currentRenderer.getBitmapData(), currentRenderer.getRect(), currentRenderer.getPoint(), null, null, true); }; if (prevRenderer != null){ _arg1.bitmapData.copyPixels(prevRenderer.getBitmapData(), prevRenderer.getRect(), prevRenderer.getPoint(), null, null, true); if (isOffFrame()){ prevPosition = null; prevRenderer = null; }; }; } } }//package com.soybeansoft.display.blit.objects
Section 8
//RenderObject (com.soybeansoft.display.blit.objects.RenderObject) package com.soybeansoft.display.blit.objects { import flash.geom.*; import com.soybeansoft.display.blit.*; import com.soybeansoft.display.blit.helpers.*; public class RenderObject { public var position:Point; protected var isRenderable:Boolean;// = true protected var renderHelper:IRenderer; public function RenderObject(){ position = new Point(); super(); } public function get type():String{ return ("RenderObject"); } public function render(_arg1:Render):void{ if (((isRenderable) && (!((renderHelper == null))))){ if (renderHelper.isVisible()){ _arg1.bitmapData.copyPixels(renderHelper.getBitmapData(), renderHelper.getRect(), renderHelper.getPoint(), null, null, true); }; }; } } }//package com.soybeansoft.display.blit.objects
Section 9
//Camera2D (com.soybeansoft.display.blit.Camera2D) package com.soybeansoft.display.blit { import flash.geom.*; import flash.errors.*; public class Camera2D { public var target:Point; private var dist:Point; public var borders:Rectangle; public var frame:Rectangle; private static var _instance:Camera2D; private static var allow:Boolean = false; public function Camera2D(){ target = new Point(); borders = new Rectangle(); frame = new Rectangle(); dist = new Point(); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function update():void{ if (target != null){ if ((((((target.x < borders.right)) && ((target.x > borders.left)))) && ((frame.width < borders.width)))){ dist.x = ((target.x - borders.left) - frame.x); frame.x = (frame.x + dist.x); } else { if (target.x > borders.right){ dist.x = (borders.right - (borders.left + frame.x)); frame.x = (frame.x + dist.x); }; if (target.x < borders.left){ dist.x = (borders.left - (borders.left + frame.x)); frame.x = (frame.x + dist.x); }; }; if ((((((target.y < borders.bottom)) && ((target.y > borders.top)))) && ((frame.height < borders.height)))){ dist.y = ((target.y - borders.top) - frame.y); frame.y = (frame.y + dist.y); } else { if (target.y > borders.bottom){ dist.y = (borders.bottom - (borders.top + frame.y)); frame.y = (frame.y + dist.y); }; if (target.y < borders.top){ dist.y = (borders.top - (borders.top + frame.y)); frame.y = (frame.y + dist.y); }; }; }; } public static function get instance():Camera2D{ if (!_instance){ allow = true; _instance = new (Camera2D); allow = false; }; return (_instance); } } }//package com.soybeansoft.display.blit
Section 10
//ILayer (com.soybeansoft.display.blit.ILayer) package com.soybeansoft.display.blit { public interface ILayer { function get renderer():Render; function render():void; function set renderer(_arg1:Render):void; } }//package com.soybeansoft.display.blit
Section 11
//Layer (com.soybeansoft.display.blit.Layer) package com.soybeansoft.display.blit { import flash.geom.*; import com.soybeansoft.display.blit.objects.*; public class Layer implements ILayer { private var _renderer:Render; private var useParallax:Boolean; private var isVisible:Boolean; private var pos:Point; private var objects:Array; private var sortMethod:Function; public function Layer(_arg1:Boolean=true, _arg2:Boolean=false, _arg3:Function=null){ objects = []; pos = new Point(); super(); this.isVisible = _arg1; this.useParallax = _arg2; this.sortMethod = _arg3; } public function addObject(_arg1:RenderObject, _arg2:Boolean=false):void{ if (_arg2){ objects.unshift(_arg1); } else { objects.push(_arg1); }; } public function get renderer():Render{ return (_renderer); } public function set renderer(_arg1:Render):void{ _renderer = _arg1; } public function removeObject(_arg1:RenderObject):Boolean{ if (objects.indexOf(_arg1) > -1){ objects.splice(objects.indexOf(_arg1), 1); return (true); }; return (false); } public function set visible(_arg1:Boolean):void{ isVisible = _arg1; } public function get numObjects():int{ return (objects.length); } public function cleanup():void{ var _local2:RenderObject; var _local1:int = (objects.length - 1); while (_local1 >= 0) { _local2 = objects[_local1]; removeObject(_local2); _local1--; }; objects = []; } public function get visible():Boolean{ return (isVisible); } public function render():void{ var _local2:RenderObject; if (sortMethod != null){ objects.sort(sortMethod); }; var _local1:int; while (_local1 < objects.length) { _local2 = objects[_local1]; _local2.render(_renderer); _local1++; }; } } }//package com.soybeansoft.display.blit
Section 12
//Render (com.soybeansoft.display.blit.Render) package com.soybeansoft.display.blit { import flash.display.*; import flash.geom.*; public class Render extends Bitmap { private const ZEROPOINT:Point; private var layers:Array; private var paralaxes:Array; private var frame:Rectangle; public function Render(_arg1:int, _arg2:int){ layers = []; paralaxes = []; ZEROPOINT = new Point(); super(); bitmapData = new BitmapData(_arg1, _arg2, false, 0); frame = bitmapData.rect; } public function set cameraBorders(_arg1:Rectangle):void{ if (_arg1.width > frame.width){ _arg1.x = (frame.width * 0.5); _arg1.width = (_arg1.width - frame.width); }; if (_arg1.height > frame.height){ _arg1.y = (frame.height * 0.5); _arg1.height = (_arg1.height - frame.height); }; Camera2D.instance.borders = _arg1; Camera2D.instance.frame = new Rectangle(_arg1.left, _arg1.top, frame.width, frame.height); } public function set cameraTarget(_arg1:Point):void{ Camera2D.instance.target = _arg1; } public function removeLayer(_arg1:Layer):Boolean{ var _local2:int; while (_local2 < layers.length) { if (layers[_local2] == _arg1){ layers.splice(_local2, 1); return (true); }; _local2++; }; return (false); } public function getLayerDepth(_arg1:Layer):int{ return (layers.indexOf(_arg1)); } public function render():void{ var _local2:Layer; Camera2D.instance.update(); bitmapData.lock(); bitmapData.fillRect(frame, 0); var _local1:int; while (_local1 < layers.length) { _local2 = layers[_local1]; _local2.render(); _local1++; }; bitmapData.unlock(); } public function addLayer(_arg1:Layer):void{ layers.push(_arg1); _arg1.renderer = this; } public function get cameraBorders():Rectangle{ return (Camera2D.instance.borders); } public function get cameraTarget():Point{ return (Camera2D.instance.target); } } }//package com.soybeansoft.display.blit
Section 13
//Assets (com.soybeansoft.manager.Assets) package com.soybeansoft.manager { import flash.display.*; import flash.utils.*; import flash.media.*; import flash.text.*; import flash.errors.*; public class Assets { private var fonts:Dictionary; private var sounds:Dictionary; private var bitmaps:Dictionary; private var vectors:Dictionary; private var registeredClasses:Dictionary; public static const VECTOR:String = "vector"; public static const BITMAP:String = "bitmap"; public static const FONT:String = "font"; public static const SOUND:String = "sound"; private static var allow:Boolean = false; private static var _instance:Assets; public function Assets(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; registeredClasses = new Dictionary(false); bitmaps = new Dictionary(false); vectors = new Dictionary(false); fonts = new Dictionary(false); sounds = new Dictionary(false); } public function add(_arg1:String, _arg2:String, _arg3):void{ switch (_arg1){ case BITMAP: bitmaps[_arg2] = _arg3; break; case VECTOR: vectors[_arg2] = _arg3; break; case FONT: fonts[_arg2] = _arg3; break; case SOUND: sounds[_arg2] = _arg3; break; }; } public function register(_arg1:String, _arg2:Class):void{ registeredClasses[_arg1] = _arg2; } public function load(_arg1:String, _arg2:String):void{ var _local3:Class; var _local4:Bitmap; var _local5:Class; var _local6:Sprite; var _local7:Class; var _local8:Font; var _local9:Class; var _local10:Sound; switch (_arg1){ case BITMAP: if ((((bitmaps[_arg2] == null)) && (!((registeredClasses[_arg2] == null))))){ _local3 = registeredClasses[_arg2]; _local4 = (new (_local3) as Bitmap); add(BITMAP, _arg2, _local4); }; break; case VECTOR: if ((((vectors[_arg2] == null)) && (!((registeredClasses[_arg2] == null))))){ _local5 = registeredClasses[_arg2]; _local6 = (new (_local5) as Sprite); add(VECTOR, _arg2, _local6); }; break; case FONT: if ((((fonts[_arg2] == null)) && (!((registeredClasses[_arg2] == null))))){ _local7 = registeredClasses[_arg2]; _local8 = (new (_local7) as Font); add(FONT, _arg2, _local8); }; break; case SOUND: if ((((sounds[_arg2] == null)) && (!((registeredClasses[_arg2] == null))))){ _local9 = registeredClasses[_arg2]; _local10 = (new (_local9) as Sound); add(SOUND, _arg2, _local10); }; break; }; } public function remove(_arg1:String, _arg2:String):void{ var _local3:Bitmap; switch (_arg1){ case BITMAP: _local3 = (bitmaps[_arg2] as Bitmap); _local3.bitmapData.dispose(); delete bitmaps[_arg2]; break; case VECTOR: delete vectors[_arg2]; break; case FONT: delete fonts[_arg2]; break; case SOUND: delete sounds[_arg2]; break; }; } public function reset():void{ var _local1:String; for (_local1 in bitmaps) { remove(BITMAP, _local1); }; for (_local1 in vectors) { remove(VECTOR, _local1); }; for (_local1 in fonts) { remove(FONT, _local1); }; for (_local1 in sounds) { remove(SOUND, _local1); }; } public function fetch(_arg1:String, _arg2:String){ switch (_arg1){ case BITMAP: return ((bitmaps[_arg2] as Bitmap)); case VECTOR: return ((vectors[_arg2] as Sprite)); case FONT: return ((fonts[_arg2] as Font)); case SOUND: return ((sounds[_arg2] as Sound)); }; return (null); } public static function get instance():Assets{ if (_instance == null){ allow = true; _instance = new (Assets); allow = false; }; return (_instance); } } }//package com.soybeansoft.manager
Section 14
//SharedObjects (com.soybeansoft.manager.SharedObjects) package com.soybeansoft.manager { import flash.net.*; import flash.errors.*; public class SharedObjects { private var listSO:Object; private var id:String; private var SO:SharedObject; private static var _instance:SharedObjects; private static var allow:Boolean = false; public function SharedObjects(){ listSO = {}; super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function update():Boolean{ if (SO != null){ SO.flush(); return (true); }; return (false); } public function get currentID():String{ return (id); } public function get current():SharedObject{ return (SO); } public function setup(_arg1:String):void{ this.id = _arg1; var _local2:SharedObject = SharedObject.getLocal(_arg1); listSO[_arg1] = _local2; } public function apply(_arg1:String):Boolean{ if (listSO[_arg1] != null){ this.id = _arg1; SO = listSO[_arg1]; return (true); }; return (false); } public static function get instance():SharedObjects{ if (!_instance){ allow = true; _instance = new (SharedObjects); allow = false; }; return (_instance); } } }//package com.soybeansoft.manager
Section 15
//Sounds (com.soybeansoft.manager.Sounds) package com.soybeansoft.manager { import flash.events.*; import flash.utils.*; import flash.media.*; import flash.errors.*; public class Sounds { private var _musicVolume:Number; private var music:Sound; private var _fxVolume:Number; private var fxVolume:Number; private var musicChannel:SoundChannel; private var fxList:Dictionary; private var masterVolume:Number; private var musicVolume:Number; private static var _instance:Sounds; private static var allow:Boolean = false; public function Sounds(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; fxList = new Dictionary(false); adjust(0.5, 1, 0.7); } public function addFX(_arg1:String, _arg2:uint, _arg3:int):void{ fxList[_arg1] = {delay:_arg2, ticks:0, wait:false, channel:[], channels:_arg3, channelIndex:0}; } public function playFX(_arg1:String):void{ var _local2:Object = fxList[_arg1]; if (_local2.wait){ if ((getTimer() - _local2.ticks) >= _local2.delay){ _local2.wait = false; }; }; if (_local2.channels <= 0){ Sound(Assets.instance.fetch(Assets.SOUND, _arg1)).play(0, 1, new SoundTransform((_fxVolume * masterVolume))); } else { if (_local2.channel[_local2.channelIndex] != null){ _local2.channel[_local2.channelIndex].stop(); }; _local2.channel[_local2.channelIndex] = Sound(Assets.instance.fetch(Assets.SOUND, _arg1)).play(0, 1, new SoundTransform((_fxVolume * masterVolume))); _local2.channelIndex++; if (_local2.channelIndex >= _local2.channels){ _local2.channelIndex = 0; }; }; _local2.wait = true; _local2.ticks = getTimer(); } public function playMusic(_arg1:String):void{ music = (Assets.instance.fetch(Assets.SOUND, _arg1) as Sound); musicChannel = music.play(0, int.MAX_VALUE, new SoundTransform((_musicVolume * masterVolume))); if (!musicChannel.hasEventListener(Event.SOUND_COMPLETE)){ musicChannel.addEventListener(Event.SOUND_COMPLETE, onMusicLoop); }; } public function adjust(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.masterVolume = _arg1; this.musicVolume = (_musicVolume = _arg2); this.fxVolume = (_fxVolume = _arg3); SoundMixer.soundTransform = new SoundTransform(_arg1, 0); } public function stopMusic():void{ musicChannel.stop(); if (musicChannel.hasEventListener(Event.SOUND_COMPLETE)){ musicChannel.removeEventListener(Event.SOUND_COMPLETE, onMusicLoop); }; musicChannel = null; music = null; } public function set muteEffect(_arg1:Boolean):void{ if (_arg1){ _fxVolume = 0; } else { _fxVolume = fxVolume; }; } private function onMusicLoop(_arg1:Event):void{ musicChannel = music.play(0, int.MAX_VALUE, new SoundTransform((_musicVolume * masterVolume))); } public function set muteMusic(_arg1:Boolean):void{ if (_arg1){ _musicVolume = 0; } else { _musicVolume = musicVolume; }; var _local2:SoundTransform = new SoundTransform((_musicVolume * masterVolume)); if (musicChannel != null){ musicChannel.soundTransform = _local2; }; } public static function get instance():Sounds{ if (_instance == null){ allow = true; _instance = new (Sounds); allow = false; }; return (_instance); } } }//package com.soybeansoft.manager
Section 16
//Particle (com.soybeansoft.play.blit.particle.Particle) package com.soybeansoft.play.blit.particle { import flash.geom.*; import com.soybeansoft.play.blit.*; import com.soybeansoft.util.*; import flash.errors.*; public class Particle extends PlayObject { protected var currentLifetime:int; protected var lifetime:int; public static const name:String = "Particle"; public function Particle(_arg1:Point, _arg2:AObjectFactory){ super(_arg1.clone(), _arg2); currentLifetime = 1; build(); init(); } protected function preRemove():void{ } override public function update():void{ if (deltaLife() >= 1){ remove(); } else { updatePosition(); currentLifetime++; if (face != null){ face.nextFrame(); }; }; } protected function remove():void{ preRemove(); isActive = false; } override protected function build():void{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function init(_arg1:int=0, _arg2:int=360, _arg3:Number=0.5, _arg4:Number=1, _arg5:int=10, _arg6:int=50):void{ var _local7:Number; _local7 = MathUtil.rangedRandom(_arg1, _arg2); speed = MathUtil.rangedRandom(_arg3, _arg4, 0.1); lifetime = int(MathUtil.rangedRandom(_arg5, _arg6)); vector = new Point(Math.cos(MathUtil.deg2rad(_local7)), Math.sin(MathUtil.deg2rad(_local7))); } public function deltaLife():Number{ return ((currentLifetime / lifetime)); } protected function get allFrameLifeTime():int{ return ((face.frameCount * (face.delay + 1))); } protected function updatePosition():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); } override public function get type():String{ return (name); } } }//package com.soybeansoft.play.blit.particle
Section 17
//ParticleEmitter (com.soybeansoft.play.blit.particle.ParticleEmitter) package com.soybeansoft.play.blit.particle { import flash.geom.*; import com.soybeansoft.play.blit.*; import flash.errors.*; public class ParticleEmitter extends PlayObject { protected var currentLifetime:int; protected var delay:int; protected var lifetime:int; protected var currentSpawntime:int; protected var radius:int; protected var spawnBehind:Boolean; protected var count:int; protected var isRunning:Boolean; public static const name:String = "ParticleEmitter"; public function ParticleEmitter(_arg1:Point, _arg2:AObjectFactory, _arg3:int=1, _arg4:int=1, _arg5:int=-1, _arg6:int=0, _arg7:Boolean=false){ this.radius = _arg6; this.count = _arg3; this.delay = _arg4; this.lifetime = _arg5; this.spawnBehind = _arg7; super(_arg1.clone(), _arg2); isRenderable = false; isRunning = false; currentSpawntime = 0; currentLifetime = 0; } public function stop():void{ currentSpawntime = 0; currentLifetime = 0; isRunning = false; isActive = false; } protected function deltaTime():Number{ if (delay > 0){ return ((currentSpawntime / delay)); }; return (1); } override public function update():void{ var _local1:int; if (deltaLife() < 1){ if (isRunning){ if (deltaTime() >= 1){ _local1 = 0; while (_local1 < count) { factory.add(setupParticle(), spawnBehind); _local1++; }; currentSpawntime = 0; }; currentSpawntime++; }; currentLifetime++; } else { stop(); }; } protected function deltaLife():Number{ if (lifetime > 0){ return ((currentLifetime / lifetime)); }; return (0); } protected function setupParticle():PlayObjectSetup{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get type():String{ return (name); } public function start():void{ isRunning = true; } } }//package com.soybeansoft.play.blit.particle
Section 18
//AObjectFactory (com.soybeansoft.play.blit.AObjectFactory) package com.soybeansoft.play.blit { public class AObjectFactory { protected var addCallback:Function; protected var removeCallback:Function; public function AObjectFactory(_arg1:Function, _arg2:Function){ this.addCallback = _arg1; this.removeCallback = _arg2; } public function add(_arg1:PlayObjectSetup, _arg2:Boolean=false):void{ addCallback(create(_arg1), _arg2); } public function remove(_arg1:PlayObject):void{ removeCallback(_arg1); } protected function create(_arg1:PlayObjectSetup):PlayObject{ return (null); } } }//package com.soybeansoft.play.blit
Section 19
//AObjectManager (com.soybeansoft.play.blit.AObjectManager) package com.soybeansoft.play.blit { import flash.display.*; import com.soybeansoft.display.blit.*; public class AObjectManager { public var factory:AObjectFactory; protected var objects:Array; protected var object:Layer; public function AObjectManager(_arg1:Layer){ this.object = _arg1; objects = []; } protected function add(_arg1:PlayObject, _arg2:Boolean=false):void{ if (_arg1 != null){ object.addObject(_arg1, _arg2); objects.push(_arg1); }; } protected function gather(_arg1:String):Array{ var _local4:PlayObject; var _local2:Array = []; var _local3:int; while (_local3 < objects.length) { _local4 = objects[_local3]; if (_local4.type == _arg1){ _local2.push(_local4); }; _local3++; }; return (_local2); } public function cleanup():void{ object.cleanup(); objects = []; } protected function match(_arg1:String, _arg2:PlayObject):Boolean{ var _local4:PlayObject; var _local3:int; while (_local3 < objects.length) { _local4 = objects[_local3]; if ((((_local4.type == _arg1)) && ((_local4 == _arg2)))){ return (true); }; _local3++; }; return (false); } public function update():void{ var _local1:int; var _local2:PlayObject; if (objects.length > 0){ preUpdate(); _local1 = 0; while (_local1 < objects.length) { _local2 = objects[_local1]; _local2.update(); if (_local2.mapCollide != null){ _local2.mapCollide.update(mapCollideBitmapData()); }; if (!_local2.active){ remove(_local2); }; _local1++; }; postUpdate(); }; } protected function remove(_arg1:PlayObject):void{ var _local2:int; if (object.removeObject(_arg1)){ _local2 = objects.indexOf(_arg1); objects.splice(_local2, 1); } else { trace((("!!! Unable to remove object: " + _arg1.type) + " from objectLayer !!!")); }; } protected function compare(_arg1:PlayObject, _arg2:PlayObject):Boolean{ return ((_arg1 === _arg2)); } protected function gatherById(_arg1:int):Array{ var _local2:Array = []; return (_local2); } protected function preUpdate():void{ } public function count(_arg1:String=""):int{ var _local3:int; var _local4:PlayObject; var _local2:int = objects.length; if (_arg1 != ""){ _local2 = 0; _local3 = 0; while (_local3 < objects.length) { _local4 = objects[_local3]; if (_local4.type == _arg1){ _local2++; }; _local3++; }; }; return (_local2); } protected function postUpdate():void{ } protected function find(_arg1:String):PlayObject{ var _local3:PlayObject; var _local2:int; while (_local2 < objects.length) { _local3 = objects[_local2]; if (_local3.type == _arg1){ return (_local3); }; _local2++; }; return (null); } protected function mapCollideBitmapData():BitmapData{ return (null); } } }//package com.soybeansoft.play.blit
Section 20
//PlayObject (com.soybeansoft.play.blit.PlayObject) package com.soybeansoft.play.blit { import flash.geom.*; import com.soybeansoft.display.blit.objects.*; import com.soybeansoft.play.physics.*; import com.soybeansoft.util.*; public class PlayObject extends RenderObject { public var mapCollide:MapCollide; public var vector:Point; protected var speed:Number; protected var factory:AObjectFactory; protected var isActive:Boolean; protected var hit:Rectangle; protected var assetName:String; protected var face:RectTiles; protected var facePos:Point; public function PlayObject(_arg1:Point, _arg2:AObjectFactory){ vector = new Point(); hit = new Rectangle(); super(); this.position = _arg1; this.factory = _arg2; isActive = true; build(); } public function hitTest(_arg1:PlayObject):Boolean{ return (hitbox.intersects(_arg1.hitbox)); } public function update():void{ } public function get active():Boolean{ return (isActive); } public function get hitbox():Rectangle{ return (new Rectangle((position.x + hit.x), (position.y + hit.y), hit.width, hit.height)); } protected function build():void{ } override public function get type():String{ return ("PlayObject"); } protected function fixCollidedVector(_arg1:Number, _arg2:Number):Number{ if ((((_arg1 < 0)) && ((_arg2 < 0)))){ _arg2 = Math.abs(_arg2); } else { if ((((_arg1 > 0)) && ((_arg2 > 0)))){ _arg2 = (_arg2 * -1); }; }; return (_arg2); } } }//package com.soybeansoft.play.blit
Section 21
//PlayObjectSetup (com.soybeansoft.play.blit.PlayObjectSetup) package com.soybeansoft.play.blit { import flash.geom.*; public class PlayObjectSetup { public var id:int; public var pos:Point; public function PlayObjectSetup(_arg1:int, _arg2:Point){ this.id = _arg1; this.pos = _arg2; } } }//package com.soybeansoft.play.blit
Section 22
//ModData (com.soybeansoft.play.items.ModData) package com.soybeansoft.play.items { public class ModData { private var operator:String; private var operand:Number; public static const ADD:String = "add"; public static const DIV:String = "div"; public static const MUL:String = "mul"; public static const SUB:String = "sub"; public static const IS:String = "is"; public function ModData(_arg1:String, _arg2:Number){ this.operator = _arg1; this.operand = _arg2; } public function desc():String{ var _local1:String; switch (operator){ case ModData.ADD: _local1 = ("+" + operand.toString()); break; case ModData.MUL: _local1 = ("x" + operand.toString()); break; case ModData.SUB: _local1 = ("-" + operand.toString()); break; case ModData.DIV: _local1 = ("/" + operand.toString()); break; case ModData.IS: _local1 = operand.toString(); break; }; return (_local1); } public function value(_arg1:Number=1):Number{ var _local2:int; switch (operator){ case ModData.ADD: _local2 = (_arg1 + operand); break; case ModData.MUL: _local2 = (_arg1 * operand); break; case ModData.SUB: _local2 = (_arg1 - operand); break; case ModData.DIV: _local2 = (_arg1 / operand); break; case ModData.IS: _local2 = operand; break; }; return (_local2); } public function get type():String{ return (operator); } } }//package com.soybeansoft.play.items
Section 23
//MapCollide (com.soybeansoft.play.physics.MapCollide) package com.soybeansoft.play.physics { import flash.display.*; import flash.geom.*; import com.soybeansoft.play.blit.*; import flash.errors.*; public class MapCollide { protected var rules:Array; protected var hitPositions:Array; protected var object:PlayObject; public function MapCollide(_arg1:PlayObject){ rules = []; this.object = _arg1; } protected function checkCollideRule(_arg1:Point, _arg2:BitmapData):void{ var _local3:int; if (rules.length > 0){ _local3 = 0; while (_local3 < rules.length) { if (_arg2.getPixel(_arg1.x, _arg1.y) == rules[_local3].color){ rules[_local3].callback(rules[_local3].color); }; _local3++; }; }; } final public function addRule(_arg1:MapCollideRule):void{ rules.push(_arg1); } final public function update(_arg1:BitmapData):void{ var _local2:int; hitPositions = calcHitPositions(); if (hitPositions.length > 0){ _local2 = 0; while (_local2 < hitPositions.length) { checkCollideRule(hitPositions[_local2], _arg1); _local2++; }; }; } protected function calcHitPositions():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package com.soybeansoft.play.physics
Section 24
//MapCollideRule (com.soybeansoft.play.physics.MapCollideRule) package com.soybeansoft.play.physics { public class MapCollideRule { public var color:int; public var callback:Function; public function MapCollideRule(_arg1:int, _arg2:Function){ this.color = _arg1; this.callback = _arg2; } } }//package com.soybeansoft.play.physics
Section 25
//BasicTransition (com.soybeansoft.ui.transition.BasicTransition) package com.soybeansoft.ui.transition { import flash.display.*; import com.soybeansoft.ui.*; import flash.geom.*; public class BasicTransition extends Transition { private var blackScreen:Sprite; public function BasicTransition(_arg1:Sprite, _arg2:Rectangle, _arg3:Function=null, _arg4:Function=null){ super(_arg1, _arg2, _arg3, _arg4); } override protected function isOpened():Boolean{ return ((blackScreen.alpha <= 0.1)); } override protected function createContent():Sprite{ blackScreen = new Sprite(); blackScreen.graphics.beginFill(0); blackScreen.graphics.drawRect(0, 0, bounds.width, bounds.height); if (!isOpening){ blackScreen.alpha = 0; }; return (blackScreen); } override protected function isClosed():Boolean{ return ((blackScreen.alpha >= 1)); } override protected function updateClosing():void{ blackScreen.alpha = (blackScreen.alpha + 0.2); } override protected function updateOpening():void{ blackScreen.alpha = (blackScreen.alpha - 0.2); } } }//package com.soybeansoft.ui.transition
Section 26
//BitmapButton (com.soybeansoft.ui.widget.BitmapButton) package com.soybeansoft.ui.widget { import flash.display.*; import flash.events.*; import flash.geom.*; public class BitmapButton extends SimpleButton { public var click:Function; public var mouseout:Function; private var hasSelection:Boolean; private var hit:Sprite; private var over:Bitmap; private var up:Bitmap; private var down:Bitmap; public var isSelected:Boolean; private var selected:Bitmap; private var disable:Bitmap; public var mousemove:Function; public var mouseover:Function; public function BitmapButton(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:Boolean=false){ var _local9:BitmapData; super(); hasSelection = _arg4; var _local5:BitmapData = new BitmapData(_arg2, _arg3, true); var _local6:BitmapData = new BitmapData(_arg2, _arg3, true); var _local7:BitmapData = new BitmapData(_arg2, _arg3, true); var _local8:BitmapData = new BitmapData(_arg2, _arg3, true); _local7.copyPixels(_arg1, new Rectangle(0, 0, _arg2, _arg3), new Point(0, 0)); _local5.copyPixels(_arg1, new Rectangle(0, _arg3, _arg2, _arg3), new Point(0, 0)); _local6.copyPixels(_arg1, new Rectangle(0, (_arg3 * 2), _arg2, _arg3), new Point(0, 0)); _local8.copyPixels(_arg1, new Rectangle(0, (_arg3 * 3), _arg2, _arg3), new Point(0, 0)); if (hasSelection){ _local9 = new BitmapData(_arg2, _arg3, true); _local9.copyPixels(_arg1, new Rectangle(0, (_arg1.height - (_arg3 * 5)), _arg2, _arg3), new Point(0, 0)); selected = new Bitmap(_local9); }; up = new Bitmap(_local7); over = new Bitmap(_local5); down = new Bitmap(_local6); disable = new Bitmap(_local8); hit = new Sprite(); hit.graphics.beginFill(0); hit.graphics.drawRect(0, 0, _arg2, _arg3); this.upState = up; this.overState = over; this.downState = down; this.hitTestState = hit; this.addEventListener(MouseEvent.CLICK, onClickHandler); this.addEventListener(MouseEvent.MOUSE_MOVE, onMoveHandler); this.addEventListener(MouseEvent.MOUSE_OVER, onOverHandler); this.addEventListener(MouseEvent.MOUSE_OUT, onOutHandler); } public function unlock():void{ this.enabled = true; if (isSelected){ this.upState = selected; } else { this.upState = up; }; } public function setUnselected():void{ if (hasSelection){ if (this.enabled){ this.upState = up; } else { this.upState = disable; }; isSelected = false; this.overState = over; }; } public function toggleSelected():void{ if (hasSelection){ this.upState = ((this.upState)==selected) ? up : selected; if (this.upState == selected){ isSelected = true; } else { isSelected = false; }; }; } private function onMoveHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mousemove is Function)))){ mousemove(); }; } public function setSelected(_arg1:Boolean=false):void{ if (hasSelection){ if (this.enabled){ this.upState = selected; } else { this.upState = disable; }; isSelected = true; if (_arg1){ this.overState = selected; }; }; } private function onClickHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((click is Function)))){ click(); }; } public function lock():void{ this.enabled = false; this.upState = disable; } private function onOverHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseover is Function)))){ mouseover(); }; } private function onOutHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseout is Function)))){ mouseout(); }; } } }//package com.soybeansoft.ui.widget
Section 27
//Input (com.soybeansoft.ui.widget.Input) package com.soybeansoft.ui.widget { import flash.text.*; public class Input extends Label { public function Input(_arg1:LabelStyle=null){ super("", _arg1); textField.type = TextFieldType.INPUT; textField.selectable = true; } } }//package com.soybeansoft.ui.widget
Section 28
//Label (com.soybeansoft.ui.widget.Label) package com.soybeansoft.ui.widget { import flash.geom.*; import flash.text.*; public class Label { protected var style:LabelStyle; protected var textFormat:TextFormat; protected var textField:TextField; public function Label(_arg1:String, _arg2:LabelStyle=null){ textField = new TextField(); textFormat = new TextFormat(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; textField.mouseWheelEnabled = false; this.style = ((_arg2)!=null) ? _arg2 : new LabelStyle(); update(_arg1, false, this.style); } public function render(... _args):void{ var _local2:Rectangle = new Rectangle(0, 0, 100, 10); if (_args[0] != null){ _local2 = (_args[0] as Rectangle); }; textField.width = _local2.width; textField.height = (textField.textHeight + 4); textField.x = _local2.x; textField.y = _local2.y; } public function update(_arg1:String="", _arg2:Boolean=false, _arg3:LabelStyle=null):void{ if (_arg3 != null){ setStyle(_arg3); }; if (style.style.html){ textField.htmlText = (_arg2) ? (textField.htmlText + _arg1) : _arg1; } else { textField.text = (_arg2) ? (textField.text + _arg1) : _arg1; }; } public function get element():TextField{ return (textField); } public function setStyle(_arg1:LabelStyle):void{ this.style = _arg1; textFormat.align = _arg1.style.align; textFormat.bold = _arg1.style.bold; textFormat.color = _arg1.style.color; textFormat.font = _arg1.style.font; textFormat.italic = _arg1.style.italic; textFormat.size = _arg1.style.size; textFormat.leading = _arg1.style.leading; textField.border = _arg1.style.border; textField.borderColor = _arg1.style.borderColor; textField.background = _arg1.style.background; textField.backgroundColor = _arg1.style.backgroundColor; textField.autoSize = _arg1.style.autoSize; textField.embedFonts = _arg1.style.embedFonts; textField.multiline = _arg1.style.multiLine; textField.wordWrap = _arg1.style.wordWrap; textField.restrict = _arg1.style.restrict; textField.displayAsPassword = _arg1.style.displayAsPassword; textField.maxChars = _arg1.style.maxChars; textField.antiAliasType = _arg1.style.antiAlias; textField.gridFitType = _arg1.style.grid; textField.filters = _arg1.style.filters; textField.defaultTextFormat = textFormat; } } }//package com.soybeansoft.ui.widget
Section 29
//LabelStyle (com.soybeansoft.ui.widget.LabelStyle) package com.soybeansoft.ui.widget { import flash.text.*; public class LabelStyle { private var _style:Object; public static const ALIGN_LEFT:String = TextFormatAlign.LEFT; public static const AUTOSIZE_CENTER:String = TextFieldAutoSize.CENTER; public static const AUTOSIZE_NONE:String = TextFieldAutoSize.NONE; public static const AUTOSIZE_RIGHT:String = TextFieldAutoSize.RIGHT; public static const ALIGN_CENTER:String = TextFormatAlign.CENTER; public static const ALIGN_RIGHT:String = TextFormatAlign.RIGHT; public static const AUTOSIZE_LEFT:String = TextFieldAutoSize.LEFT; public static const ALIGN_JUSTIFY:String = TextFormatAlign.JUSTIFY; public function LabelStyle(){ _style = {align:TextFormatAlign.LEFT, autoSize:TextFieldAutoSize.NONE, bold:false, color:0, font:"Arial", italic:false, size:12, border:false, borderColor:0, background:false, backgroundColor:0, embedFonts:false, multiLine:false, wordWrap:false, restrict:null, maxChars:0, displayAsPassword:false, filters:[], antiAlias:AntiAliasType.NORMAL, grid:GridFitType.NONE, leading:0, html:true}; } public function setAlign(_arg1:String):LabelStyle{ style.align = _arg1; return (this); } public function setLeading(_arg1:int):LabelStyle{ style.leading = _arg1; return (this); } public function setBold(_arg1:Boolean):LabelStyle{ style.bold = _arg1; return (this); } public function setGrid(_arg1:String):LabelStyle{ style.grid = _arg1; return (this); } public function setSize(_arg1:int):LabelStyle{ style.size = _arg1; return (this); } public function setMultiLine(_arg1:Boolean):LabelStyle{ style.multiLine = _arg1; return (this); } public function setHTML(_arg1:Boolean):LabelStyle{ style.html = _arg1; return (this); } public function setFont(_arg1:String):LabelStyle{ style.font = _arg1; return (this); } public function setAutoSize(_arg1:String):LabelStyle{ style.autoSize = _arg1; return (this); } public function setBackgroundColor(_arg1:int):LabelStyle{ style.backgroundColor = _arg1; return (this); } public function setBorderColor(_arg1:int):LabelStyle{ style.borderColor = _arg1; return (this); } public function setEmbed(_arg1:Boolean):LabelStyle{ style.embedFonts = _arg1; return (this); } public function setMaxChars(_arg1:int):LabelStyle{ style.maxChars = _arg1; return (this); } public function setPassword(_arg1:Boolean):LabelStyle{ style.displayAsPassword = _arg1; return (this); } public function setColor(_arg1:int):LabelStyle{ style.color = _arg1; return (this); } public function setAntiAliasType(_arg1:String):LabelStyle{ style.antiAlias = _arg1; return (this); } public function clone(_arg1:LabelStyle):LabelStyle{ var _local2:String; for (_local2 in _arg1.style) { _style[_local2] = _arg1.style[_local2]; }; return (this); } public function setBorder(_arg1:Boolean):LabelStyle{ style.border = _arg1; return (this); } public function setBackground(_arg1:Boolean):LabelStyle{ style.background = _arg1; return (this); } public function get style():Object{ return (_style); } public function setItalic(_arg1:Boolean):LabelStyle{ style.italic = _arg1; return (this); } public function setWordWrap(_arg1:Boolean):LabelStyle{ style.wordWrap = _arg1; return (this); } public function setFilter(_arg1:Array):LabelStyle{ style.filters = _arg1; return (this); } public function setRestrict(_arg1:String):LabelStyle{ style.restrict = _arg1; return (this); } } }//package com.soybeansoft.ui.widget
Section 30
//ScaleBitmapButton (com.soybeansoft.ui.widget.ScaleBitmapButton) package com.soybeansoft.ui.widget { import flash.display.*; import flash.events.*; import com.soybeansoft.manager.*; import flash.geom.*; import org.bytearray.display.*; public class ScaleBitmapButton extends SimpleButton { private var overLabel:Label; private var downLabel:Label; private var selectedLocked:ScaleBitmap; public var click:Function; public var mouseout:Function; private var overContainer:Sprite; private var disableContainer:Sprite; private var hit:Sprite; private var upLabel:Label; private var selected:ScaleBitmap; private var labelStyle:LabelStyle; private var selectedLabel:Label; private var down:ScaleBitmap; private var selectedContainer:Sprite; private var up:ScaleBitmap; private var upContainer:Sprite; private var overSound:String; private var hasSelect:Boolean; private var over:ScaleBitmap; private var outSound:String; public var isSelected:Boolean; private var clickSound:String; private var disable:ScaleBitmap; private var disableLabel:Label; private var selectedLockedLabel:Label; public var mousemove:Function; public var mouseover:Function; private var selectedLockedContainer:Sprite; private var downContainer:Sprite; public function ScaleBitmapButton(_arg1:String="", _arg2:BitmapData=null, _arg3:int=100, _arg4:int=50, _arg5:Rectangle=null, _arg6:Boolean=false){ var _local11:BitmapData; var _local12:BitmapData; super(); this.hasSelect = _arg6; upContainer = new Sprite(); overContainer = new Sprite(); downContainer = new Sprite(); disableContainer = new Sprite(); clickSound = ""; overSound = ""; outSound = ""; var _local7:BitmapData = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); var _local8:BitmapData = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); var _local9:BitmapData = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); var _local10:BitmapData = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); _local7.copyPixels(_arg2, new Rectangle(0, 0, _arg3, _arg4), new Point(0, 0)); _local8.copyPixels(_arg2, new Rectangle(0, _arg4, _arg3, _arg4), new Point(0, 0)); _local9.copyPixels(_arg2, new Rectangle(0, (_arg4 * 2), _arg3, _arg4), new Point(0, 0)); _local10.copyPixels(_arg2, new Rectangle(0, (_arg4 * 3), _arg3, _arg4), new Point(0, 0)); up = new ScaleBitmap(_local7); down = new ScaleBitmap(_local9); over = new ScaleBitmap(_local8); disable = new ScaleBitmap(_local10); if (_arg5 == null){ _arg5 = new Rectangle(); }; up.scale9Grid = _arg5; down.scale9Grid = _arg5; over.scale9Grid = _arg5; disable.scale9Grid = _arg5; labelStyle = new LabelStyle(); upLabel = new Label(_arg1, labelStyle); overLabel = new Label(_arg1, labelStyle); downLabel = new Label(_arg1, labelStyle); disableLabel = new Label(_arg1, labelStyle); upLabel.element.x = _arg5.x; upLabel.element.y = _arg5.y; overLabel.element.x = _arg5.x; overLabel.element.y = _arg5.y; downLabel.element.x = _arg5.x; downLabel.element.y = _arg5.y; disableLabel.element.x = _arg5.x; disableLabel.element.y = _arg5.y; downLabel.element.x = (downLabel.element.x + 1); downLabel.element.y = (downLabel.element.y + 1); disableLabel.element.alpha = 0.5; hit = new Sprite(); hit.graphics.beginFill(0); hit.graphics.drawRect(0, 0, _arg3, _arg4); upContainer.addChild(up); upContainer.addChild(upLabel.element); overContainer.addChild(over); overContainer.addChild(overLabel.element); downContainer.addChild(down); downContainer.addChild(downLabel.element); disableContainer.addChild(disable); disableContainer.addChild(disableLabel.element); if (_arg6){ _local11 = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); _local11.copyPixels(_arg2, new Rectangle(0, (_arg4 * 4), _arg3, _arg4), new Point(0, 0)); selected = new ScaleBitmap(_local11); selected.scale9Grid = _arg5; selectedLabel = new Label(_arg1, labelStyle); selectedLabel.element.x = _arg5.x; selectedLabel.element.y = _arg5.y; selectedContainer = new Sprite(); selectedContainer.addChild(selected); selectedContainer.addChild(selectedLabel.element); _local12 = new BitmapData(_arg3, _arg4, true, 0xFFFFFF); _local12.copyPixels(_arg2, new Rectangle(0, (_arg4 * 5), _arg3, _arg4), new Point(0, 0)); selectedLocked = new ScaleBitmap(_local12); selectedLocked.scale9Grid = _arg5; selectedLockedLabel = new Label(_arg1, labelStyle); selectedLockedLabel.element.x = _arg5.x; selectedLockedLabel.element.y = _arg5.y; selectedLockedContainer = new Sprite(); selectedLockedContainer.addChild(selectedLocked); selectedLockedContainer.addChild(selectedLockedLabel.element); selectedLockedLabel.element.alpha = 0.5; }; this.upState = upContainer; this.overState = overContainer; this.downState = downContainer; this.hitTestState = hit; this.addEventListener(MouseEvent.CLICK, onClickHandler); this.addEventListener(MouseEvent.MOUSE_MOVE, onMoveHandler); this.addEventListener(MouseEvent.MOUSE_OVER, onOverHandler); this.addEventListener(MouseEvent.MOUSE_OUT, onOutHandler); } public function select(_arg1:Boolean=false):void{ if (hasSelect){ if (this.enabled){ this.upState = selectedContainer; } else { this.upState = disableContainer; }; isSelected = true; if (_arg1){ this.overState = selectedContainer; }; }; } override public function set width(_arg1:Number):void{ up.width = _arg1; down.width = _arg1; over.width = _arg1; disable.width = _arg1; hit.width = _arg1; upLabel.element.width = (_arg1 - (scale9Grid.x * 2)); downLabel.element.width = (_arg1 - (scale9Grid.x * 2)); overLabel.element.width = (_arg1 - (scale9Grid.x * 2)); disableLabel.element.width = (_arg1 - (scale9Grid.x * 2)); if (hasSelect){ selected.width = _arg1; selectedLabel.element.width = (_arg1 - (scale9Grid.x * 2)); selectedLocked.width = _arg1; selectedLockedLabel.element.width = (_arg1 - (scale9Grid.x * 2)); }; } public function toggleSelected():void{ if (hasSelect){ this.upState = ((this.upState)==selected) ? upContainer : selectedContainer; if (this.upState == selected){ isSelected = true; } else { isSelected = false; }; }; } override public function get scale9Grid():Rectangle{ return (up.scale9Grid); } private function onClickHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((click is Function)))){ click(); if (clickSound != ""){ Sounds.instance.playFX(clickSound); }; }; } override public function get height():Number{ return (up.height); } public function lock():void{ this.enabled = false; if (isSelected){ this.upState = selectedLockedContainer; } else { this.upState = disableContainer; }; } override public function set scale9Grid(_arg1:Rectangle):void{ up.scale9Grid = _arg1; down.scale9Grid = _arg1; over.scale9Grid = _arg1; disable.scale9Grid = _arg1; if (hasSelect){ selected.scale9Grid = _arg1; selectedLocked.scale9Grid = _arg1; }; } public function updateLabel(_arg1:String):void{ upLabel.update(_arg1); overLabel.update(_arg1); downLabel.update(_arg1); disableLabel.update(_arg1); if (hasSelect){ selectedLabel.update(_arg1); selectedLockedLabel.update(_arg1); }; } override public function get width():Number{ return (up.width); } override public function set height(_arg1:Number):void{ up.height = _arg1; down.height = _arg1; over.height = _arg1; disable.height = _arg1; hit.height = _arg1; upLabel.element.height = (_arg1 - (scale9Grid.y * 2)); downLabel.element.height = (_arg1 - (scale9Grid.y * 2)); overLabel.element.height = (_arg1 - (scale9Grid.y * 2)); disableLabel.element.height = (_arg1 - (scale9Grid.y * 2)); upLabel.element.y = int(((_arg1 - upLabel.element.height) * 0.5)); downLabel.element.y = int(((_arg1 - downLabel.element.height) * 0.5)); overLabel.element.y = int(((_arg1 - overLabel.element.height) * 0.5)); disableLabel.element.y = int(((_arg1 - disableLabel.element.height) * 0.5)); downLabel.element.y = (downLabel.element.y + 1); if (hasSelect){ selected.height = _arg1; selectedLabel.element.height = (_arg1 - (scale9Grid.y * 2)); selectedLabel.element.y = int(((_arg1 - selectedLabel.element.height) * 0.5)); selectedLocked.height = _arg1; selectedLockedLabel.element.height = (_arg1 - (scale9Grid.y * 2)); selectedLockedLabel.element.y = int(((_arg1 - selectedLockedLabel.element.height) * 0.5)); }; } private function onMoveHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mousemove is Function)))){ mousemove(); }; } private function onOutHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseout is Function)))){ mouseout(); if (outSound != ""){ Sounds.instance.playFX(outSound); }; }; } public function unselect():void{ if (hasSelect){ if (this.enabled){ this.upState = upContainer; } else { this.upState = disableContainer; }; isSelected = false; this.overState = overContainer; }; } public function unlock():void{ this.enabled = true; if (isSelected){ this.upState = selectedContainer; } else { this.upState = upContainer; }; } public function set buttonLabelStyle(_arg1:LabelStyle):void{ var _local2:LabelStyle = new LabelStyle().clone(_arg1).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setAlign(LabelStyle.ALIGN_CENTER).setWordWrap(true).setMultiLine(true); upLabel.update(upLabel.element.text, false, _local2); downLabel.update(downLabel.element.text, false, _local2); overLabel.update(overLabel.element.text, false, _local2); disableLabel.update(disableLabel.element.text, false, _local2); if (hasSelect){ selectedLabel.update(selectedLabel.element.text, false, _local2); selectedLockedLabel.update(selectedLockedLabel.element.text, false, _local2); }; } public function addSound(_arg1:String, _arg2:String="", _arg3:String=""):void{ clickSound = _arg1; overSound = _arg2; outSound = _arg3; } private function onOverHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseover is Function)))){ mouseover(); if (overSound != ""){ Sounds.instance.playFX(overSound); }; }; } } }//package com.soybeansoft.ui.widget
Section 31
//Dialog (com.soybeansoft.ui.Dialog) package com.soybeansoft.ui { import flash.display.*; import com.soybeansoft.*; public class Dialog { protected var app:App; protected var callback:Function; protected var container:Sprite; protected var parent:Sprite; public function Dialog(_arg1:App, _arg2:Sprite, _arg3:Function){ this.app = _arg1; this.parent = _arg2; this.callback = _arg3; container = new Sprite(); } public function captureInputs():void{ } public function init(_arg1:Object):void{ } public function releaseInputs():void{ } public function close():void{ if (parent.contains(container)){ parent.removeChild(container); }; if (callback != null){ callback(); }; } public function open():void{ parent.addChild(container); } } }//package com.soybeansoft.ui
Section 32
//Screen (com.soybeansoft.ui.Screen) package com.soybeansoft.ui { import flash.display.*; import com.soybeansoft.*; import flash.geom.*; import com.soybeansoft.ui.transition.*; import flash.errors.*; public class Screen { protected var container:Sprite; protected var transition:Transition; protected var contentLayer:Sprite; protected var cursorLayer:Sprite; protected var app:App; protected var currentDialog:Dialog; protected var dialogLayer:Sprite; protected var dialogs:Array; protected var nextScreenId:String; protected var transitionLayer:Sprite; public function Screen(_arg1:App){ this.app = _arg1; container = new Sprite(); contentLayer = new Sprite(); dialogLayer = new Sprite(); cursorLayer = new Sprite(); transitionLayer = new Sprite(); container.addChild(contentLayer); container.addChild(dialogLayer); container.addChild(cursorLayer); container.addChild(transitionLayer); transition = getTrans(); dialogs = []; } final public function initDialog(_arg1:String, _arg2:Object):void{ var _local3:Dialog; if (dialogs[_arg1] != null){ _local3 = dialogs[_arg1]; _local3.init(_arg2); } else { throw (new IllegalOperationError(("No such dialog, name: " + _arg1))); }; } final public function open():void{ transition.init(true); init(); app.sprite.addChild(container); transition.start(); } public function captureInputs():void{ } public function init():void{ } public function releaseInputs():void{ } final public function addDialog(_arg1:String, _arg2:Dialog):void{ dialogs[_arg1] = _arg2; } final protected function goto():void{ app.displayScreen(nextScreenId); } public function cleanup():void{ app.sprite.removeChild(container); } final public function showDialog(_arg1:String):void{ if (dialogs[_arg1] != null){ currentDialog = dialogs[_arg1]; currentDialog.open(); } else { throw (new IllegalOperationError(("No such dialog, name: " + _arg1))); }; } final public function removeDialog(_arg1:String):void{ delete dialogs[_arg1]; } final public function hideDialog():void{ if (currentDialog != null){ currentDialog.close(); }; } protected function getTrans():Transition{ return (new BasicTransition(transitionLayer, new Rectangle(0, 0, app.width, app.height), play, goto)); } public function play():void{ } public function pause():void{ } final public function close():void{ transition.init(); pause(); transition.start(); } } }//package com.soybeansoft.ui
Section 33
//Transition (com.soybeansoft.ui.Transition) package com.soybeansoft.ui { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.geom.*; public class Transition { protected var timer:Timer; protected var parent:Sprite; protected var onOpenedCallback:Function; protected var isOpening:Boolean; protected var onClosedCallback:Function; protected var bounds:Rectangle; public function Transition(_arg1:Sprite, _arg2:Rectangle, _arg3:Function=null, _arg4:Function=null){ this.parent = _arg1; this.bounds = _arg2; onOpenedCallback = _arg3; onClosedCallback = _arg4; timer = new Timer(100); timer.addEventListener(TimerEvent.TIMER, onTimer); } public function start():void{ timer.start(); } protected function onTimer(_arg1:TimerEvent):void{ if (isOpening){ if (!isOpened()){ updateOpening(); } else { timer.reset(); parent.removeChildAt(0); if (onOpenedCallback != null){ onOpenedCallback(); }; }; } else { if (!isClosed()){ updateClosing(); } else { timer.reset(); parent.removeChildAt(0); if (onClosedCallback != null){ onClosedCallback(); }; }; }; } protected function isOpened():Boolean{ return (true); } protected function updateClosing():void{ } protected function updateOpening():void{ } protected function isClosed():Boolean{ return (true); } public function init(_arg1:Boolean=false):void{ this.isOpening = _arg1; parent.addChildAt(createContent(), 0); } protected function createContent():Sprite{ return (null); } } }//package com.soybeansoft.ui
Section 34
//ArrayUtil (com.soybeansoft.util.ArrayUtil) package com.soybeansoft.util { public class ArrayUtil { public static function shuffle(_arg1:Array):Array{ var _local2:int; var _local3:*; var _local4:int = (_arg1.length - 1); while (_local4 >= 0) { _local2 = Math.floor(((_local4 + 1) * Math.random())); _local3 = _arg1[_local4]; _arg1[_local4] = _arg1[_local2]; _arg1[_local2] = _local3; _local4--; }; return (_arg1); } public static function copyArray(_arg1:Array):Array{ var _local3:String; var _local2:Array = []; for (_local3 in _arg1) { _local2.push(_arg1[_local3]); }; return (_local2); } public static function findIndexOfElement(_arg1:Array, _arg2):int{ var _local3:int; var _local4:int; while (_local4 < _arg1.length) { if (_arg1[_local4] == _arg2){ _local3 = _local4; break; }; _local4++; }; return (_local3); } public static function addElementValue(_arg1:Array):int{ var _local3:int; var _local2:int; while (_local3 < _arg1.length) { _local2 = (_local2 + _arg1[_local3]); _local3++; }; return (_local2); } } }//package com.soybeansoft.util
Section 35
//BitmapClips (com.soybeansoft.util.BitmapClips) package com.soybeansoft.util { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.geom.*; public class BitmapClips extends Clips { protected var timer:Timer; protected var maxLoop:int; protected var _bitmap:Bitmap; protected var currentLoop:int; public function BitmapClips(_arg1:String, _arg2:int=0, _arg3:int=0){ super(_arg1, _arg2, _arg3); update(_arg1, _arg2, _arg3); } override public function nextFrame():void{ super.nextFrame(); render(); if ((((maxLoop > 0)) && ((clipFrame == (clipFrames.length - 1))))){ currentLoop++; }; } public function stop(_arg1:Boolean=false):void{ timer.reset(); currentLoop = 0; if (_arg1){ goToFrame(0); }; } protected function onTick(_arg1:TimerEvent):void{ nextFrame(); if ((((maxLoop > 0)) && ((currentLoop == maxLoop)))){ stop(); }; } override public function update(_arg1:String, _arg2:int=0, _arg3:int=0):void{ super.update(_arg1, _arg2, _arg3); if (_bitmap == null){ _bitmap = new Bitmap(new BitmapData(_arg2, _arg3, true, 0xFFFFFF)); } else { _bitmap.bitmapData = new BitmapData(_arg2, _arg3, true, 0xFFFFFF); }; if (timer == null){ timer = new Timer(30); timer.addEventListener(TimerEvent.TIMER, onTick); }; currentLoop = 0; maxLoop = 0; goToFrame(0); } public function get bitmap():Bitmap{ return (_bitmap); } override public function goToFrame(_arg1:int):void{ super.goToFrame(_arg1); render(); } public function play(_arg1:int=0):void{ maxLoop = _arg1; timer.start(); } protected function render():void{ _bitmap.bitmapData.fillRect(new Rectangle(0, 0, width, height), 0xFFFFFF); _bitmap.bitmapData.copyPixels(_buffer.clone(), rect, new Point()); } } }//package com.soybeansoft.util
Section 36
//BitmapMovie (com.soybeansoft.util.BitmapMovie) package com.soybeansoft.util { import flash.events.*; import flash.display.*; import flash.geom.*; public class BitmapMovie extends Sprite { private var container:Bitmap; private var curLoop:int; private var tiles:Array; private var curFrame:int; private var perFrameDelay:int; private var frameWidth:int; private var maxLoop:int; public var frames:int; private var curFrameDelay:int; private var frameHeight:int; public function BitmapMovie(_arg1:BitmapData, _arg2:int, _arg3:int){ frameWidth = _arg2; frameHeight = _arg3; tiles = new Array(); container = new Bitmap(); curFrame = 0; frames = 0; curLoop = 0; maxLoop = 0; perFrameDelay = 0; curFrameDelay = 0; setupFrames(_arg1); addChild(container); } public function setupFrames(_arg1:BitmapData):void{ var _local5:int; var _local6:BitmapData; var _local2:int = int((_arg1.width / frameWidth)); var _local3:int = int((_arg1.height / frameHeight)); tiles = []; frames = 0; var _local4:int; while (_local4 < _local3) { _local5 = 0; while (_local5 < _local2) { _local6 = new BitmapData(frameWidth, frameHeight, true); _local6.copyPixels(_arg1, new Rectangle((_local5 * frameWidth), (_local4 * frameHeight), frameWidth, frameHeight), new Point(0, 0)); tiles.push(_local6); frames++; _local5++; }; _local4++; }; container.bitmapData = tiles[curFrame]; } public function get frameBitmapData():BitmapData{ return (container.bitmapData); } public function stop():void{ if (hasEventListener(Event.ENTER_FRAME)){ removeEventListener(Event.ENTER_FRAME, onTick); }; container.bitmapData = tiles[0]; curFrame = 0; } public function set delay(_arg1:int):void{ perFrameDelay = _arg1; } private function onTick(_arg1:Event):void{ nextFrame(); if ((((curLoop >= maxLoop)) && (!((maxLoop == 0))))){ stop(); }; } public function set count(_arg1:int):void{ maxLoop = _arg1; } public function goToFrame(_arg1:int):void{ container.bitmapData = tiles[_arg1]; curFrame = ((_arg1)>(tiles.length - 1)) ? (tiles.length - 1) : _arg1; } public function isNextFrame(_arg1:int):Boolean{ var _local2:Boolean; if (curFrame == (tiles.length - 1)){ _local2 = (((_arg1 == 0)) && ((curFrameDelay == 0))); } else { _local2 = ((((curFrame + 1) == _arg1)) && ((curFrameDelay == 0))); }; return (_local2); } public function play(_arg1:int=0, _arg2:int=0):void{ maxLoop = ((maxLoop)!=_arg2) ? _arg2 : maxLoop; perFrameDelay = ((perFrameDelay)!=_arg1) ? _arg1 : perFrameDelay; curLoop = 0; curFrameDelay = 0; addEventListener(Event.ENTER_FRAME, onTick); } public function nextFrame():void{ if (curFrameDelay == perFrameDelay){ curLoop = ((curFrame)==(tiles.length - 1)) ? (curLoop + 1) : curLoop; curFrame = ((curFrame)==(tiles.length - 1)) ? 0 : (curFrame + 1); container.bitmapData = tiles[curFrame]; curFrameDelay = 0; } else { curFrameDelay++; }; } } }//package com.soybeansoft.util
Section 37
//Clips (com.soybeansoft.util.Clips) package com.soybeansoft.util { import flash.display.*; import com.soybeansoft.manager.*; import flash.utils.*; import flash.geom.*; public class Clips { protected var _delay:int; protected var _length:int; protected var width:int; protected var rects:Array; protected var clipFrames:Array; protected var assetName:String; protected var _buffer:BitmapData; protected var clips:Dictionary; protected var frames:Array; protected var height:int; protected var _frame:int; protected var _clip:String; protected var _elapsed:int; public static const DEFAULT:String = "default"; public function Clips(_arg1:String, _arg2:int=0, _arg3:int=0){ update(_arg1, _arg2, _arg3); } public function get hasNextFrame():Boolean{ return (((_frame + 1) < clipFrames.length)); } public function nextFrame():void{ if (_elapsed == _delay){ _frame = (((_frame + 1))==clipFrames.length) ? 0 : (_frame + 1); _elapsed = 0; } else { _elapsed++; }; } public function get delay():int{ return (_delay); } public function get buffer():BitmapData{ return (_buffer); } public function update(_arg1:String, _arg2:int=0, _arg3:int=0):void{ var _local7:int; this.assetName = _arg1; this.width = _arg2; this.height = _arg3; if (_buffer == null){ _buffer = new BitmapData(_arg2, _arg3, true, 0xFFFFFF); } else { _buffer.fillRect(new Rectangle(0, 0, _arg2, _arg3), 0xFFFFFF); }; _buffer = BitmapData(Assets.instance.fetch(Assets.BITMAP, _arg1).bitmapData).clone(); if (this.width > _buffer.rect.width){ this.width = _buffer.rect.width; }; if (this.height > _buffer.rect.height){ this.height = _buffer.rect.height; }; rects = []; frames = []; var _local4:int = int((_buffer.rect.width / _arg2)); var _local5:int = int((_buffer.rect.height / _arg3)); var _local6:int; while (_local6 < _local5) { _local7 = 0; while (_local7 < _local4) { rects.push(new Rectangle(((_local7 * _arg2) + _buffer.rect.x), ((_local6 * _arg3) + _buffer.rect.y), _arg2, _arg3)); frames.push(((_local6 * _local4) + _local7)); _local7++; }; _local6++; }; clips = new Dictionary(true); addClip(DEFAULT, frames, true); } public function addClip(_arg1:String, _arg2:Array, _arg3:Boolean=false):void{ clips[_arg1] = _arg2; if (_arg3){ useClip(_arg1); }; } public function get clipFrame():int{ return (_frame); } public function get rect():Rectangle{ return (rects[clipFrames[clipFrame]]); } public function set delay(_arg1:int):void{ _delay = _arg1; } public function goToFrame(_arg1:int):void{ _frame = ((_arg1)>(clipFrames.length - 1)) ? (clipFrames.length - 1) : _arg1; } public function get frame():int{ return (clipFrames[clipFrame]); } public function removeClip(_arg1:String):void{ clips[_arg1] = null; } public function get length():int{ return (clipFrames.length); } public function useClip(_arg1:String):Boolean{ if (clips[_arg1] != null){ _clip = _arg1; clipFrames = clips[_clip]; return (true); }; return (false); } } }//package com.soybeansoft.util
Section 38
//FPS (com.soybeansoft.util.FPS) package com.soybeansoft.util { import flash.display.*; import flash.events.*; import com.soybeansoft.ui.widget.*; import flash.utils.*; import flash.system.*; public class FPS extends Sprite { private var mCalcTotal:Number; private var textLabel:Label; private var numFrames:int; private var mCalc0:Number; private var mCalcs:int; private var lastTick:int; private var startTick:int; private var _fps:int; public var additionalInfo:String; private var textLabelStyle:LabelStyle; private var _tick:Number; public function FPS(_arg1:int, _arg2:int=0){ _fps = _arg1; textLabelStyle = new LabelStyle(); textLabelStyle.setFont("Arial").setSize(10).setColor(0xFFFFFF).setAutoSize(LabelStyle.AUTOSIZE_LEFT); textLabel = new Label("FPS:-- DT:-- MEM:--", textLabelStyle); if (_arg2 > 0){ textLabel.element.width = _arg2; }; startTick = getTimer(); lastTick = startTick; numFrames = 0; mCalcTotal = 0; mCalc0 = 0; mCalcs = 0; additionalInfo = ""; addChild(textLabel.element); addEventListener(Event.ENTER_FRAME, onFrame); } public function startCount():void{ mCalc0 = getTimer(); } public function get tick():Number{ return (_tick); } public function stopCount():void{ mCalcTotal = (mCalcTotal + (getTimer() - mCalc0)); mCalcs++; } public function setStyle(_arg1:LabelStyle):void{ textLabel.setStyle(_arg1); } private function onFrame(_arg1:Event):void{ var _local7:String; numFrames++; var _local2:Number = (getTimer() - startTick); var _local3:Number = ((numFrames * 1000) / _local2); var _local4:String = _local3.toString().substr(0, (_local3.toString().indexOf(".") + 2)); _tick = (_local2 / 1000); var _local5:Number = 0; if (mCalcs > 0){ _local5 = (mCalcTotal / mCalcs); }; var _local6:String = _local5.toString().substr(0, 3); if ((_local2 / 1000) > 0.1){ _local7 = ((((((("FPS:" + _local4) + " DT:") + _local6) + " MEM:") + Math.ceil(((System.totalMemory / 0x0400) / 0x0400))) + "MB") + additionalInfo); textLabel.update(_local7); numFrames = 0; startTick = getTimer(); }; } } }//package com.soybeansoft.util
Section 39
//MathUtil (com.soybeansoft.util.MathUtil) package com.soybeansoft.util { import flash.geom.*; public class MathUtil { public static function deg2rad(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } public static function rangedArray(_arg1:Number, _arg2:Number, _arg3:Number=1, _arg4:Boolean=false, _arg5:Boolean=false):Array{ var _local8:int; var _local9:int; var _local6:Array = []; var _local7:Boolean; if (_arg1 > _arg2){ _local9 = _arg2; _arg2 = _arg1; _arg1 = _local9; _local7 = true; }; _local8 = (_arg1 + (_arg4) ? 0 : _arg3); while (_local8 <= (_arg2 - (_arg5) ? 0 : _arg3)) { _local6.push(_local8); _local8 = (_local8 + _arg3); }; if (_local7){ _local6.reverse(); }; return (_local6); } public static function convertVectorToRadians(_arg1:Point):Number{ return (correctRadians(Math.atan2(_arg1.y, _arg1.x))); } public static function lengthBetweenPoints(_arg1:Point, _arg2:Point):Number{ return (Math.sqrt((Math.pow((_arg1.x - _arg2.x), 2) + Math.pow((_arg1.y - _arg2.y), 2)))); } public static function correctRadians(_arg1:Number):Number{ if (_arg1 < 0){ _arg1 = (_arg1 + (Math.PI * 2)); } else { if (_arg1 >= (Math.PI * 2)){ _arg1 = (_arg1 - (Math.PI * 2)); }; }; return (_arg1); } public static function rad2deg(_arg1:Number):Number{ return (((_arg1 * 180) / Math.PI)); } public static function rangedRandom(_arg1:Number, _arg2:Number, _arg3:Number=1):Number{ var _local4:Number = (((_arg2 - _arg1) + _arg3) / _arg3); var _local5:Number = ((_local4 * Math.random()) * _arg3); return ((_local5 + _arg1)); } public static function getNumberAsHexString(_arg1:int, _arg2:uint=1):String{ var _local3:uint; var _local4 = ""; while ((((_arg1 > 0)) || ((_arg2 > 0)))) { _arg2--; _local3 = (_arg1 & 15); switch (_local3){ case 10: _local4 = ("A" + _local4); break; case 11: _local4 = ("B" + _local4); break; case 12: _local4 = ("C" + _local4); break; case 13: _local4 = ("D" + _local4); break; case 14: _local4 = ("E" + _local4); break; case 15: _local4 = ("F" + _local4); break; default: _local4 = (_local3.toString() + _local4); }; _arg1 = (_arg1 >>> 4); }; return (_local4); } } }//package com.soybeansoft.util
Section 40
//RectTiles (com.soybeansoft.util.RectTiles) package com.soybeansoft.util { import flash.geom.*; public class RectTiles { private var y:int; private var _delay:int; private var _frames:int; private var width:int; private var curFrame:int; private var tiles:Array; private var frameWidth:int; private var height:int; private var frameHeight:int; private var curFrameDelay:int; private var x:int; public function RectTiles(_arg1:Rectangle, _arg2:int=0, _arg3:int=0){ this.x = _arg1.x; this.y = _arg1.y; this.width = _arg1.width; this.height = _arg1.height; this.frameWidth = _arg2; this.frameHeight = _arg3; if (_arg3 > height){ throw ("RectTiles parameter error: frameHeight can't be higher than frameRect.height"); }; tiles = new Array(); curFrame = 0; _frames = 0; _delay = 0; curFrameDelay = 0; setupFrames(); } public function setupFrames(_arg1:Rectangle=null):void{ var _local5:int; var _local6:Rectangle; if (_arg1 != null){ this.x = _arg1.x; this.y = _arg1.y; this.width = _arg1.width; this.height = _arg1.height; }; var _local2:int = int((width / frameWidth)); var _local3:int = int((height / frameHeight)); tiles = []; _frames = 0; var _local4:int; while (_local4 < _local3) { _local5 = 0; while (_local5 < _local2) { _local6 = new Rectangle(((_local5 * frameWidth) + x), ((_local4 * frameHeight) + y), frameWidth, frameHeight); tiles.push(_local6); _frames++; _local5++; }; _local4++; }; } public function hasNextFrame():Boolean{ return (((curFrame + 1) < _frames)); } public function get delay():int{ return (_delay); } public function set delay(_arg1:int):void{ _delay = _arg1; } public function get frameCount():int{ return (_frames); } public function get frameIndex():int{ return (curFrame); } public function goToFrame(_arg1:int):void{ curFrame = ((_arg1)>(tiles.length - 1)) ? (tiles.length - 1) : _arg1; } public function get frame():Rectangle{ return (tiles[curFrame]); } public function isNextFrame(_arg1:int):Boolean{ var _local2:Boolean; if (curFrame == (tiles.length - 1)){ _local2 = (((_arg1 == 0)) && ((curFrameDelay == 0))); } else { _local2 = ((((curFrame + 1) == _arg1)) && ((curFrameDelay == 0))); }; return (_local2); } public function nextFrame():void{ if (curFrameDelay == _delay){ curFrame = (((curFrame + 1))==_frames) ? 0 : (curFrame + 1); curFrameDelay = 0; } else { curFrameDelay++; }; } } }//package com.soybeansoft.util
Section 41
//SoundControl (com.soybeansoft.util.SoundControl) package com.soybeansoft.util { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; public class SoundControl { private var container:Sprite; private var effectOnButton:BitmapButton; private var effectOffButton:BitmapButton; private var musicOnButton:BitmapButton; private var musicOffButton:BitmapButton; public function SoundControl(_arg1:String){ container = new Sprite(); var _local2:BitmapData = new BitmapData(16, 64, true, 0xFFFFFF); _local2.copyPixels(Assets.instance.fetch(Assets.BITMAP, _arg1).bitmapData.clone(), new Rectangle(0, 0, 16, 64), new Point()); var _local3:BitmapData = new BitmapData(16, 64, true, 0xFFFFFF); _local3.copyPixels(Assets.instance.fetch(Assets.BITMAP, _arg1).bitmapData.clone(), new Rectangle(16, 0, 16, 64), new Point()); var _local4:BitmapData = new BitmapData(16, 64, true, 0xFFFFFF); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, _arg1).bitmapData.clone(), new Rectangle(32, 0, 16, 64), new Point()); var _local5:BitmapData = new BitmapData(16, 64, true, 0xFFFFFF); _local5.copyPixels(Assets.instance.fetch(Assets.BITMAP, _arg1).bitmapData.clone(), new Rectangle(48, 0, 16, 64), new Point()); musicOffButton = new BitmapButton(_local2, 16, 16); musicOnButton = new BitmapButton(_local3, 16, 16); effectOffButton = new BitmapButton(_local4, 16, 16); effectOnButton = new BitmapButton(_local5, 16, 16); musicOffButton.y = 2; musicOnButton.y = 2; effectOffButton.x = 18; effectOnButton.x = 18; effectOffButton.y = 2; effectOnButton.y = 2; container.addChild(musicOffButton); container.addChild(musicOnButton); container.addChild(effectOffButton); container.addChild(effectOnButton); musicOnButton.click = onClickMusicOn; musicOffButton.click = onClickMusicOff; effectOnButton.click = onClickEffectOn; effectOffButton.click = onClickEffectOff; } public function get sprite():Sprite{ return (container); } private function onClickEffectOff():void{ Sounds.instance.muteEffect = false; effectOnButton.visible = true; } private function onClickEffectOn():void{ Sounds.instance.muteEffect = true; effectOnButton.visible = false; } private function onClickMusicOff():void{ Sounds.instance.muteMusic = false; musicOnButton.visible = true; } private function onClickMusicOn():void{ Sounds.instance.muteMusic = true; musicOnButton.visible = false; } } }//package com.soybeansoft.util
Section 42
//App (com.soybeansoft.App) package com.soybeansoft { import flash.display.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.ui.widget.*; import com.soybeansoft.util.*; public class App { public var sprite:Sprite; public var width:int; private var screens:Array; private var currentScreen:Screen; private var clickMouses:Array; public var soundCtrl:SoundControl; private var leaveMouses:Array; private var moveMouses:Array; private var root:Sprite; private var doubleclickMouses:Array; public var height:int; public var fps:FPS; private var upKeys:Array; private var upMouses:Array; private var downKeys:Array; private var downMouses:Array; public static const DOWN:String = "down"; public static const CLICK:String = "click"; public static const MOVE:String = "move"; public static const LEAVE:String = "leave"; public static const DOUBLE_CLICK:String = "double click"; public static const UP:String = "up"; public function App(_arg1:Sprite, _arg2:int, _arg3:int){ this.root = _arg1; this.width = _arg2; this.height = _arg3; _arg1.stage.stageFocusRect = false; _arg1.stage.doubleClickEnabled = true; _arg1.stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); _arg1.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); _arg1.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _arg1.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _arg1.stage.addEventListener(MouseEvent.CLICK, onMouseClick); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _arg1.stage.addEventListener(MouseEvent.DOUBLE_CLICK, onMouseDoubleClick); _arg1.stage.addEventListener(Event.MOUSE_LEAVE, onMouseLeave); upKeys = []; downKeys = []; clickMouses = []; doubleclickMouses = []; upMouses = []; downMouses = []; moveMouses = []; leaveMouses = []; sprite = new Sprite(); screens = []; currentScreen = null; } private function onMouseUp(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (upMouses.length > 0){ _local2 = 0; while (_local2 < upMouses.length) { if ((upMouses[_local2] is Function)){ _local3 = upMouses[_local2]; _local3(); }; _local2++; }; }; } public function registerMouse(_arg1:String, _arg2:Function):void{ switch (_arg1.toLowerCase()){ case DOUBLE_CLICK: doubleclickMouses.push(_arg2); break; case CLICK: clickMouses.push(_arg2); break; case UP: upMouses.push(_arg2); break; case DOWN: downMouses.push(_arg2); break; case MOVE: moveMouses.push(_arg2); break; case LEAVE: leaveMouses.push(_arg2); break; }; } private function onMouseDown(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (downMouses.length > 0){ _local2 = 0; while (_local2 < downMouses.length) { if ((downMouses[_local2] is Function)){ _local3 = downMouses[_local2]; _local3(); }; _local2++; }; }; } public function unregisterMouse(_arg1:String, _arg2:Function):void{ var _local3:int; switch (_arg1.toLowerCase()){ case DOUBLE_CLICK: _local3 = 0; while (_local3 < doubleclickMouses.length) { if (doubleclickMouses[_local3] == _arg2){ doubleclickMouses.splice(_local3, 1); }; _local3++; }; break; case CLICK: _local3 = 0; while (_local3 < clickMouses.length) { if (clickMouses[_local3] == _arg2){ clickMouses.splice(_local3, 1); }; _local3++; }; break; case UP: _local3 = 0; while (_local3 < upMouses.length) { if (upMouses[_local3] == _arg2){ upMouses.splice(_local3, 1); }; _local3++; }; break; case DOWN: _local3 = 0; while (_local3 < downMouses.length) { if (downMouses[_local3] == _arg2){ downMouses.splice(_local3, 1); }; _local3++; }; break; case MOVE: _local3 = 0; while (_local3 < moveMouses.length) { if (moveMouses[_local3] == _arg2){ moveMouses.splice(_local3, 1); }; _local3++; }; break; case LEAVE: _local3 = 0; while (_local3 < leaveMouses.length) { if (leaveMouses[_local3] == _arg2){ leaveMouses.splice(_local3, 1); }; _local3++; }; break; }; } private function onMouseMove(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (moveMouses.length > 0){ _local2 = 0; while (_local2 < moveMouses.length) { if ((moveMouses[_local2] is Function)){ _local3 = moveMouses[_local2]; _local3(); }; _local2++; }; }; } private function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:Function; if (((Boolean(upKeys[_arg1.keyCode])) && ((upKeys[_arg1.keyCode] is Array)))){ _local2 = 0; while (_local2 < upKeys[_arg1.keyCode].length) { if ((upKeys[_arg1.keyCode][_local2] is Function)){ _local3 = upKeys[_arg1.keyCode][_local2]; _local3(); }; _local2++; }; }; } private function onMouseLeave(_arg1:Event):void{ var _local2:int; var _local3:Function; if (leaveMouses.length > 0){ _local2 = 0; while (_local2 < leaveMouses.length) { if ((leaveMouses[_local2] is Function)){ _local3 = leaveMouses[_local2]; _local3(); }; _local2++; }; }; } private function onMouseDoubleClick(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; trace("got doubleclicked"); if (doubleclickMouses.length > 0){ _local2 = 0; while (_local2 < doubleclickMouses.length) { if ((doubleclickMouses[_local2] is Function)){ _local3 = doubleclickMouses[_local2]; _local3(); }; _local2++; }; }; } public function unregisterKey(_arg1:String, _arg2:int, _arg3:Function):void{ var _local4:int; switch (_arg1.toLowerCase()){ case UP: if (Boolean(upKeys[_arg2])){ _local4 = 0; while (_local4 < upKeys[_arg2].length) { if (upKeys[_arg2][_local4] == _arg3){ upKeys[_arg2].splice(_local4, 1); }; _local4++; }; }; break; case DOWN: if (Boolean(downKeys[_arg2])){ _local4 = 0; while (_local4 < downKeys[_arg2].length) { if (downKeys[_arg2][_local4] == _arg3){ downKeys[_arg2].splice(_local4, 1); }; _local4++; }; }; break; }; } private function onKeyDown(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:Function; if (((Boolean(downKeys[_arg1.keyCode])) && ((downKeys[_arg1.keyCode] is Array)))){ _local2 = 0; while (_local2 < downKeys[_arg1.keyCode].length) { if ((downKeys[_arg1.keyCode][_local2] is Function)){ _local3 = downKeys[_arg1.keyCode][_local2]; _local3(); }; _local2++; }; }; } public function displayScreen(_arg1:String):void{ if (currentScreen){ currentScreen.cleanup(); }; currentScreen = screens[_arg1]; if (currentScreen){ currentScreen.open(); }; } public function showSoundControl(_arg1:String, _arg2:int=0, _arg3:int=0):Sprite{ soundCtrl = new SoundControl(_arg1); soundCtrl.sprite.x = _arg2; soundCtrl.sprite.y = _arg3; return (soundCtrl.sprite); } public function addScreen(_arg1:String, _arg2:Screen):void{ if (((((_arg2) && (_arg1))) && ((screens.indexOf(_arg2) == -1)))){ screens[_arg1] = _arg2; }; } private function onMouseClick(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (clickMouses.length > 0){ _local2 = 0; while (_local2 < clickMouses.length) { if ((clickMouses[_local2] is Function)){ _local3 = clickMouses[_local2]; _local3(); }; _local2++; }; }; } public function showFPS(_arg1:int, _arg2:int=0, _arg3:LabelStyle=null):Sprite{ fps = new FPS(_arg1, _arg2); if (_arg3 != null){ fps.setStyle(_arg3); }; return (fps); } public function registerKey(_arg1:String, _arg2:int, _arg3:Function):void{ switch (_arg1.toLowerCase()){ case UP: if (!Boolean(upKeys[_arg2])){ upKeys[_arg2] = new Array(); }; upKeys[_arg2].push(_arg3); break; case DOWN: if (!Boolean(downKeys[_arg2])){ downKeys[_arg2] = new Array(); }; downKeys[_arg2].push(_arg3); break; }; } public function reFocus():void{ root.stage.focus = root; } } }//package com.soybeansoft
Section 43
//ObjectPool (de.polygonal.core.ObjectPool) package de.polygonal.core { public class ObjectPool { private var _head:ObjNode; private var _factory:ObjectPoolFactory; private var _usageCount:int; private var _initSize:int; private var _allocNode:ObjNode; private var _tail:ObjNode; private var _currSize:int; private var _emptyNode:ObjNode; private var _grow:Boolean;// = true public function ObjectPool(_arg1:Boolean=false){ _grow = _arg1; } public function get size():int{ return (_currSize); } public function initialze(_arg1:String, _arg2:Array):void{ var _local3:ObjNode = _head; while (_local3) { _local3.data[_arg1].apply(_local3.data, _arg2); if (_local3 == _tail){ break; }; _local3 = _local3.next; }; } public function setFactory(_arg1:ObjectPoolFactory):void{ _factory = _arg1; } public function get wasteCount():int{ return ((_currSize - _usageCount)); } public function get usageCount():int{ return (_usageCount); } public function deconstruct():void{ var _local2:ObjNode; var _local1:ObjNode = _head; while (_local1) { _local2 = _local1.next; _local1.next = null; _local1.data = null; _local1 = _local2; }; _head = (_tail = (_emptyNode = (_allocNode = null))); } public function purge():void{ var _local1:int; var _local2:ObjNode; var _local3:Array; var _local4:ObjNode; var _local5:ObjNode; var _local6:int; if (_usageCount == 0){ if (_currSize == _initSize){ return; }; if (_currSize > _initSize){ _local1 = 0; _local2 = _head; while (++_local1 < _initSize) { _local2 = _local2.next; }; _tail = _local2; _allocNode = (_emptyNode = _head); _currSize = _initSize; return; }; } else { _local3 = []; _local2 = _head; while (_local2) { if (!_local2.data){ var _temp1 = _local1; _local1 = (_local1 + 1); _local3[int(_temp1)] = _local2; }; if (_local2 == _tail){ break; }; _local2 = _local2.next; }; _currSize = _local3.length; _usageCount = _currSize; _head = (_tail = _local3[0]); _local1 = 1; while (_local1 < _currSize) { _local2 = _local3[_local1]; _local2.next = _head; _head = _local2; _local1++; }; _emptyNode = (_allocNode = _head); _tail.next = _head; if (_usageCount < _initSize){ _currSize = _initSize; _local4 = _tail; _local5 = _tail; _local6 = (_initSize - _usageCount); _local1 = 0; while (_local1 < _local6) { _local2 = new ObjNode(); _local2.data = _factory.create(); _local5.next = _local2; _local5 = _local2; _local1++; }; _tail = _local5; _tail.next = (_emptyNode = _head); _allocNode = _local4.next; }; }; } public function allocate(_arg1:uint, _arg2:Class=null):void{ var _local3:ObjNode; deconstruct(); if (_arg2){ _factory = new SimpleFactory(_arg2); } else { if (!_factory){ throw (new Error("nothing to instantiate.")); }; }; _initSize = (_currSize = _arg1); _head = (_tail = new ObjNode()); _head.data = _factory.create(); var _local4 = 1; while (_local4 < _initSize) { _local3 = new ObjNode(); _local3.data = _factory.create(); _local3.next = _head; _head = _local3; _local4++; }; _emptyNode = (_allocNode = _head); _tail.next = _head; } public function set object(_arg1):void{ if (_usageCount > 0){ _usageCount--; _emptyNode.data = _arg1; _emptyNode = _emptyNode.next; }; } public function get object(){ var _local1:ObjNode; var _local2:ObjNode; var _local3:ObjNode; var _local4:int; var _local5:*; if (_usageCount == _currSize){ if (_grow){ _currSize = (_currSize + _initSize); _local1 = _tail; _local2 = _tail; _local4 = 0; while (_local4 < _initSize) { _local3 = new ObjNode(); _local3.data = _factory.create(); _local2.next = _local3; _local2 = _local3; _local4++; }; _tail = _local2; _tail.next = (_emptyNode = _head); _allocNode = _local1.next; return (object); } else { throw (new Error("object pool exhausted.")); }; } else { _local5 = _allocNode.data; _allocNode.data = null; _allocNode = _allocNode.next; _usageCount++; }; return (_local5); } } }//package de.polygonal.core class SimpleFactory implements ObjectPoolFactory { private var _class:Class; private function SimpleFactory(_arg1:Class){ _class = _arg1; } public function create(){ return (new _class()); } } class ObjNode { public var data; public var next:ObjNode; private function ObjNode(){ } }
Section 44
//ObjectPoolFactory (de.polygonal.core.ObjectPoolFactory) package de.polygonal.core { public interface ObjectPoolFactory { function create(); } }//package de.polygonal.core
Section 45
//Back (easing.Back) package easing { public class Back { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeOutIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOut((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeIn(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } } }//package easing
Section 46
//Expo (easing.Expo) package easing { public class Expo { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeOutIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOut((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeIn(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } } }//package easing
Section 47
//Linear (easing.Linear) package easing { public class Linear { public static function ease(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package easing
Section 48
//Sine (easing.Sine) package easing { public class Sine { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeOutIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOut((_arg1 * 2), _arg2, (_arg3 / 2), _arg4)); }; return (easeIn(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } } }//package easing
Section 49
//Level0 (game.levels.Level0) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level0 extends Level { public static const name:String = "Level 0"; private function enemy01():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY00, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_VILLAGE); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_VILLAGE); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_VILLAGE); } private function noEnemy():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point((Config.STAGE_WIDTH + 100), (Config.STAGE_HEIGHT + 100)))).add(new Pause(60)))]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER00, Config.ASSET_MONSTER01, Config.ASSET_MONSTER02]); } private function enemy02():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push([[Words.OPERATOR_TEXT_10, Words.OPERATOR_TEXT_11]]); _local1.push(noEnemy(), [[Words.OPERATOR_TEXT_20, Words.OPERATOR_TEXT_21]]); _local1.push(enemy01(), [[Words.OPERATOR_TEXT_30, Words.OPERATOR_TEXT_31, Words.OPERATOR_TEXT_32]]); _local1.push(enemy01(), [[Words.OPERATOR_TEXT_40, Words.OPERATOR_TEXT_41]]); _local1.push(enemy02(), enemy02(), enemy02()); return (_local1); } } }//package game.levels
Section 50
//Level1 (game.levels.Level1) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level1 extends Level { public static const name:String = "Level 1"; override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_VILLAGE); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_VILLAGE); } private function wave05a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function wave04a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY04, new ActionPattern().add(new InitPos(new Point(700, 160))).add(new MoveTo(new Point(380, 160), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(20, 10, 12, 0, true)).add(new MoveTo(new Point(700, 160), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY04, new ActionPattern().add(new InitPos(new Point(700, 320))).add(new MoveTo(new Point(380, 320), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(20, 10, 12, 0, true)).add(new MoveTo(new Point(700, 320), 100, Expo.easeIn)))]; return (_local1); } private function wave03a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY03, new ActionPattern().add(new InitPos(new Point(700, 20))).add(new MoveTo(new Point(420, 260), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(420, 40), new Point(420, 440), 80, 6, Sine.easeInOut, Sine.easeInOut), new Shoot(80, 0, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(320, 500), 40, Sine.easeIn))), new EnemySetup(Config.ID_ENEMY03, new ActionPattern().add(new InitPos(new Point(700, 460))).add(new MoveTo(new Point(420, 200), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(420, 440), new Point(420, 40), 80, 6, Sine.easeInOut, Sine.easeInOut), new Shoot(80, 0, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(320, -100), 40, Sine.easeIn)))]; return (_local1); } private function wave03b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY03, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(480, 80), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 420), new Point(480, 60), 80, 8, Sine.easeInOut, Sine.easeInOut), new Shoot(80, 1, 2, 0, true), new Shoot(1, 80, 2, 1, false)])).add(new MoveTo(new Point(700, 420), 60, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY03, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new MoveTo(new Point(480, 400), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 60), new Point(480, 420), 80, 8, Sine.easeInOut, Sine.easeInOut), new Shoot(80, 1, 2, 0, true), new Shoot(1, 80, 2, 1, false)])).add(new MoveTo(new Point(700, 60), 60, Expo.easeIn)))]; return (_local1); } private function wave01a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 120))).add(new MoveTo(new Point(540, 120), 40, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 6, 0)).add(new MoveTo(new Point(700, 120), 60, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 360))).add(new MoveTo(new Point(540, 360), 40, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 6, 0)).add(new MoveTo(new Point(700, 360), 60, Expo.easeIn)))]; return (_local1); } private function wave01b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(540, 80), 40, Expo.easeOut)).add(new Pause(8)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 80), 60, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new Pause(8)).add(new MoveTo(new Point(500, 240), 40, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 240), 60, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new MoveTo(new Point(540, 400), 40, Expo.easeOut)).add(new Pause(8)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 400), 60, Expo.easeIn)))]; return (_local1); } private function wave01c():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(500, 80), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 80), 80, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new Pause(10)).add(new MoveTo(new Point(540, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 240), 80, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY01, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new Pause(20)).add(new MoveTo(new Point(500, 400), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(40, 20, 8, 0)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 400), 80, Expo.easeIn)))]; return (_local1); } private function wave05b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(40)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY05, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function wave04b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY04, new ActionPattern().add(new InitPos(new Point(700, 160))).add(new MoveTo(new Point(380, 160), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(20, 10, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-80, 160), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY04, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new Pause(20)).add(new MoveTo(new Point(300, 240), 40, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(20, 10, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-80, 240), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY04, new ActionPattern().add(new InitPos(new Point(700, 320))).add(new MoveTo(new Point(380, 320), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(20, 10, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-80, 320), 100, Expo.easeIn)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_VILLAGE); } private function wave02b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(120)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01B, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true), new Shoot(96, 20, 1, 1, true), new Shoot(96, 20, 1, 2, true)])), true)]; return (_local1); } private function boss03():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01C, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true)])), true)]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER01, Config.ASSET_MONSTER02, Config.ASSET_MONSTER03, Config.ASSET_MONSTER04, Config.ASSET_MONSTER05, Config.ASSET_MINIBOSS01, Config.ASSET_BOSS01, Config.ASSET_BOSS01B, Config.ASSET_BOSS01C]); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS01, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(520, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(60, 60, 6, 0, true), new Shoot(60, 60, 6, 1, false)])))]; return (_local1); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave02a(), wave01a(), wave02b(), wave01b(), wave01c(), wave03a(), wave01b().concat(wave02a())); _local1.push(miniboss()); _local1.push(wave03b(), wave02a().concat(wave05a()), wave04a(), wave04a().concat(wave03a()), wave02b().concat(wave05b()), wave01a().concat(wave03a()), wave04b().concat(wave01b())); _local1.push(boss01()); _local1.push(boss02()); _local1.push(boss03()); return (_local1); } private function wave02a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY02, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(60)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true), new Shoot(96, 20, 1, 1, true), new Shoot(96, 20, 1, 2, true), new Shoot(20, 10, 2, 3, true)])))]; return (_local1); } } }//package game.levels
Section 51
//Level2 (game.levels.Level2) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level2 extends Level { public static const name:String = "Level 2"; private function wave07():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY07, new ActionPattern().add(new InitPos(new Point(700, 200))).add(new MoveTo(new Point(500, 200), 40, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(28, 28, 12, 0, true), new Shoot(24, 48, 12, 1, true)])).add(new MoveTo(new Point(700, 200), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY07, new ActionPattern().add(new InitPos(new Point(700, 280))).add(new MoveTo(new Point(500, 280), 40, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(28, 28, 12, 0, true), new Shoot(24, 48, 12, 1, true)])).add(new MoveTo(new Point(700, 280), 100, Expo.easeIn)))]; return (_local1); } override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_KINGDOM); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_KINGDOM); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS02, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(600, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(600, 80), new Point(600, 400), 120, 6, Sine.easeOut, Sine.easeOut), new Shoot(60, 60, 6, 0, true), new Shoot(60, 60, 6, 0, false)])))]; return (_local1); } private function wave09b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } private function wave08b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(560, 80), 20, Expo.easeOut)).add(new Pause(30)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 80), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 120))).add(new Pause(10)).add(new MoveTo(new Point(400, 120), 20, Expo.easeOut)).add(new Pause(20)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 120), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new MoveTo(new Point(560, 400), 20, Expo.easeOut)).add(new Pause(30)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 400), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 360))).add(new Pause(10)).add(new MoveTo(new Point(400, 360), 20, Expo.easeOut)).add(new Pause(20)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 360), 100, Expo.easeIn)))]; return (_local1); } private function wave09():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY09, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_KINGDOM); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS02, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(400, 130), new Point(400, 370), 80, 1, Sine.easeInOut, Sine.easeInOut), new Shoot(24, 24, 2, 0, true), new Shoot(40, 40, 2, 1, false), new Shoot(24, 48, 2, 2, true)])))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS02B, new ActionPattern(3).add(new InitPos(new Point(400, 240))).add(new Pause(10)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(560, 100), 90, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])).add(new Parallel([new MoveTo(new Point(560, 380), 80, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])).add(new Parallel([new MoveTo(new Point(400, 240), 80, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])), true)]; return (_local1); } private function wave08():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 180))).add(new MoveTo(new Point(560, 180), 20, Expo.easeOut)).add(new Pause(30)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 180), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 220))).add(new Pause(10)).add(new MoveTo(new Point(400, 220), 20, Expo.easeOut)).add(new Pause(20)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 220), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 300))).add(new MoveTo(new Point(560, 300), 20, Expo.easeOut)).add(new Pause(30)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 300), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY08, new ActionPattern().add(new InitPos(new Point(700, 260))).add(new Pause(10)).add(new MoveTo(new Point(400, 260), 20, Expo.easeOut)).add(new Pause(20)).add(new Invincible(false)).add(new Shoot(40, 0, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-64, 260), 100, Expo.easeIn)))]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER06, Config.ASSET_MONSTER07, Config.ASSET_MONSTER08, Config.ASSET_MONSTER09, Config.ASSET_MONSTER10, Config.ASSET_MINIBOSS02, Config.ASSET_BOSS02, Config.ASSET_BOSS02B]); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave07(), wave08(), wave09(), wave06(), wave08b(), wave07(), wave08()); _local1.push(miniboss()); _local1.push(wave10(), wave07().concat(wave09b()), wave08b(), wave10().concat(wave09b()), wave09().concat(wave08()), wave07().concat(wave06()), wave10().concat(wave08b())); _local1.push(boss01()); _local1.push(boss02()); return (_local1); } private function wave10():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY10, new ActionPattern().add(new InitPos(new Point(700, 160))).add(new MoveTo(new Point(500, 160), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(500, 320), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(420, 240), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 240), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY10, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(420, 240), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(500, 160), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(500, 320), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 320), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY10, new ActionPattern().add(new InitPos(new Point(700, 320))).add(new MoveTo(new Point(500, 320), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(420, 240), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new MoveTo(new Point(500, 160), 40, Expo.easeOut)).add(new Shoot(1, 0, 1, 1, true)).add(new Shoot(40, 10, 4, 0, false)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 160), 100, Expo.easeIn)))]; return (_local1); } private function wave06():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY06, new ActionPattern().add(new InitPos(new Point(700, 160))).add(new MoveTo(new Point(480, 160), 50, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(24, 12, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 160), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY06, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 40, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(24, 12, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 240), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY06, new ActionPattern().add(new InitPos(new Point(700, 320))).add(new MoveTo(new Point(480, 320), 50, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(24, 12, 12, 0, true)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 320), 100, Expo.easeIn)))]; return (_local1); } } }//package game.levels
Section 52
//Level3 (game.levels.Level3) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level3 extends Level { public static const name:String = "Level 3"; override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_FIELD); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_FIELD); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS03, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(50, 10, 4, 0, true)])).add(new MoveTo(new Point(500, 80), 60, Sine.easeOut)).add(new Shoot(24, 0, 1, 1, true)).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(50, 10, 4, 0, true)])).add(new MoveTo(new Point(500, 400), 60, Sine.easeOut)).add(new Shoot(24, 0, 1, 1, true)).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)))]; return (_local1); } private function wave12a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(10, 50, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(70, 110, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(130, 180, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(190, 230, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(250, 290, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(310, 350, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(370, 410, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(430, 470, 5)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease)))]; return (_local1); } private function wave12b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(10, 50, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(70, 110, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(130, 180, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(190, 230, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(250, 290, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(310, 350, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(370, 410, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(430, 470, 5)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease)))]; return (_local1); } private function wave12c():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(10, 50, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(70, 110, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(130, 180, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(190, 230, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(250, 290, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(310, 350, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(370, 410, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY12, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(430, 470, 5)))).add(new Pause(160)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(100, 120, 5), Linear.ease)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_FIELD); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS03, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(60, 20, 4, 0, true), new Shoot(60, 20, 4, 1, true), new Shoot(60, 20, 4, 2, true), new Shoot(60, 20, 4, 3, true), new Shoot(52, 0, 3, 4, true)])))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS03B, new ActionPattern(2).add(new Invincible(false)).add(new InitPos(new Point(500, 240))).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(60, 20, 4, 0, true), new Shoot(60, 20, 4, 1, true), new Shoot(60, 20, 4, 2, true)])), true)]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER11, Config.ASSET_MONSTER12, Config.ASSET_MONSTER13, Config.ASSET_MONSTER14, Config.ASSET_MONSTER15, Config.ASSET_MINIBOSS03, Config.ASSET_BOSS03, Config.ASSET_BOSS03B]); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave12a(), wave13(), wave15(), wave11(), wave13().concat(wave12b()), wave15().concat(wave12c()), wave12a().concat(wave11())); _local1.push(miniboss()); _local1.push(wave11(), wave13().concat(wave15()), wave14(), wave11().concat(wave13()), wave14().concat(wave12b()), wave15().concat(wave12c()), wave14().concat(wave13())); _local1.push(boss01().concat(wave12c())); _local1.push(boss02().concat(wave13())); return (_local1); } private function wave11():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY11, new ActionPattern().add(new InitPos(new Point(700, 120))).add(new MoveTo(new Point(500, 120), 40, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(540, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 360), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(460, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 120), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(540, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 360), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(460, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 120), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(540, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 360), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Pause(20)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 360), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY11, new ActionPattern().add(new InitPos(new Point(700, 360))).add(new MoveTo(new Point(500, 360), 40, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(460, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 120), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(540, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 360), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(460, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 120), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(540, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 360), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(460, 240), 40, Expo.easeIn)])).add(new Parallel([new Shoot(10, 10, 2, 0, true), new MoveTo(new Point(500, 120), 40, Expo.easeOut)])).add(new Shoot(2, 0, 1, 1, true)).add(new Pause(20)).add(new Hittable(false)).add(new MoveTo(new Point(-120, 120), 100, Expo.easeIn)))]; return (_local1); } private function wave13():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY13, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(560, 80), 20, Expo.easeOut)).add(new Invincible(false)).add(new Pause(30)).add(new Parallel([new Yoyo(new Point(560, 400), new Point(560, 80), 120, 3, Sine.easeOut, Sine.easeOut), new Shoot(160, 0, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-64, 80), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY13, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new Pause(10)).add(new MoveTo(new Point(500, 240), 20, Expo.easeOut)).add(new Pause(20)).add(new Invincible(false)).add(new Pause(10)).add(new Parallel([new Yoyo(new Point(500, 80), new Point(500, 400), 120, 3, Sine.easeOut, Sine.easeOut), new Shoot(160, 0, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-64, 240), 100, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY13, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new MoveTo(new Point(440, 400), 20, Expo.easeOut)).add(new Pause(30)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(440, 80), new Point(440, 400), 120, 3, Sine.easeOut, Sine.easeOut), new Shoot(160, 0, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-64, 400), 100, Expo.easeIn)))]; return (_local1); } private function wave14():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY14, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(540, 240), 20, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(540, 80), new Point(540, 400), 100, 3, Expo.easeInOut, Expo.easeInOut), new Shoot(30, 20, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 240), 80, Expo.easeOut)))]; return (_local1); } private function wave15():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY15, new ActionPattern().add(new InitPos(new Point(700, 120))).add(new MoveTo(new Point(540, 120), 20, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(540, 360), new Point(540, 120), 100, 2, Expo.easeInOut, Expo.easeInOut), new Shoot(80, 20, 4, 0, true), new Shoot(80, 20, 4, 1, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 360), 60, Expo.easeIn))), new EnemySetup(Config.ID_ENEMY15, new ActionPattern().add(new InitPos(new Point(700, 360))).add(new MoveTo(new Point(540, 360), 20, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(540, 120), new Point(540, 360), 100, 2, Expo.easeInOut, Expo.easeInOut), new Shoot(80, 20, 4, 0, true), new Shoot(80, 20, 4, 1, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 120), 60, Expo.easeIn)))]; return (_local1); } } }//package game.levels
Section 53
//Level4 (game.levels.Level4) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level4 extends Level { public static const name:String = "Level 4"; private function wave19():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY19, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(540, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(540, 80), new Point(540, 400), 100, 3, Expo.easeInOut, Expo.easeInOut), new Shoot(12, 20, 6, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_DESTROYED); } private function wave17b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS04, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(48, 0, 6, 0, true)).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_DESTROYED); } private function wave17a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY17, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_DESTROYED); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS04, new ActionPattern(1).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(72, 0, 4, 0, true), new Shoot(72, 0, 4, 1, true)])).add(new Invincible(true)).add(new MoveTo(new Point(300, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(72, 0, 4, 0, true), new Shoot(72, 0, 4, 1, true)])).add(new Invincible(true)))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS04B, new ActionPattern(1).add(new InitPos(new Point(500, 240))).add(new MoveTo(new Point(500, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(72, 0, 4, 0, true)).add(new Invincible(true)).add(new MoveTo(new Point(300, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(72, 0, 4, 0, true)).add(new Invincible(true)))]; return (_local1); } private function wave18a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } private function wave18b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY18, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER16, Config.ASSET_MONSTER17, Config.ASSET_MONSTER18, Config.ASSET_MONSTER19, Config.ASSET_MONSTER20, Config.ASSET_MINIBOSS04, Config.ASSET_BOSS04, Config.ASSET_BOSS04B]); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave17a(), wave16(), wave18a(), wave19(), wave16().concat(wave17a()), wave18a().concat(wave17a()), wave19().concat(wave18b())); _local1.push(miniboss()); _local1.push(wave17a().concat(wave18b()), wave20(), wave18a().concat(wave16()), wave20().concat(wave17b()), wave19().concat(wave16()), wave16().concat(wave20()), wave20().concat(wave19())); _local1.push(boss01()); _local1.push(boss02()); return (_local1); } private function wave20():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY20, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Parallel([new Yoyo(new Point(520, 200), new Point(520, 280), 50, 4, Sine.easeInOut, Sine.easeInOut), new Shoot(100, 0, 2, 0, true)])).add(new MoveTo(new Point(360, 240), 40, Sine.easeOut)).add(new Shoot(1, 0, 2, 1, true)).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Parallel([new Yoyo(new Point(520, 200), new Point(520, 280), 50, 4, Sine.easeInOut, Sine.easeInOut), new Shoot(100, 0, 2, 0, true)])).add(new MoveTo(new Point(360, 240), 40, Sine.easeOut)).add(new Shoot(1, 0, 2, 1, true)).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Parallel([new Yoyo(new Point(520, 200), new Point(520, 280), 50, 4, Sine.easeInOut, Sine.easeInOut), new Shoot(100, 0, 2, 0, true)])).add(new MoveTo(new Point(360, 240), 40, Sine.easeOut)).add(new Shoot(1, 0, 2, 1, true)).add(new Hittable(false)).add(new MoveTo(new Point(-100, 240), 60, Expo.easeOut)))]; return (_local1); } private function wave16():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY16, new ActionPattern().add(new InitPos(new Point(700, 80))).add(new MoveTo(new Point(480, 80), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 80), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY16, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(560, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 240), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY16, new ActionPattern().add(new InitPos(new Point(700, 400))).add(new MoveTo(new Point(480, 400), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 400), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY16, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 80), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(560, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(480, 400), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Parallel([new MoveTo(new Point(400, 240), 96, Linear.ease), new Shoot(96, 0, 1, 0, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 240), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY16, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(480, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 160), new Point(480, 320), 96, 4, Sine.easeInOut, Sine.easeInOut), new Shoot(80, 16, 8, 1, true)])).add(new Hittable(false)).add(new MoveTo(new Point(-100, 240), 60, Expo.easeOut)))]; return (_local1); } } }//package game.levels
Section 54
//Level5 (game.levels.Level5) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level5 extends Level { public static const name:String = "Level 5"; override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_DESERT); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_DESERT); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS05, new ActionPattern().add(new InitPos(new Point(750, 240))).add(new MoveTo(new Point(440, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(440, 100), new Point(440, 380), 160, 2, Expo.easeOut), new Shoot(80, 0, 4, 0, true), new Shoot(80, 0, 4, 1, true)])).add(new MoveTo(new Point(750, 240), 60, Expo.easeOut)))]; return (_local1); } private function wave25a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } private function wave24a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY24, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(160, 0, 2, 0, true), new Shoot(60, 0, 5, 1, false)])).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } private function wave23a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function wave23b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY23, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function wave21a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY21, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(130, 0, 6, 0, true)).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } private function wave21b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY21, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 120), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(130, 0, 6, 0, true)).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY21, new ActionPattern().add(new InitPos(new Point(500, 500))).add(new MoveTo(new Point(500, 360), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(130, 0, 6, 0, true)).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_DESERT); } private function wave24b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY24, new ActionPattern().add(new InitPos(new Point(700, 120))).add(new MoveTo(new Point(400, 120), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(160, 0, 2, 0, true), new Shoot(60, 0, 5, 1, false)])).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY24, new ActionPattern().add(new InitPos(new Point(700, 360))).add(new MoveTo(new Point(400, 360), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(160, 0, 2, 0, true), new Shoot(60, 0, 5, 1, false)])).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS05B, new ActionPattern(3).add(new InitPos(new Point(520, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 200), new Point(480, 280), 50, 3, Expo.easeOut), new Shoot(15, 0, 10, 0, true), new Shoot(50, 0, 3, 1, true)])))]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER21, Config.ASSET_MONSTER22, Config.ASSET_MONSTER23, Config.ASSET_MONSTER24, Config.ASSET_MONSTER25, Config.ASSET_MINIBOSS05, Config.ASSET_BOSS05, Config.ASSET_BOSS05B]); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave23a(), wave21a(), wave24a(), wave25a(), wave21a().concat(wave23b()), wave22(), wave21b().concat(wave25a())); _local1.push(miniboss()); _local1.push(wave21a(), wave23a().concat(wave25a()), wave24a(), wave24b().concat(wave25a()), wave23a().concat(wave23b()), wave24a().concat(wave24b()), wave21a().concat(wave22())); _local1.push(boss01()); _local1.push(boss02()); return (_local1); } private function wave25b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 30))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(10, 50, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 90))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(70, 110, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 150))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(130, 180, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 210))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(190, 230, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 270))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(250, 290, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 330))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(310, 350, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 390))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(370, 410, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY25, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, 450))).add(new Pause(80)).add(new MoveTo(new Point(-120, MathUtil.rangedRandom(430, 470, 5)), MathUtil.rangedRandom(140, 160, 5), Linear.ease)))]; return (_local1); } private function wave22():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY22, new ActionPattern().add(new InitPos(new Point(700, -100))).add(new MoveTo(new Point(560, 80), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 400), new Point(560, 80), 156, 3, Expo.easeInOut, Expo.easeInOut), new Shoot(108, 20, 6, 0, false), new Shoot(20, 108, 6, 1, false)])).add(new Hittable(false)).add(new MoveTo(new Point(560, -100), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY22, new ActionPattern().add(new InitPos(new Point(700, 580))).add(new MoveTo(new Point(560, 400), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 80), new Point(560, 400), 156, 3, Expo.easeInOut, Expo.easeInOut), new Shoot(108, 20, 6, 0, false), new Shoot(20, 108, 6, 1, false)])).add(new Hittable(false)).add(new MoveTo(new Point(560, 580), 60, Expo.easeOut)))]; return (_local1); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS05, new ActionPattern(1).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(480, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 200), new Point(480, 280), 50, 3, Expo.easeOut), new Shoot(15, 0, 10, 0, true), new Shoot(15, 0, 10, 1, true), new Shoot(50, 0, 3, 2, true)])).add(new Invincible(true)).add(new MoveTo(new Point(320, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(162, 0, 3, 0, true)).add(new Invincible(true)))]; return (_local1); } } }//package game.levels
Section 55
//Level6 (game.levels.Level6) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import easing.*; import game.logics.actions.*; public class Level6 extends Level { public static const name:String = "Level 6"; override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_CLOUD); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_CLOUD); } private function wave26a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY26, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(20, 8, 12, 0, true)).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } private function wave26b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY26, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 120), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(20, 8, 12, 0, true)).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY26, new ActionPattern().add(new InitPos(new Point(500, 500))).add(new MoveTo(new Point(500, 360), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(20, 8, 12, 0, true)).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } private function wave29a():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function wave29b():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease))), new EnemySetup(Config.ID_ENEMY29, new ActionPattern().add(new Invincible(false)).add(new InitPos(new Point(700, MathUtil.rangedRandom(60, 420, 10)))).add(new Pause(80)).add(new MoveTo(new Point(-80, MathUtil.rangedRandom(60, 420, 10)), MathUtil.rangedRandom(140, 180, 5), Linear.ease)))]; return (_local1); } private function miniboss():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS06, new ActionPattern().add(new InitPos(new Point(770, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(96, 0, 6, 0, true)).add(new MoveTo(new Point(770, 240), 60, Expo.easeOut)))]; return (_local1); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_CLOUD); } private function boss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true), new Shoot(120, 0, 2, 1, true), new Shoot(120, 0, 2, 2, true)])))]; return (_local1); } private function boss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06B, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true), new Shoot(120, 0, 2, 1, true)])), true)]; return (_local1); } private function boss03():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06C, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true)])), true)]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MONSTER26, Config.ASSET_MONSTER27, Config.ASSET_MONSTER28, Config.ASSET_MONSTER29, Config.ASSET_MONSTER30, Config.ASSET_MINIBOSS06, Config.ASSET_BOSS06, Config.ASSET_BOSS06B, Config.ASSET_BOSS06C]); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(wave29a(), wave26a(), wave28(), wave27(), wave29a(), wave26b(), wave28().concat(wave29b())); _local1.push(miniboss()); _local1.push(wave27(), wave29a().concat(wave28()), wave30(), wave26b().concat(wave29b()), wave30().concat(wave27()), wave29b().concat(wave29a()), wave30().concat(wave29b())); _local1.push(boss01()); _local1.push(boss02()); _local1.push(boss03()); return (_local1); } private function wave30():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY30, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 120), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 360), new Point(500, 120), 55, 4, Expo.easeOut), new Shoot(20, 40, 2, 0, true), new Shoot(90, 20, 2, 1, false), new Shoot(110, 0, 2, 2, true)])).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY30, new ActionPattern().add(new InitPos(new Point(500, 500))).add(new MoveTo(new Point(500, 360), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(20, 40, 2, 0, true), new Shoot(90, 20, 2, 1, false), new Shoot(110, 0, 2, 2, true)])).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } private function wave27():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY27, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 120), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(90, 90, 6, 0, true), new Shoot(90, 90, 6, 1, false)])).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY27, new ActionPattern().add(new InitPos(new Point(500, 500))).add(new MoveTo(new Point(500, 360), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(90, 90, 6, 0, true), new Shoot(90, 90, 6, 1, false)])).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } private function wave28():Array{ var _local1:Array = [new EnemySetup(Config.ID_ENEMY28, new ActionPattern().add(new InitPos(new Point(500, -100))).add(new MoveTo(new Point(500, 120), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(20, 8, 12, 0, true)).add(new MoveTo(new Point(700, 120), 60, Expo.easeOut))), new EnemySetup(Config.ID_ENEMY28, new ActionPattern().add(new InitPos(new Point(500, 500))).add(new MoveTo(new Point(500, 360), 60, Sine.easeOut)).add(new Invincible(false)).add(new Shoot(20, 8, 12, 0, true)).add(new MoveTo(new Point(700, 360), 60, Expo.easeOut)))]; return (_local1); } } }//package game.levels
Section 56
//Level7 (game.levels.Level7) package game.levels { import flash.geom.*; import game.logics.*; import game.*; import easing.*; import game.logics.actions.*; public class Level7 extends Level { public static const name:String = "Level 7"; private function boss0103():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01C, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true)])), true)]; return (_local1); } private function miniboss01():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS01, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(520, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(60, 60, 6, 0, true), new Shoot(60, 60, 6, 1, false)])))]; return (_local1); } private function miniboss02():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS02, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(600, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(600, 80), new Point(600, 400), 120, 6, Sine.easeOut, Sine.easeOut), new Shoot(60, 60, 6, 0, true), new Shoot(60, 60, 6, 0, false)])))]; return (_local1); } private function miniboss03():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS03, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(50, 10, 4, 0, true)])).add(new MoveTo(new Point(500, 80), 60, Sine.easeOut)).add(new Shoot(24, 0, 1, 1, true)).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(50, 10, 4, 0, true)])).add(new MoveTo(new Point(500, 400), 60, Sine.easeOut)).add(new Shoot(24, 0, 1, 1, true)).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)))]; return (_local1); } private function miniboss04():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS04, new ActionPattern().add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(48, 0, 6, 0, true)).add(new MoveTo(new Point(700, 240), 60, Expo.easeOut)))]; return (_local1); } private function miniboss05():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS05, new ActionPattern().add(new InitPos(new Point(750, 240))).add(new MoveTo(new Point(440, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(440, 100), new Point(440, 380), 160, 2, Expo.easeOut), new Shoot(80, 0, 4, 0, true), new Shoot(80, 0, 4, 1, true)])).add(new MoveTo(new Point(750, 240), 60, Expo.easeOut)))]; return (_local1); } private function miniboss06():Array{ var _local1:Array = [new EnemySetup(Config.ID_MINIBOSS06, new ActionPattern().add(new InitPos(new Point(770, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(96, 0, 6, 0, true)).add(new MoveTo(new Point(770, 240), 60, Expo.easeOut)))]; return (_local1); } override protected function get bitmapAssets():Array{ return ([Config.ASSET_MINIBOSS01, Config.ASSET_BOSS01, Config.ASSET_BOSS01B, Config.ASSET_BOSS01C, Config.ASSET_MINIBOSS02, Config.ASSET_BOSS02, Config.ASSET_BOSS02B, Config.ASSET_MINIBOSS03, Config.ASSET_BOSS03, Config.ASSET_BOSS03B, Config.ASSET_MINIBOSS04, Config.ASSET_BOSS04, Config.ASSET_BOSS04B, Config.ASSET_MINIBOSS05, Config.ASSET_BOSS05, Config.ASSET_BOSS05B, Config.ASSET_MINIBOSS06, Config.ASSET_BOSS06, Config.ASSET_BOSS06B, Config.ASSET_BOSS06C]); } override public function get midgroundAsset():String{ return (Config.ASSET_MIDPLX_BONUS); } override public function get backgroundAsset():String{ return (Config.ASSET_BACKPLX_BONUS); } override public function get foregroundAsset():String{ return (Config.ASSET_FOREPLX_BONUS); } private function boss0101():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true), new Shoot(96, 20, 1, 1, true), new Shoot(96, 20, 1, 2, true), new Shoot(20, 10, 2, 3, true)])))]; return (_local1); } private function boss0102():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS01B, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Shoot(60, 10, 1, 0, true), new Shoot(96, 20, 1, 1, true), new Shoot(96, 20, 1, 2, true)])), true)]; return (_local1); } private function boss0301():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS03, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(60, 20, 4, 0, true), new Shoot(60, 20, 4, 1, true), new Shoot(60, 20, 4, 2, true), new Shoot(60, 20, 4, 3, true), new Shoot(52, 0, 3, 4, true)])))]; return (_local1); } private function boss0401():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS04, new ActionPattern(1).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(500, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(72, 0, 4, 0, true), new Shoot(72, 0, 4, 1, true)])).add(new Invincible(true)).add(new MoveTo(new Point(300, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Shoot(72, 0, 4, 0, true), new Shoot(72, 0, 4, 1, true)])).add(new Invincible(true)))]; return (_local1); } private function boss0402():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS04B, new ActionPattern(1).add(new InitPos(new Point(500, 240))).add(new MoveTo(new Point(500, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(72, 0, 4, 0, true)).add(new Invincible(true)).add(new MoveTo(new Point(300, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(72, 0, 4, 0, true)).add(new Invincible(true)))]; return (_local1); } private function boss0601():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true), new Shoot(120, 0, 2, 1, true), new Shoot(120, 0, 2, 2, true)])))]; return (_local1); } private function boss0602():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06B, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true), new Shoot(120, 0, 2, 1, true)])), true)]; return (_local1); } private function boss0603():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS06C, new ActionPattern(2).add(new InitPos(new Point(400, 240))).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(500, 120), new Point(500, 360), 55, 4, Expo.easeOut), new Shoot(120, 0, 2, 0, true)])), true)]; return (_local1); } private function boss0201():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS02, new ActionPattern(3).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(400, 240), 60, Sine.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(400, 130), new Point(400, 370), 80, 1, Sine.easeInOut, Sine.easeInOut), new Shoot(24, 24, 2, 0, true), new Shoot(40, 40, 2, 1, false), new Shoot(24, 48, 2, 2, true)])))]; return (_local1); } private function boss0202():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS02B, new ActionPattern(3).add(new InitPos(new Point(400, 240))).add(new Pause(10)).add(new Invincible(false)).add(new Parallel([new MoveTo(new Point(560, 100), 90, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])).add(new Parallel([new MoveTo(new Point(560, 380), 80, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])).add(new Parallel([new MoveTo(new Point(400, 240), 80, Expo.easeOut), new Shoot(40, 50, 1, 0, true), new Shoot(50, 40, 1, 1)])), true)]; return (_local1); } private function boss0302():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS03B, new ActionPattern(2).add(new Invincible(false)).add(new InitPos(new Point(500, 240))).add(new Parallel([new Yoyo(new Point(500, 200), new Point(500, 280), 60, 2, Sine.easeOut, Sine.easeOut), new Shoot(60, 20, 4, 0, true), new Shoot(60, 20, 4, 1, true), new Shoot(60, 20, 4, 2, true)])), true)]; return (_local1); } private function boss0501():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS05, new ActionPattern(1).add(new InitPos(new Point(700, 240))).add(new MoveTo(new Point(480, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 200), new Point(480, 280), 50, 3, Expo.easeOut), new Shoot(15, 0, 10, 0, true), new Shoot(15, 0, 10, 1, true), new Shoot(50, 0, 3, 2, true)])).add(new Invincible(true)).add(new MoveTo(new Point(320, 240), 30, Expo.easeOut)).add(new Invincible(false)).add(new Shoot(162, 0, 3, 0, true)).add(new Invincible(true)))]; return (_local1); } private function boss0502():Array{ var _local1:Array = [new EnemySetup(Config.ID_BOSS05B, new ActionPattern(3).add(new InitPos(new Point(520, 240))).add(new MoveTo(new Point(520, 240), 60, Expo.easeOut)).add(new Invincible(false)).add(new Parallel([new Yoyo(new Point(480, 200), new Point(480, 280), 50, 3, Expo.easeOut), new Shoot(15, 0, 10, 0, true), new Shoot(50, 0, 3, 1, true)])))]; return (_local1); } override public function get waveGroups():Array{ var _local1:Array = []; _local1.push(miniboss01()); _local1.push(boss0101()); _local1.push(boss0102()); _local1.push(boss0103()); _local1.push(miniboss02()); _local1.push(boss0201()); _local1.push(boss0202()); _local1.push(miniboss03()); _local1.push(boss0301()); _local1.push(boss0302()); _local1.push(miniboss04()); _local1.push(boss0401()); _local1.push(boss0402()); _local1.push(miniboss05()); _local1.push(boss0501()); _local1.push(boss0502()); _local1.push(miniboss06()); _local1.push(boss0601()); _local1.push(boss0602()); _local1.push(boss0603()); return (_local1); } } }//package game.levels
Section 57
//Hittable (game.logics.actions.Hittable) package game.logics.actions { import game.logics.*; public class Hittable extends Action { private var flag:Boolean; public function Hittable(_arg1:Boolean){ flag = _arg1; } override public function update():void{ } override public function isDone():Boolean{ return (true); } override public function init():void{ enemy.kamikaze = flag; } } }//package game.logics.actions
Section 58
//InitPos (game.logics.actions.InitPos) package game.logics.actions { import flash.geom.*; import game.logics.*; public class InitPos extends Action { private var destPoint:Point; public function InitPos(_arg1:Point){ destPoint = _arg1.clone(); } override public function init():void{ enemy.position.x = destPoint.x; enemy.position.y = destPoint.y; } override public function update():void{ } override public function isDone():Boolean{ return (true); } } }//package game.logics.actions
Section 59
//Invincible (game.logics.actions.Invincible) package game.logics.actions { import game.logics.*; public class Invincible extends Action { private var flag:Boolean; public function Invincible(_arg1:Boolean){ flag = _arg1; } override public function update():void{ } override public function isDone():Boolean{ return (true); } override public function init():void{ enemy.invincible = flag; } } }//package game.logics.actions
Section 60
//MoveTo (game.logics.actions.MoveTo) package game.logics.actions { import flash.geom.*; import game.logics.*; import easing.*; public class MoveTo extends Action { private var ease:Function; private var duration:int; private var destination:Point; private var departure:Point; private var tick:int; public function MoveTo(_arg1:Point, _arg2:int, _arg3:Function=null){ this.destination = _arg1.clone(); this.duration = _arg2; this.ease = ((_arg3)==null) ? Linear.ease : _arg3; tick = 0; } override public function update():void{ enemy.position.x = ease(tick, departure.x, (destination.x - departure.x), duration); enemy.position.y = ease(tick, departure.y, (destination.y - departure.y), duration); tick++; } override public function isDone():Boolean{ if ((((Point.distance(enemy.position, destination) <= 0.001)) || ((tick > duration)))){ return (true); }; return (false); } override public function init():void{ tick = 0; departure = enemy.position.clone(); enemy.vector = new Point(); } } }//package game.logics.actions
Section 61
//Parallel (game.logics.actions.Parallel) package game.logics.actions { import game.logics.*; import game.logics.actors.*; public class Parallel extends Action { private var actions:Array; public function Parallel(_arg1:Array){ this.actions = _arg1; } override public function init():void{ var _local2:Action; var _local1:int; while (_local1 < actions.length) { _local2 = actions[_local1]; _local2.init(); _local1++; }; } override public function update():void{ var _local2:Action; var _local1:int; while (_local1 < actions.length) { _local2 = actions[_local1]; _local2.update(); _local1++; }; } override public function isDone():Boolean{ var _local3:Action; var _local1:int; var _local2:int; while (_local2 < actions.length) { _local3 = actions[_local2]; _local1 = (_local1 + (_local3.isDone()) ? 1 : 0); _local2++; }; return ((actions.length == _local1)); } override public function setup(_arg1:Enemy, _arg2:ObjectFactory):void{ var _local4:Action; var _local3:int; while (_local3 < actions.length) { _local4 = actions[_local3]; _local4.setup(_arg1, _arg2); _local3++; }; } } }//package game.logics.actions
Section 62
//Pause (game.logics.actions.Pause) package game.logics.actions { import game.logics.*; public class Pause extends Action { private var delay:int; public function Pause(_arg1:int){ this.delay = _arg1; } override public function init():void{ } override public function update():void{ delay--; if (delay < 0){ delay = 0; }; } override public function isDone():Boolean{ return ((delay == 0)); } } }//package game.logics.actions
Section 63
//Shoot (game.logics.actions.Shoot) package game.logics.actions { import game.logics.*; public class Shoot extends Action { private var currentPauseInterval:int; private var shootInterval:int; private var weaponType:int; private var currentShootInterval:int; private var shootOnInit:Boolean; private var loop:int; private var currentLoop:int; private var pauseInterval:int; public function Shoot(_arg1:int, _arg2:int, _arg3:int=1, _arg4:int=0, _arg5:Boolean=true){ this.shootInterval = _arg1; this.pauseInterval = _arg2; this.loop = _arg3; this.weaponType = _arg4; this.shootOnInit = _arg5; currentShootInterval = (_arg5) ? _arg1 : 0; currentPauseInterval = _arg2; } override public function update():void{ if (currentShootInterval > 0){ enemy.shoot(weaponType); currentShootInterval--; } else { if ((((currentShootInterval == 0)) && ((currentPauseInterval > 0)))){ currentPauseInterval--; } else { if ((((currentShootInterval == 0)) && ((currentPauseInterval == 0)))){ currentShootInterval = shootInterval; currentPauseInterval = pauseInterval; currentLoop++; }; }; }; } override public function init():void{ currentLoop = 0; } override public function isDone():Boolean{ if ((((loop > -1)) && ((currentLoop < loop)))){ return (false); }; if (loop == -1){ return (false); }; return (true); } } }//package game.logics.actions
Section 64
//Yoyo (game.logics.actions.Yoyo) package game.logics.actions { import flash.geom.*; import game.logics.*; import easing.*; public class Yoyo extends Action { private var ease1:Function; private var ease2:Function; private var goToIndex:int; private var loop:int; private var tick:int; private var dest2:Point; private var departure:Point; private var dest1:Point; private var duration:int; private var currentLoop:int; public function Yoyo(_arg1:Point, _arg2:Point, _arg3:int, _arg4:int=1, _arg5:Function=null, _arg6:Function=null){ this.dest1 = _arg1; this.dest2 = _arg2; this.duration = _arg3; this.loop = _arg4; this.ease1 = ((_arg5)==null) ? Linear.ease : _arg5; this.ease2 = ((_arg6)==null) ? Linear.ease : _arg6; goToIndex = 1; currentLoop = 0; tick = 0; } override public function update():void{ if (tick < duration){ switch (goToIndex){ case 1: enemy.position.x = ease1(tick, departure.x, (dest1.x - departure.x), duration); enemy.position.y = ease1(tick, departure.y, (dest1.y - departure.y), duration); break; case 2: enemy.position.x = ease2(tick, departure.x, (dest2.x - departure.x), duration); enemy.position.y = ease2(tick, departure.y, (dest2.y - departure.y), duration); break; }; tick++; } else { tick = 0; if (goToIndex == 2){ currentLoop++; }; goToIndex = ((goToIndex)==1) ? 2 : 1; departure = enemy.position.clone(); }; } override public function isDone():Boolean{ if (currentLoop == loop){ return (true); }; return (false); } override public function init():void{ departure = enemy.position.clone(); enemy.vector = new Point(); } } }//package game.logics.actions
Section 65
//Boss01 (game.logics.actors.enemies.Boss01) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss01 extends Enemy { public function Boss01(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 500; invincible = true; weapons.push(new Boss01Weapon01(_arg3, this, new Point(-71, -64))); weapons.push(new Boss01Weapon02a(_arg3, this, new Point(-103, 40))); weapons.push(new Boss01Weapon02b(_arg3, this, new Point(-103, 40))); weapons.push(new Boss01Weapon03(_arg3, this, new Point(-39, 79))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (50); } override protected function build():void{ assetName = Config.ASSET_BOSS01; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 66
//Boss01b (game.logics.actors.enemies.Boss01b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss01b extends Enemy { public function Boss01b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 500; invincible = true; weapons.push(new Boss01Weapon01(_arg3, this, new Point(-71, -64))); weapons.push(new Boss01Weapon02a(_arg3, this, new Point(-103, 40))); weapons.push(new Boss01Weapon02b(_arg3, this, new Point(-103, 40))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (50); } override protected function build():void{ assetName = Config.ASSET_BOSS01B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 67
//Boss01c (game.logics.actors.enemies.Boss01c) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss01c extends Enemy { public function Boss01c(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 500; invincible = true; weapons.push(new Boss01Weapon01(_arg3, this, new Point(-71, -64))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_3, position.clone())); }; if (Profile.instance.levelsCompleted.length == 0){ Profile.instance.levelsCompleted.push(1); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS01C); } override public function get exp():int{ return (50); } override protected function build():void{ assetName = Config.ASSET_BOSS01C; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 68
//Boss02 (game.logics.actors.enemies.Boss02) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss02 extends Enemy { public function Boss02(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 1500; invincible = true; weapons.push(new Boss02Weapon02(_arg3, this, new Point(-26, -11))); weapons.push(new Boss02Weapon03(_arg3, this, new Point(-124, 62))); weapons.push(new Boss02Weapon01(_arg3, this, new Point(-14, 76))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (150); } override protected function build():void{ assetName = Config.ASSET_BOSS02; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (40); } } }//package game.logics.actors.enemies
Section 69
//Boss02b (game.logics.actors.enemies.Boss02b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss02b extends Enemy { public function Boss02b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 1500; invincible = true; weapons.push(new Boss02Weapon03(_arg3, this, new Point(-26, -11))); weapons.push(new Boss02Weapon02(_arg3, this, new Point(-26, -11))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_4, position.clone())); }; if (Profile.instance.levelsCompleted.length == 1){ Profile.instance.levelsCompleted.push(2); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS02B); } override public function get exp():int{ return (150); } override protected function build():void{ assetName = Config.ASSET_BOSS02B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (40); } } }//package game.logics.actors.enemies
Section 70
//Boss03 (game.logics.actors.enemies.Boss03) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss03 extends Enemy { public function Boss03(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 2600; invincible = true; weapons.push(new Boss03Weapon01(_arg3, this, new Point(-27, -124))); weapons.push(new Boss03Weapon01(_arg3, this, new Point(16, -94))); weapons.push(new Boss03Weapon01(_arg3, this, new Point(-61, -76))); weapons.push(new Boss03Weapon01(_arg3, this, new Point(-35, -53))); weapons.push(new Boss03Weapon02(_arg3, this, new Point(-104, 99))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (300); } override protected function build():void{ assetName = Config.ASSET_BOSS03; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (60); } } }//package game.logics.actors.enemies
Section 71
//Boss03b (game.logics.actors.enemies.Boss03b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss03b extends Enemy { public function Boss03b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 2600; invincible = true; weapons.push(new Boss03Weapon01(_arg3, this, new Point(-27, -124))); weapons.push(new Boss03Weapon01(_arg3, this, new Point(16, -94))); weapons.push(new Boss03Weapon01(_arg3, this, new Point(-61, -76))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ SWFConsole.output("BOSS3 spawns loot!"); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_5, position.clone())); }; if (Profile.instance.levelsCompleted.length == 2){ Profile.instance.levelsCompleted.push(3); }; SWFConsole.output("BOSS3 ends spawning loot.."); hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS03B); } override public function get exp():int{ return (300); } override protected function build():void{ assetName = Config.ASSET_BOSS03B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceHit = new RectTiles(new Rectangle(0, 272, 1360, 272), 272, 272); faceAttack = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); faceInvincible = new RectTiles(new Rectangle(0, 0, 1360, 272), 272, 272); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-136, -136); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (60); } } }//package game.logics.actors.enemies
Section 72
//Boss04 (game.logics.actors.enemies.Boss04) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss04 extends Enemy { public function Boss04(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 3400; invincible = true; weapons.push(new Boss04Weapon01(_arg3, this, new Point(-165, 20))); weapons.push(new Boss04Weapon02(_arg3, this, new Point(-136, 110))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (600); } override protected function build():void{ assetName = Config.ASSET_BOSS04; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1695, 383), 339, 383); faceHit = new RectTiles(new Rectangle(0, 383, 1695, 383), 339, 383); faceAttack = new RectTiles(new Rectangle(0, 0, 1695, 383), 339, 383); faceInvincible = new RectTiles(new Rectangle(0, 0, 1695, 383), 339, 383); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-170, -192); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (80); } } }//package game.logics.actors.enemies
Section 73
//Boss04b (game.logics.actors.enemies.Boss04b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss04b extends Enemy { public function Boss04b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 3400; invincible = true; weapons.push(new Boss04Weapon01(_arg3, this, new Point(-57, -99))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_6, position.clone())); }; if (Profile.instance.levelsCompleted.length == 3){ Profile.instance.levelsCompleted.push(4); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS04B); } override public function get exp():int{ return (600); } override protected function build():void{ assetName = Config.ASSET_BOSS04B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1015, 247), 203, 247); faceHit = new RectTiles(new Rectangle(0, 247, 1015, 247), 203, 247); faceAttack = new RectTiles(new Rectangle(0, 0, 1015, 247), 203, 247); faceInvincible = new RectTiles(new Rectangle(0, 0, 1015, 247), 203, 247); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-102, -124); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (80); } } }//package game.logics.actors.enemies
Section 74
//Boss05 (game.logics.actors.enemies.Boss05) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss05 extends Enemy { public function Boss05(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 4600; invincible = true; weapons.push(new Boss05Weapon01(_arg3, this, new Point(-64, -147))); weapons.push(new Boss05Weapon01(_arg3, this, new Point(-137, -92))); weapons.push(new Boss05Weapon02(_arg3, this, new Point(-99, -2))); weapons.push(new Boss05Weapon03(_arg3, this, new Point(-144, 104))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (1200); } override protected function build():void{ assetName = Config.ASSET_BOSS05; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); faceHit = new RectTiles(new Rectangle(0, 357, 2280, 357), 456, 357); faceAttack = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); faceInvincible = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-228, -178); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (100); } } }//package game.logics.actors.enemies
Section 75
//Boss05b (game.logics.actors.enemies.Boss05b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss05b extends Enemy { public function Boss05b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 4600; invincible = true; weapons.push(new Boss05Weapon03(_arg3, this, new Point(-64, -147))); weapons.push(new Boss05Weapon03(_arg3, this, new Point(-144, 104))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_7, position.clone())); }; if (Profile.instance.levelsCompleted.length == 4){ Profile.instance.levelsCompleted.push(5); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS05B); } override public function get exp():int{ return (1200); } override protected function build():void{ assetName = Config.ASSET_BOSS05B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); faceHit = new RectTiles(new Rectangle(0, 357, 2280, 357), 456, 357); faceAttack = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); faceInvincible = new RectTiles(new Rectangle(0, 0, 2280, 357), 456, 357); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-228, -178); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (100); } } }//package game.logics.actors.enemies
Section 76
//Boss06 (game.logics.actors.enemies.Boss06) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss06 extends Enemy { public function Boss06(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 5800; invincible = true; weapons.push(new Boss06Weapon01(_arg3, this, new Point(-27, 46))); weapons.push(new Boss06Weapon02(_arg3, this, new Point(-27, 46))); weapons.push(new Boss06Weapon03(_arg3, this, new Point(-27, 46))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (2400); } override protected function build():void{ assetName = Config.ASSET_BOSS06; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceHit = new RectTiles(new Rectangle(0, 400, 1080, 400), 216, 400); faceAttack = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceInvincible = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-108, -200); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (120); } } }//package game.logics.actors.enemies
Section 77
//Boss06b (game.logics.actors.enemies.Boss06b) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss06b extends Enemy { public function Boss06b(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 5800; invincible = true; weapons.push(new Boss06Weapon01(_arg3, this, new Point(-27, 46))); weapons.push(new Boss06Weapon02(_arg3, this, new Point(-27, 46))); convertBullet = false; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ hasSpawnedLoot = true; }; } override public function get exp():int{ return (2400); } override protected function build():void{ assetName = Config.ASSET_BOSS06B; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceHit = new RectTiles(new Rectangle(0, 400, 1080, 400), 216, 400); faceAttack = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceInvincible = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-108, -200); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (120); } } }//package game.logics.actors.enemies
Section 78
//Boss06c (game.logics.actors.enemies.Boss06c) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Boss06c extends Enemy { public function Boss06c(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 5800; invincible = true; weapons.push(new Boss06Weapon01(_arg3, this, new Point(-27, 46))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_8, position.clone())); }; if (Profile.instance.levelsCompleted.length == 5){ Profile.instance.levelsCompleted.push(6); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_BOSS06C); } override public function get exp():int{ return (2400); } override protected function build():void{ assetName = Config.ASSET_BOSS06C; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceHit = new RectTiles(new Rectangle(0, 400, 1080, 400), 216, 400); faceAttack = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); faceInvincible = new RectTiles(new Rectangle(0, 0, 1080, 400), 216, 400); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-108, -200); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (120); } } }//package game.logics.actors.enemies
Section 79
//Enemy00 (game.logics.actors.enemies.Enemy00) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy00 extends Enemy { public function Enemy00(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 3; kamikaze = true; } override public function get exp():int{ return (1); } override protected function build():void{ assetName = Config.ASSET_MONSTER00; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (1); } } }//package game.logics.actors.enemies
Section 80
//Enemy01 (game.logics.actors.enemies.Enemy01) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy01 extends Enemy { public function Enemy01(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 80; weapons.push(new Enemy01Weapon(_arg3, this, new Point(-14, 14))); } override public function get exp():int{ return (8); } override protected function build():void{ assetName = Config.ASSET_MONSTER01; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.actors.enemies
Section 81
//Enemy02 (game.logics.actors.enemies.Enemy02) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy02 extends Enemy { public function Enemy02(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 6; kamikaze = true; } override public function get exp():int{ return (2); } override protected function build():void{ assetName = Config.ASSET_MONSTER02; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.actors.enemies
Section 82
//Enemy03 (game.logics.actors.enemies.Enemy03) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy03 extends Enemy { public function Enemy03(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 120; weapons.push(new Enemy03Weapon01(_arg3, this, new Point(-48, 24))); weapons.push(new Enemy03Weapon02(_arg3, this, new Point(-48, 24))); } override public function get exp():int{ return (14); } override protected function build():void{ assetName = Config.ASSET_MONSTER03; hit.width = (hit.height = 60); hit.x = (hit.y = -30); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.actors.enemies
Section 83
//Enemy04 (game.logics.actors.enemies.Enemy04) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy04 extends Enemy { public function Enemy04(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 60; weapons.push(new Enemy04Weapon(_arg3, this, new Point(-32, 15))); } override public function get exp():int{ return (10); } override protected function build():void{ assetName = Config.ASSET_MONSTER04; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(64, 0, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.actors.enemies
Section 84
//Enemy05 (game.logics.actors.enemies.Enemy05) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy05 extends Enemy { public function Enemy05(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 12; kamikaze = true; } override public function get exp():int{ return (8); } override protected function build():void{ assetName = Config.ASSET_MONSTER05; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(64, 0, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (8); } } }//package game.logics.actors.enemies
Section 85
//Enemy06 (game.logics.actors.enemies.Enemy06) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy06 extends Enemy { public function Enemy06(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 120; weapons.push(new Enemy06Weapon(_arg3, this, new Point(-27, 12))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (20); } override protected function build():void{ assetName = Config.ASSET_MONSTER06; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 70, 70), 70, 70); faceHit = new RectTiles(new Rectangle(0, 70, 70, 70), 70, 70); faceAttack = new RectTiles(new Rectangle(0, 0, 70, 70), 70, 70); faceInvincible = new RectTiles(new Rectangle(0, 0, 70, 70), 70, 70); face.delay = (faceHit.delay = 2); facePos = new Point(-35, -35); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (8); } } }//package game.logics.actors.enemies
Section 86
//Enemy07 (game.logics.actors.enemies.Enemy07) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy07 extends Enemy { public function Enemy07(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 260; weapons.push(new Enemy07Weapon(_arg3, this, new Point(-55, 12))); weapons.push(new Enemy07Weapon02(_arg3, this, new Point(-55, 12))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (22); } override protected function build():void{ assetName = Config.ASSET_MONSTER07; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 120, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (10); } } }//package game.logics.actors.enemies
Section 87
//Enemy08 (game.logics.actors.enemies.Enemy08) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy08 extends Enemy { public function Enemy08(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 180; weapons.push(new Enemy08Weapon(_arg3, this, new Point(-16, 8))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (20); } override protected function build():void{ assetName = Config.ASSET_MONSTER08; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (8); } } }//package game.logics.actors.enemies
Section 88
//Enemy09 (game.logics.actors.enemies.Enemy09) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy09 extends Enemy { public function Enemy09(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 24; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (10); } override protected function build():void{ assetName = Config.ASSET_MONSTER09; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (10); } } }//package game.logics.actors.enemies
Section 89
//Enemy10 (game.logics.actors.enemies.Enemy10) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy10 extends Enemy { public function Enemy10(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 280; weapons.push(new Enemy10Weapon01(_arg3, this, new Point(-28, 23))); weapons.push(new Enemy10Weapon02(_arg3, this, new Point(-28, 23))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (24); } override protected function build():void{ assetName = Config.ASSET_MONSTER10; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (10); } } }//package game.logics.actors.enemies
Section 90
//Enemy11 (game.logics.actors.enemies.Enemy11) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy11 extends Enemy { public function Enemy11(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 340; weapons.push(new Enemy11Weapon01(_arg3, this, new Point(-55, 26))); weapons.push(new Enemy11Weapon02(_arg3, this, new Point(-55, 26))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (36); } override protected function build():void{ assetName = Config.ASSET_MONSTER11; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (15); } } }//package game.logics.actors.enemies
Section 91
//Enemy12 (game.logics.actors.enemies.Enemy12) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy12 extends Enemy { public function Enemy12(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 30; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (20); } override protected function build():void{ assetName = Config.ASSET_MONSTER12; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (15); } } }//package game.logics.actors.enemies
Section 92
//Enemy13 (game.logics.actors.enemies.Enemy13) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy13 extends Enemy { public function Enemy13(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 280; weapons.push(new Enemy13Weapon(_arg3, this, new Point(-16, 8))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (32); } override protected function build():void{ assetName = Config.ASSET_MONSTER13; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (15); } } }//package game.logics.actors.enemies
Section 93
//Enemy14 (game.logics.actors.enemies.Enemy14) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy14 extends Enemy { public function Enemy14(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 420; weapons.push(new Enemy14Weapon(_arg3, this, new Point(-56, 4))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (36); } override protected function build():void{ assetName = Config.ASSET_MONSTER14; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 94
//Enemy15 (game.logics.actors.enemies.Enemy15) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy15 extends Enemy { public function Enemy15(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 440; weapons.push(new Enemy15Weapon02(_arg3, this, new Point(-42, -42))); weapons.push(new Enemy15Weapon01(_arg3, this, new Point(-55, 20))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (38); } override protected function build():void{ assetName = Config.ASSET_MONSTER15; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 120, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (15); } } }//package game.logics.actors.enemies
Section 95
//Enemy16 (game.logics.actors.enemies.Enemy16) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy16 extends Enemy { public function Enemy16(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 420; weapons.push(new Enemy16Weapon01(_arg3, this, new Point(-18, 32))); weapons.push(new Enemy16Weapon02(_arg3, this, new Point(-18, 32))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (40); } override protected function build():void{ assetName = Config.ASSET_MONSTER16; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 90, 65), 90, 65); faceHit = new RectTiles(new Rectangle(0, 65, 90, 65), 90, 65); faceAttack = new RectTiles(new Rectangle(0, 0, 90, 65), 90, 65); faceInvincible = new RectTiles(new Rectangle(0, 0, 90, 65), 90, 65); face.delay = (faceHit.delay = 2); facePos = new Point(-45, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 96
//Enemy17 (game.logics.actors.enemies.Enemy17) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy17 extends Enemy { public function Enemy17(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 40; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (30); } override protected function build():void{ assetName = Config.ASSET_MONSTER17; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceHit = new RectTiles(new Rectangle(0, 64, 86, 64), 86, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-43, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (15); } } }//package game.logics.actors.enemies
Section 97
//Enemy18 (game.logics.actors.enemies.Enemy18) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy18 extends Enemy { public function Enemy18(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 48; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (32); } override protected function build():void{ assetName = Config.ASSET_MONSTER18; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 98
//Enemy19 (game.logics.actors.enemies.Enemy19) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy19 extends Enemy { public function Enemy19(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 600; weapons.push(new Enemy19Weapon(_arg3, this, new Point(-56, 4))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (40); } override protected function build():void{ assetName = Config.ASSET_MONSTER19; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (25); } } }//package game.logics.actors.enemies
Section 99
//Enemy20 (game.logics.actors.enemies.Enemy20) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy20 extends Enemy { public function Enemy20(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 600; weapons.push(new Enemy20Weapon01(_arg3, this, new Point(-58, -15))); weapons.push(new Enemy20Weapon02(_arg3, this, new Point(-58, -15))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (44); } override protected function build():void{ assetName = Config.ASSET_MONSTER20; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (25); } } }//package game.logics.actors.enemies
Section 100
//Enemy21 (game.logics.actors.enemies.Enemy21) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy21 extends Enemy { public function Enemy21(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 780; weapons.push(new Enemy21Weapon01(_arg3, this, new Point(-52, 2))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (54); } override protected function build():void{ assetName = Config.ASSET_MONSTER21; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 120, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (35); } } }//package game.logics.actors.enemies
Section 101
//Enemy22 (game.logics.actors.enemies.Enemy22) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy22 extends Enemy { public function Enemy22(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 600; weapons.push(new Enemy22Weapon01(_arg3, this, new Point(-12, 20))); weapons.push(new Enemy22Weapon02(_arg3, this, new Point(-12, 20))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (50); } override protected function build():void{ assetName = Config.ASSET_MONSTER22; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (30); } } }//package game.logics.actors.enemies
Section 102
//Enemy23 (game.logics.actors.enemies.Enemy23) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy23 extends Enemy { public function Enemy23(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 54; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (40); } override protected function build():void{ assetName = Config.ASSET_MONSTER23; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceHit = new RectTiles(new Rectangle(0, 64, 86, 64), 86, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-43, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (25); } } }//package game.logics.actors.enemies
Section 103
//Enemy24 (game.logics.actors.enemies.Enemy24) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy24 extends Enemy { public function Enemy24(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 740; weapons.push(new Enemy24Weapon01(_arg3, this, new Point(-58, -15))); weapons.push(new Enemy24Weapon02(_arg3, this, new Point(-58, -15))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (56); } override protected function build():void{ assetName = Config.ASSET_MONSTER24; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (35); } } }//package game.logics.actors.enemies
Section 104
//Enemy25 (game.logics.actors.enemies.Enemy25) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy25 extends Enemy { public function Enemy25(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 60; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (40); } override protected function build():void{ assetName = Config.ASSET_MONSTER25; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (25); } } }//package game.logics.actors.enemies
Section 105
//Enemy26 (game.logics.actors.enemies.Enemy26) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy26 extends Enemy { public function Enemy26(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 780; weapons.push(new Enemy26Weapon01(_arg3, this, new Point(-35, -30))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (64); } override protected function build():void{ assetName = Config.ASSET_MONSTER26; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (40); } } }//package game.logics.actors.enemies
Section 106
//Enemy27 (game.logics.actors.enemies.Enemy27) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy27 extends Enemy { public function Enemy27(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 880; weapons.push(new Enemy27Weapon01(_arg3, this, new Point(-55, -8))); weapons.push(new Enemy27Weapon02(_arg3, this, new Point(-56, 4))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (64); } override protected function build():void{ assetName = Config.ASSET_MONSTER27; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (45); } } }//package game.logics.actors.enemies
Section 107
//Enemy28 (game.logics.actors.enemies.Enemy28) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy28 extends Enemy { public function Enemy28(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 880; weapons.push(new Enemy28Weapon01(_arg3, this, new Point(-52, 2))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (64); } override protected function build():void{ assetName = Config.ASSET_MONSTER28; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 120, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 120, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (40); } } }//package game.logics.actors.enemies
Section 108
//Enemy29 (game.logics.actors.enemies.Enemy29) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy29 extends Enemy { public function Enemy29(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 72; kamikaze = true; } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (50); } override protected function build():void{ assetName = Config.ASSET_MONSTER29; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceHit = new RectTiles(new Rectangle(0, 64, 86, 64), 86, 64); faceAttack = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); faceInvincible = new RectTiles(new Rectangle(0, 0, 86, 64), 86, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-43, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (35); } } }//package game.logics.actors.enemies
Section 109
//Enemy30 (game.logics.actors.enemies.Enemy30) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Enemy30 extends Enemy { public function Enemy30(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 920; weapons.push(new Enemy30Weapon01(_arg3, this, new Point(-56, -36))); weapons.push(new Enemy30Weapon02(_arg3, this, new Point(-58, -15))); weapons.push(new Enemy30Weapon03(_arg3, this, new Point(-50, 0))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); hasSpawnedLoot = true; }; } override public function get exp():int{ return (68); } override protected function build():void{ assetName = Config.ASSET_MONSTER30; hit.width = (hit.height = 32); hit.x = (hit.y = -16); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = 2); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (45); } } }//package game.logics.actors.enemies
Section 110
//MiniBoss01 (game.logics.actors.enemies.MiniBoss01) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss01 extends Enemy { public function MiniBoss01(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 560; invincible = true; weapons.push(new MiniBoss01Weapon01(_arg3, this, new Point(-40, 34))); weapons.push(new MiniBoss01Weapon02(_arg3, this, new Point(-40, 34))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_S, position.clone())); }; hasSpawnedLoot = true; }; } override public function get exp():int{ return (20); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS01; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 600, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 600, 120), 120, 120); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (10); } } }//package game.logics.actors.enemies
Section 111
//MiniBoss02 (game.logics.actors.enemies.MiniBoss02) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss02 extends Enemy { public function MiniBoss02(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 1800; invincible = true; weapons.push(new MiniBoss01Weapon01(_arg3, this, new Point(-65, -4))); weapons.push(new MiniBoss01Weapon02(_arg3, this, new Point(-65, -4))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_S, position.clone())); }; hasSpawnedLoot = true; }; } override public function get exp():int{ return (40); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS02; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 420, 166), 140, 166); faceHit = new RectTiles(new Rectangle(0, 166, 420, 166), 140, 166); faceAttack = new RectTiles(new Rectangle(0, 0, 420, 166), 140, 166); faceInvincible = new RectTiles(new Rectangle(0, 0, 420, 166), 140, 166); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-70, -83); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (20); } } }//package game.logics.actors.enemies
Section 112
//MiniBoss03 (game.logics.actors.enemies.MiniBoss03) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss03 extends Enemy { public function MiniBoss03(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 2400; invincible = true; weapons.push(new MiniBoss03Weapon01(_arg3, this, new Point(-56, -17))); weapons.push(new MiniBoss03Weapon02(_arg3, this, new Point(-56, -17))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_S, position.clone())); }; if (Math.random() <= 0.5){ factory.add(new PlayObjectSetup(Config.ID_MAGIC_S, position.clone())); }; hasSpawnedLoot = true; }; } override public function get exp():int{ return (80); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS03; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 360, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 360, 120), 120, 120); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (30); } } }//package game.logics.actors.enemies
Section 113
//MiniBoss04 (game.logics.actors.enemies.MiniBoss04) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss04 extends Enemy { public function MiniBoss04(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 3000; invincible = true; weapons.push(new MiniBoss04Weapon01(_arg3, this, new Point(-32, 7))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_M, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_M, position.clone())); }; hasSpawnedLoot = true; }; } override public function get exp():int{ return (160); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS04; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 720, 120), 120, 120); faceHit = new RectTiles(new Rectangle(0, 120, 720, 120), 120, 120); faceAttack = new RectTiles(new Rectangle(0, 0, 720, 120), 120, 120); faceInvincible = new RectTiles(new Rectangle(0, 0, 720, 120), 120, 120); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (40); } } }//package game.logics.actors.enemies
Section 114
//MiniBoss05 (game.logics.actors.enemies.MiniBoss05) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss05 extends Enemy { public function MiniBoss05(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 4800; invincible = true; weapons.push(new MiniBoss05Weapon01(_arg3, this, new Point(-86, -50))); weapons.push(new MiniBoss05Weapon02(_arg3, this, new Point(-86, -50))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_M, position.clone())); }; if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_MAGIC_M, position.clone())); }; if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_1, position.clone())); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_MINIBOSS05); } override public function get exp():int{ return (320); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS05; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); faceHit = new RectTiles(new Rectangle(0, 233, 1165, 233), 233, 233); faceAttack = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); faceInvincible = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-116, -116); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (50); } } }//package game.logics.actors.enemies
Section 115
//MiniBoss06 (game.logics.actors.enemies.MiniBoss06) package game.logics.actors.enemies { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class MiniBoss06 extends Enemy { public function MiniBoss06(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg2, _arg3); health = 5400; invincible = true; weapons.push(new MiniBoss06Weapon01(_arg3, this, new Point(-47, -16))); } override protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); factory.add(new PlayObjectSetup(Config.ID_GOLD_L, position.clone())); if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_HEALTH_M, position.clone())); }; if (Math.random() > 0.5){ factory.add(new PlayObjectSetup(Config.ID_MAGIC_M, position.clone())); }; if (secElapsed <= (60 * 3)){ factory.add(new PlayObjectSetup(Config.ID_TOKEN_GEM_2, position.clone())); }; hasSpawnedLoot = true; }; } override public function get id():int{ return (Config.ID_MINIBOSS06); } override public function get exp():int{ return (640); } override protected function build():void{ assetName = Config.ASSET_MINIBOSS06; hit.width = (hit.height = 100); hit.x = (hit.y = -50); face = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); faceHit = new RectTiles(new Rectangle(0, 233, 1165, 233), 233, 233); faceAttack = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); faceInvincible = new RectTiles(new Rectangle(0, 0, 1165, 233), 233, 233); face.delay = (faceHit.delay = (faceAttack.delay = (faceInvincible.delay = 2))); facePos = new Point(-116, -116); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (60); } } }//package game.logics.actors.enemies
Section 116
//Enemy (game.logics.actors.Enemy) package game.logics.actors { import com.soybeansoft.manager.*; import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Enemy extends Actor { protected var faceAttack:RectTiles; protected var target:Point; protected var convertBullet:Boolean; protected var initPosition:Point; protected var faceInvincible:RectTiles; public var invincible:Boolean; protected var patterns:ActionPattern; protected var hasSpawnedLoot:Boolean; protected var secElapsed:int; public var kamikaze:Boolean; protected static const ATTACK:String = "attack"; protected static const INVINCIBLE:String = "invincible"; public function Enemy(_arg1:Point, _arg2:ActionPattern, _arg3:ObjectFactory){ super(_arg1, _arg3); initPosition = _arg1.clone(); this.patterns = _arg2; kamikaze = true; invincible = false; secElapsed = 0; hasSpawnedLoot = false; convertBullet = true; _arg2.setup(this, _arg3); } public function get defense():Number{ return (MathUtil.rangedRandom(0.1, 0.3, 0.1)); } override protected function setupFace():void{ switch (status){ case HIT: renderHelper = new RectTilesRenderer(assetName, faceHit, facePos, position); break; case ATTACK: if (faceAttack != null){ renderHelper = new RectTilesRenderer(assetName, faceAttack, facePos, position); }; break; case INVINCIBLE: if (faceInvincible != null){ renderHelper = new RectTilesRenderer(assetName, faceInvincible, facePos, position); }; break; default: renderHelper = new RectTilesRenderer(assetName, face, facePos, position); break; }; } public function targetHero(_arg1:Point):void{ target = ((_arg1)==null) ? null : _arg1.clone(); } override public function update():void{ updateAction(); if (invincible){ status = INVINCIBLE; setupFace(); }; super.update(); } override public function applyHit(_arg1:int):void{ super.applyHit(_arg1); Sounds.instance.playFX(Config.ASSET_SFX_ENEMYHIT); } public function spawnCritSign():void{ factory.add(new PlayObjectSetup(Config.ID_CRITPARTICLE, position.clone())); } public function get id():int{ return (-1); } public function get exp():int{ return (1); } protected function explode():void{ factory.add(new PlayObjectSetup(Config.ID_EXPLOSION03EMITTER, position.clone())); } protected function spawnLoot():void{ if (!hasSpawnedLoot){ factory.add(new PlayObjectSetup(Config.ID_GOLD_S, position.clone())); hasSpawnedLoot = true; }; } protected function updateAction():void{ patterns.update(); face.nextFrame(); faceHit.nextFrame(); faceAttack.nextFrame(); faceInvincible.nextFrame(); } public function get damage():int{ return (5); } public function spawnDamageParticle(_arg1:int):void{ ObjectFactory(factory).addTextParticle(new TextParticleSetup(Config.ID_DAMAGEPARTICLE, position.clone(), _arg1)); } override protected function death():void{ ObjectFactory(factory).addTextParticle(new TextParticleSetup(Config.ID_EXPPARTICLE, position.clone(), exp)); Profile.instance.exp = (Profile.instance.exp + exp); Profile.instance.score = (Profile.instance.score + (exp * Config.SCORE_BASE)); Profile.instance.kills++; Profile.instance.tempGameData.levelTrack.exp = (Profile.instance.tempGameData.levelTrack.exp + exp); Profile.instance.tempGameData.levelTrack.score = (Profile.instance.tempGameData.levelTrack.score + (exp * Config.SCORE_BASE)); Profile.instance.tempGameData.levelTrack.kills++; if (Profile.instance.tempGameData.enemies == null){ Profile.instance.tempGameData.enemies = []; }; if (convertBullet){ Profile.instance.tempGameData.enemies.push(this); }; explode(); spawnLoot(); super.death(); } public function get hasWeaponTargetting():Boolean{ var _local1:Boolean; var _local2:int; var _local3:Weapon; if (weapons.length > 0){ _local1 = false; _local2 = 0; while (_local2 < weapons.length) { _local3 = weapons[_local2]; if (_local3.isTargetting){ _local1 = true; break; }; _local2++; }; return (_local1); }; return (false); } public function set elapsed(_arg1:int):void{ secElapsed = _arg1; } override public function get type():String{ return (Config.OBJTYPE_ENEMY); } override protected function shootWeapon(_arg1:int):void{ var _local2:Weapon = weapons[_arg1]; if (_local2.isTargetting){ _local2.setTarget(target); }; if (position != null){ _local2.shoot(position.clone()); }; status = ATTACK; setupFace(); } } }//package game.logics.actors
Section 117
//Hero (game.logics.actors.Hero) package game.logics.actors { import com.soybeansoft.manager.*; import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.weapons.*; public class Hero extends Actor { private var invincibleTime:int; private var invincibleDelayAfterRevive:int; private var spellTime:int; private var currentSpellTime:int; private var dest:Point; private var invincibleDelay:int; private var maxMagic:int; private var extraLife:int; private var magic:Number; private var regenMagicInterval:int; private var superWeapons:Object; private var maxHealth:int; private var extraCast:int; private var secondHit:Rectangle; public function Hero(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); dest = new Point(); invincibleTime = 0; invincibleDelay = 4; invincibleDelayAfterRevive = 40; regenMagicInterval = 0; superWeapons = {}; superWeapons.warrior = [new HeroWarriorSuperWeapon(_arg2, this, new Point(8, 16))]; superWeapons.hunter = [new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point()), new HeroHunterSuperWeapon(_arg2, this, new Point())]; superWeapons.knight = [new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point()), new HeroKnightSuperWeapon(_arg2, this, new Point())]; superWeapons.paladin = [new HeroPaladinSuperWeapon(_arg2, this, new Point())]; } public function init():void{ isWeaponActive = true; health = (maxHealth = Profile.instance.health); magic = (maxMagic = Profile.instance.magic); weapons = []; weapons.push(new HeroWeapon((factory as ObjectFactory), this, new Point(8, 16))); var _local1:int; SWFConsole.output(" [HERO] Charm setups... "); if (CharmsData.instance.turretLevel > 0){ SWFConsole.output((" [HERO] Turret Charms, level " + CharmsData.instance.turretLevel)); weapons.push(new HeroTopTurretWeapon((factory as ObjectFactory), this, new Point(0, (16 - 32)), CharmsData.instance.turretLevel)); weapons.push(new HeroBottomTurretWeapon((factory as ObjectFactory), this, new Point(0, (16 + 32)), CharmsData.instance.turretLevel)); if (CharmsData.instance.turretLevel == 3){ weapons.push(new HeroMissileTurretWeapon((factory as ObjectFactory), this, new Point(-16, 16))); }; }; if (CharmsData.instance.pickupMult > 1){ SWFConsole.output((" [HERO] Pickup Charm, mult " + CharmsData.instance.pickupMult)); secondHit = new Rectangle(-(((CharmsData.instance.pickupMult * secondHit.width) * 0.5)), -(((CharmsData.instance.pickupMult * secondHit.height) * 0.5)), (CharmsData.instance.pickupMult * secondHit.width), (CharmsData.instance.pickupMult * secondHit.height)); }; if (CharmsData.instance.freeCasts > 0){ extraCast = CharmsData.instance.freeCasts; SWFConsole.output((" [HERO] Free casts, count " + extraCast)); }; if (CharmsData.instance.revive > 0){ extraLife = CharmsData.instance.revive; SWFConsole.output((" [HERO] Revive, extra life " + extraLife)); }; } override public function shoot(_arg1:int=0):void{ var _local2:int; if (isWeaponActive){ Profile.instance.shots++; Profile.instance.tempGameData.levelTrack.shots++; switch (Profile.instance.char){ case 1: Sounds.instance.playFX(Config.ASSET_SFX_SHOTWARRIOR); break; case 2: Sounds.instance.playFX(Config.ASSET_SFX_SHOTHUNTER); break; case 3: Sounds.instance.playFX(Config.ASSET_SFX_SHOTKNIGHT); break; case 4: Sounds.instance.playFX(Config.ASSET_SFX_SHOTPALADIN); break; }; _local2 = 0; while (_local2 < weapons.length) { super.shoot(_local2); _local2++; }; }; } public function get hasEnoughMagic():Boolean{ return ((magic >= Profile.instance.magicCost)); } public function secondHitTest(_arg1:PlayObject):Boolean{ return (secondHitbox.intersects(_arg1.hitbox)); } public function get magicPerc():Number{ return ((magic / maxMagic)); } public function get currentMagic():int{ return (magic); } public function get currentHealth():int{ return (health); } override public function get type():String{ return (Config.OBJTYPE_HERO); } public function executeSpell():void{ var _local1:Boolean; if (magic >= Profile.instance.magicCost){ magic = (magic - Profile.instance.magicCost); _local1 = true; } else { if (extraCast > 0){ extraCast--; _local1 = true; }; }; if ((((currentSpellTime == 0)) && (_local1))){ switch (Profile.instance.char){ case 1: Sounds.instance.playFX(Config.ASSET_SFX_SUPERSHOTWARRIOR); spellTime = (currentSpellTime = Config.SPELL_TIME_WARRIOR); break; case 2: Sounds.instance.playFX(Config.ASSET_SFX_SUPERSHOTHUNTER); spellTime = (currentSpellTime = Config.SPELL_TIME_HUNTER); break; case 3: Sounds.instance.playFX(Config.ASSET_SFX_SUPERSHOTKNIGHT); spellTime = (currentSpellTime = Config.SPELL_TIME_KNIGHT); break; case 4: Sounds.instance.playFX(Config.ASSET_SFX_SUPERSHOTPALADIN); spellTime = (currentSpellTime = Config.SPELL_TIME_PALADIN); break; }; Profile.instance.casts++; }; } override public function applyHit(_arg1:int):void{ if (!isInvincible){ Sounds.instance.playFX(Config.ASSET_SFX_HEROHIT); invincibleTime = invincibleDelay; super.applyHit(_arg1); }; } public function get totalHealth():int{ return (maxHealth); } override public function update():void{ var _local1:Number; var _local2:int; var _local3:ConverterData; position.x = dest.x; position.y = dest.y; if (dest.x < (face.frame.width * 0.5)){ position.x = (face.frame.width * 0.5); } else { if (dest.x > (Config.STAGE_WIDTH - (face.frame.width * 0.5))){ position.x = (Config.STAGE_WIDTH - (face.frame.width * 0.5)); }; }; if (dest.y < (face.frame.height * 0.5)){ position.y = (face.frame.height * 0.5); } else { if (dest.y > (Config.STAGE_HEIGHT - (face.frame.height * 0.5))){ position.y = (Config.STAGE_HEIGHT - (face.frame.height * 0.5)); }; }; super.update(); if (invincibleTime > 0){ if ((invincibleTime % 2) == 0){ isRenderable = false; } else { isRenderable = true; }; invincibleTime--; } else { if (invincibleTime <= 0){ isRenderable = true; invincibleTime = 0; }; }; if (magic < maxMagic){ if (regenMagicInterval == Config.STAGE_FPS){ regenMagicInterval = 0; _local1 = (Profile.instance.magicRegen * maxMagic); magic = (magic + _local1); if (magic > maxMagic){ magic = maxMagic; }; }; regenMagicInterval++; }; if (currentSpellTime > 0){ currentSpellTime--; updateSuperWeapon(); }; if (CharmsData.instance.converts.length > 0){ _local2 = 0; while (_local2 < CharmsData.instance.converts.length) { _local3 = CharmsData.instance.converts[_local2]; if (_local3.type == Charm.CONVERT_HEALTH_TO_MAGIC){ if ((((health >= _local3.cost)) && ((magic <= _local3.rule)))){ health = (health - _local3.cost); magic = maxMagic; }; } else { if (_local3.type == Charm.CONVERT_MAGIC_TO_HEALTH){ if ((((magic >= _local3.cost)) && ((health <= _local3.rule)))){ magic = (magic - _local3.cost); health = maxHealth; }; }; }; _local2++; }; }; face.nextFrame(); faceHit.nextFrame(); } public function set target(_arg1:Point):void{ dest = _arg1.clone(); } public function get totalMagic():int{ return (maxMagic); } public function applyMagic(_arg1:int):void{ magic = (magic + _arg1); if (magic > maxMagic){ magic = maxMagic; }; } public function get healthPerc():Number{ return ((health / maxHealth)); } public function get isInvincible():Boolean{ return ((invincibleTime > 0)); } public function applyHealth(_arg1:int):void{ health = (health + _arg1); if (health > maxHealth){ health = maxHealth; }; } public function get secondHitbox():Rectangle{ return (new Rectangle((position.x + secondHit.x), (position.y + secondHit.y), secondHit.width, secondHit.height)); } protected function updateSuperWeapon():void{ var _local1:Weapon; var _local2:int; switch (Profile.instance.char){ case 1: if (superWeapons.warrior.length > 0){ _local2 = 0; while (_local2 < superWeapons.warrior.length) { _local1 = superWeapons.warrior[_local2]; _local1.update(); _local1.shoot(position.clone()); _local2++; }; }; break; case 2: if (superWeapons.hunter.length > 0){ _local2 = 0; while (_local2 < superWeapons.hunter.length) { _local1 = superWeapons.hunter[_local2]; _local1.update(); _local1.shoot(new Point(-128, ((64 * _local2) + 48))); _local2++; }; }; break; case 3: if (superWeapons.knight.length > 0){ _local2 = 0; while (_local2 < superWeapons.knight.length) { _local1 = superWeapons.knight[_local2]; _local1.update(); _local1.shoot(new Point(((64 * _local2) - 128), -64)); _local2++; }; }; break; case 4: if (superWeapons.paladin.length > 0){ _local2 = 0; while (_local2 < superWeapons.paladin.length) { _local1 = superWeapons.paladin[_local2]; _local1.update(); _local1.shoot(position.clone()); _local2++; }; }; break; }; } public function spawnDamageParticle(_arg1:int):void{ ObjectFactory(factory).addTextParticle(new TextParticleSetup(Config.ID_DAMAGEPARTICLE, position.clone(), _arg1, true)); } public function spawnMissSign():void{ factory.add(new PlayObjectSetup(Config.ID_MISSPARTICLE, position.clone())); } override protected function build():void{ switch (Profile.instance.char){ case 1: assetName = Config.ASSET_HERO_WARRIOR; break; case 2: assetName = Config.ASSET_HERO_HUNTER; break; case 3: assetName = Config.ASSET_HERO_KNIGHT; break; case 4: assetName = Config.ASSET_HERO_PALADIN; break; }; hit = new Rectangle(14, 14, 6, 6); secondHit = new Rectangle(-24, -24, 48, 48); face = new RectTiles(new Rectangle(0, 0, 320, 64), 64, 64); faceHit = new RectTiles(new Rectangle(0, 64, 320, 64), 64, 64); face.delay = (faceHit.delay = 2); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function death():void{ SWFConsole.output((" >>> Player Death!.. has Revive? " + (extraLife > 0))); factory.add(new PlayObjectSetup(Config.ID_EXPLOSION03EMITTER, position.clone())); if (extraLife > 0){ SWFConsole.output(" >>> Player revived!!! <<< "); isActive = true; health = maxHealth; extraLife--; invincibleTime = invincibleDelayAfterRevive; } else { Profile.instance.deaths++; super.death(); }; } } }//package game.logics.actors
Section 118
//Charm01 (game.logics.charms.Charm01) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Charm01 extends Charm { override public function get desc():String{ return (Words.CHARM_01_DESC); } override public function get id():int{ return (Config.ID_CHARM_TURRET_1); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(0); return (bitmapClip.bitmap); } override public function get modTurretLevel():int{ return (1); } override public function get name():String{ return (Words.CHARM_01_NAME); } override public function get cost():int{ return (400); } override public function get group():int{ return (6); } } }//package game.logics.charms
Section 119
//Charm02 (game.logics.charms.Charm02) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Charm02 extends Charm { override public function get desc():String{ return (Words.CHARM_02_DESC); } override public function get id():int{ return (Config.ID_CHARM_TURRET_2); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(1); return (bitmapClip.bitmap); } override public function get modTurretLevel():int{ return (2); } override public function get name():String{ return (Words.CHARM_02_NAME); } override public function get cost():int{ return (1200); } override public function get group():int{ return (6); } } }//package game.logics.charms
Section 120
//Charm03 (game.logics.charms.Charm03) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Charm03 extends Charm { override public function get desc():String{ return (Words.CHARM_03_DESC); } override public function get id():int{ return (Config.ID_CHARM_SHIELD_1); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(2); return (bitmapClip.bitmap); } override public function get modTurretLevel():int{ return (3); } override public function get name():String{ return (Words.CHARM_03_NAME); } override public function get cost():int{ return (2800); } override public function get group():int{ return (6); } } }//package game.logics.charms
Section 121
//Charm04 (game.logics.charms.Charm04) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Charm04 extends Charm { override public function get desc():String{ return (Words.CHARM_04_DESC); } override public function get id():int{ return (Config.ID_CHARM_SHIELD_2); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(3); return (bitmapClip.bitmap); } override public function get requireGroup():int{ return (6); } override public function get name():String{ return (Words.CHARM_04_NAME); } override public function get modTurretUpgrade():Boolean{ return (true); } override public function get cost():int{ return (2000); } } }//package game.logics.charms
Section 122
//Charm05 (game.logics.charms.Charm05) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm05 extends Charm { override public function get desc():String{ return (Words.CHARM_05_DESC); } override public function get id():int{ return (Config.ID_CHARM_PICKUPAREA_15); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(4); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_05_NAME); } override public function get cost():int{ return (500); } override public function get modPickupMult():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get group():int{ return (7); } } }//package game.logics.charms
Section 123
//Charm06 (game.logics.charms.Charm06) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm06 extends Charm { override public function get desc():String{ return (Words.CHARM_06_DESC); } override public function get id():int{ return (Config.ID_CHARM_PICKUPAREA_20); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(5); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_06_NAME); } override public function get cost():int{ return (1000); } override public function get modPickupMult():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get group():int{ return (7); } } }//package game.logics.charms
Section 124
//Charm07 (game.logics.charms.Charm07) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm07 extends Charm { override public function get desc():String{ return (Words.CHARM_07_DESC); } override public function get id():int{ return (Config.ID_CHARM_CHAIN_10); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(6); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_07_NAME); } override public function get modChainTime():ModData{ return (new ModData(ModData.ADD, 10)); } override public function get cost():int{ return (600); } override public function get group():int{ return (1); } } }//package game.logics.charms
Section 125
//Charm08 (game.logics.charms.Charm08) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm08 extends Charm { override public function get desc():String{ return (Words.CHARM_08_DESC); } override public function get id():int{ return (Config.ID_CHARM_CHAIN_20); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(7); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_08_NAME); } override public function get modChainTime():ModData{ return (new ModData(ModData.ADD, 20)); } override public function get cost():int{ return (800); } override public function get group():int{ return (1); } } }//package game.logics.charms
Section 126
//Charm09 (game.logics.charms.Charm09) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm09 extends Charm { override public function get desc():String{ return (Words.CHARM_09_DESC); } override public function get id():int{ return (Config.ID_CHARM_CHAIN_30); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(8); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_09_NAME); } override public function get modChainTime():ModData{ return (new ModData(ModData.ADD, 30)); } override public function get cost():int{ return (1000); } override public function get group():int{ return (1); } } }//package game.logics.charms
Section 127
//Charm10 (game.logics.charms.Charm10) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm10 extends Charm { override public function get desc():String{ return (Words.CHARM_10_DESC); } override public function get id():int{ return (Config.ID_CHARM_HTOM_LV_3); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.1)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(9); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_HEALTH_TO_MAGIC); } override public function get name():String{ return (Words.CHARM_10_NAME); } override public function get cost():int{ return (2600); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.9)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 128
//Charm11 (game.logics.charms.Charm11) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm11 extends Charm { override public function get desc():String{ return (Words.CHARM_11_DESC); } override public function get id():int{ return (Config.ID_CHARM_HTOM_LV_2); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.15)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(10); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_HEALTH_TO_MAGIC); } override public function get name():String{ return (Words.CHARM_11_NAME); } override public function get cost():int{ return (3200); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 129
//Charm12 (game.logics.charms.Charm12) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm12 extends Charm { override public function get desc():String{ return (Words.CHARM_12_DESC); } override public function get id():int{ return (Config.ID_CHARM_HTOM_LV_1); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.2)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(11); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_HEALTH_TO_MAGIC); } override public function get name():String{ return (Words.CHARM_12_NAME); } override public function get cost():int{ return (4300); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.7)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 130
//Charm13 (game.logics.charms.Charm13) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm13 extends Charm { override public function get desc():String{ return (Words.CHARM_13_DESC); } override public function get id():int{ return (Config.ID_CHARM_MTOH_LV_3); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.1)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(12); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_MAGIC_TO_HEALTH); } override public function get name():String{ return (Words.CHARM_13_NAME); } override public function get cost():int{ return (4200); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.9)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 131
//Charm14 (game.logics.charms.Charm14) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm14 extends Charm { override public function get desc():String{ return (Words.CHARM_14_DESC); } override public function get id():int{ return (Config.ID_CHARM_MTOH_LV_2); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.15)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(13); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_MAGIC_TO_HEALTH); } override public function get name():String{ return (Words.CHARM_14_NAME); } override public function get cost():int{ return (6300); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 132
//Charm15 (game.logics.charms.Charm15) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm15 extends Charm { override public function get desc():String{ return (Words.CHARM_15_DESC); } override public function get id():int{ return (Config.ID_CHARM_MTOH_LV_1); } override public function get modConvertRule():ModData{ return (new ModData(ModData.MUL, 0.2)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(14); return (bitmapClip.bitmap); } override public function get modConvertType():String{ return (CONVERT_MAGIC_TO_HEALTH); } override public function get name():String{ return (Words.CHARM_15_NAME); } override public function get cost():int{ return (7400); } override public function get modConvertCost():ModData{ return (new ModData(ModData.MUL, 0.7)); } override public function get group():int{ return (2); } } }//package game.logics.charms
Section 133
//Charm16 (game.logics.charms.Charm16) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm16 extends Charm { override public function get desc():String{ return (Words.CHARM_16_DESC); } override public function get id():int{ return (Config.ID_CHARM_FREE_CAST_1); } override public function get cost():int{ return (12000); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(15); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_16_NAME); } override public function get modFreeCast():ModData{ return (new ModData(ModData.ADD, 1)); } } }//package game.logics.charms
Section 134
//Charm17 (game.logics.charms.Charm17) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm17 extends Charm { override public function get desc():String{ return (Words.CHARM_17_DESC); } override public function get id():int{ return (Config.ID_CHARM_FREE_CAST_2); } override public function get cost():int{ return (22000); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(16); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_17_NAME); } override public function get modFreeCast():ModData{ return (new ModData(ModData.ADD, 2)); } } }//package game.logics.charms
Section 135
//Charm18 (game.logics.charms.Charm18) package game.logics.charms { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm18 extends Charm { override public function get desc():String{ return (Words.CHARM_18_DESC); } override public function get id():int{ return (Config.ID_CHARM_REVIVE); } override public function get modRevive():ModData{ return (new ModData(ModData.IS, 1)); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); bitmapClip.goToFrame(17); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.CHARM_18_NAME); } override public function get cost():int{ return (44000); } } }//package game.logics.charms
Section 136
//Explosion01Emitter (game.logics.particleemitters.Explosion01Emitter) package game.logics.particleemitters { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; public class Explosion01Emitter extends ParticleEmitter { public function Explosion01Emitter(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2, MathUtil.rangedRandom(1, 1), 0, 1, 0, true); start(); } override protected function setupParticle():PlayObjectSetup{ return (new PlayObjectSetup(Config.ID_EXPLOSION01PARTICLE, position)); } } }//package game.logics.particleemitters
Section 137
//Explosion03Emitter (game.logics.particleemitters.Explosion03Emitter) package game.logics.particleemitters { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; public class Explosion03Emitter extends ParticleEmitter { public function Explosion03Emitter(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2, MathUtil.rangedRandom(4, 6), 0, 1, 0, true); start(); } override protected function setupParticle():PlayObjectSetup{ return (new PlayObjectSetup(Config.ID_EXPLOSION03PARTICLE, position)); } } }//package game.logics.particleemitters
Section 138
//ImpactEmitter (game.logics.particleemitters.ImpactEmitter) package game.logics.particleemitters { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.play.blit.particle.*; public class ImpactEmitter extends ParticleEmitter { public function ImpactEmitter(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2, 1, 0, 1, 0, true); start(); } override protected function setupParticle():PlayObjectSetup{ return (new PlayObjectSetup(Config.ID_IMPACTPARTICLE, position)); } } }//package game.logics.particleemitters
Section 139
//PaladinSuperBulletEmitter (game.logics.particleemitters.PaladinSuperBulletEmitter) package game.logics.particleemitters { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.play.blit.particle.*; public class PaladinSuperBulletEmitter extends ParticleEmitter { public function PaladinSuperBulletEmitter(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2, 1, 0, -1, 0, true); start(); } override protected function setupParticle():PlayObjectSetup{ return (new PlayObjectSetup(Config.ID_PALADINSUPERBULLETPARTICLE, position)); } } }//package game.logics.particleemitters
Section 140
//CritParticle (game.logics.particles.CritParticle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class CritParticle extends Particle { public function CritParticle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(-90, -90, 8, 8, 10, 10); } override protected function updatePosition():void{ vector.y = (vector.y + 0.2); super.updatePosition(); } override protected function build():void{ assetName = Config.ASSET_CRIT; hit.width = 10; hit.height = 10; hit.x = -5; hit.y = -5; face = new RectTiles(new Rectangle(0, 0, 80, 16), 40, 16); face.delay = 2; facePos = new Point(-20, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.particles
Section 141
//DamageParticle (game.logics.particles.DamageParticle) package game.logics.particles { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.display.blit.helpers.*; import flash.filters.*; public class DamageParticle extends Particle { private var value:int; private var moveLeft:Boolean; private var bitmap:Bitmap; public function DamageParticle(_arg1:int, _arg2:Point, _arg3:ObjectFactory, _arg4:Boolean=false){ this.value = _arg1; this.moveLeft = _arg4; super(_arg2, _arg3); init(-90, -90, 6, 6, 24, 24); } override protected function build():void{ var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_ALERT).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setAlign(LabelStyle.ALIGN_CENTER).setSize(8).setColor(0xFFAC00).setFilter([new GlowFilter(0x910000, 1, 2, 2, 10), new DropShadowFilter(1, 90, 0x910000, 1, 1, 1, 10)]).setWordWrap(true).setMultiLine(true); var _local2:Label = new Label(value.toString(), _local1); bitmap = new Bitmap(new BitmapData((_local2.element.width * 2), (_local2.element.height * 2), true, 0xFFFFFF)); bitmap.bitmapData.draw(_local2.element); facePos = new Point((-(_local2.element.width) * 0.5), (-(_local2.element.height) * 0.5)); renderHelper = new BitmapTextRenderer(bitmap, facePos, position); } override protected function preRemove():void{ bitmap.bitmapData.dispose(); super.preRemove(); } override protected function updatePosition():void{ if (moveLeft){ vector.x = (vector.x - 0.02); } else { vector.x = (vector.x + 0.02); }; vector.y = (vector.y + 0.1); super.updatePosition(); } } }//package game.logics.particles
Section 142
//Explosion01Particle (game.logics.particles.Explosion01Particle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Explosion01Particle extends Particle { public function Explosion01Particle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(180, 180, 4, 5, (face.frameCount - 1), (face.frameCount - 1)); } override protected function build():void{ assetName = Config.ASSET_EXPLOSION03; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 1440, 120), 120, 120); face.delay = 4; facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.particles
Section 143
//Explosion03Particle (game.logics.particles.Explosion03Particle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Explosion03Particle extends Particle { public function Explosion03Particle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(0, 360, 1, 2, allFrameLifeTime, allFrameLifeTime); } override protected function build():void{ assetName = Config.ASSET_EXPLOSION03; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 1440, 120), 120, 120); face.delay = 1; facePos = new Point(-60, -60); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.particles
Section 144
//ExpParticle (game.logics.particles.ExpParticle) package game.logics.particles { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.display.blit.helpers.*; import flash.filters.*; public class ExpParticle extends Particle { private var value:int; private var bitmap:Bitmap; public function ExpParticle(_arg1:int, _arg2:Point, _arg3:ObjectFactory){ this.value = _arg1; super(_arg2, _arg3); init(90, 90, 4, 4, 18, 18); } override protected function preRemove():void{ bitmap.bitmapData.dispose(); super.preRemove(); } override protected function updatePosition():void{ vector.y = (vector.y - 0.1); super.updatePosition(); } override protected function build():void{ var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_ALERT).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setAlign(LabelStyle.ALIGN_CENTER).setSize(8).setColor(14544639).setFilter([new GlowFilter(21947, 1, 2, 2, 10), new DropShadowFilter(1, 90, 21947, 1, 1, 1, 10)]).setWordWrap(true).setMultiLine(true); var _local2:Label = new Label(value.toString(), _local1); bitmap = new Bitmap(new BitmapData((_local2.element.width * 2), (_local2.element.height * 2), true, 0xFFFFFF)); bitmap.bitmapData.draw(_local2.element); facePos = new Point((-(_local2.element.width) * 0.5), (-(_local2.element.height) * 0.5)); renderHelper = new BitmapTextRenderer(bitmap, facePos, position); } } }//package game.logics.particles
Section 145
//ImpactParticle (game.logics.particles.ImpactParticle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class ImpactParticle extends Particle { public function ImpactParticle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(180, 180, 4, 6, allFrameLifeTime, allFrameLifeTime); } override protected function build():void{ assetName = Config.ASSET_IMPACT; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 384, 64), 64, 64); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); face.delay = 2; } } }//package game.logics.particles
Section 146
//MissParticle (game.logics.particles.MissParticle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class MissParticle extends Particle { public function MissParticle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(-90, -90, 8, 8, 10, 10); } override protected function updatePosition():void{ vector.y = (vector.y + 0.2); super.updatePosition(); } override protected function build():void{ assetName = Config.ASSET_MISS; hit.width = 10; hit.height = 10; hit.x = -5; hit.y = -5; face = new RectTiles(new Rectangle(0, 0, 40, 16), 40, 16); face.delay = 4; facePos = new Point(-20, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.particles
Section 147
//PaladinSuperBulletParticle (game.logics.particles.PaladinSuperBulletParticle) package game.logics.particles { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.play.blit.particle.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class PaladinSuperBulletParticle extends Particle { public function PaladinSuperBulletParticle(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); init(0, 0, 0, 0, allFrameLifeTime, allFrameLifeTime); } override protected function build():void{ assetName = Config.ASSET_SUPERBULLETPALADIN_PARTICLE; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 192, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); face.delay = 2; } } }//package game.logics.particles
Section 148
//Coin (game.logics.pickups.Coin) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Coin extends Pickup { public function Coin(){ super(null, null); } public function init(_arg1:Point, _arg2:ObjectFactory):void{ this.position = _arg1.clone(); this.factory = _arg2; speed = 2; vector = new Point(-1, 0); renderHelper = new RectTilesRenderer(assetName, face, facePos, this.position); } override public function get value():int{ return (1); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_COIN); } override protected function build():void{ assetName = Config.ASSET_COIN; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 180, 30), 30, 30); face.goToFrame(MathUtil.rangedRandom(0, (face.frameCount - 1))); face.delay = 2; facePos = new Point(-15, -15); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function update():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); vector.y = (vector.y + gravity); face.nextFrame(); if (isOutOfBound()){ Profile.instance.dropsMissed++; ObjectFactory(factory).removeCoin(this); }; } } }//package game.logics.pickups
Section 149
//Gem01 (game.logics.pickups.Gem01) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem01 extends Pickup { public function Gem01(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (1); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 150
//Gem02 (game.logics.pickups.Gem02) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem02 extends Pickup { public function Gem02(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (2); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 1), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 151
//Gem03 (game.logics.pickups.Gem03) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem03 extends Pickup { public function Gem03(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (3); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 2), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 152
//Gem04 (game.logics.pickups.Gem04) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem04 extends Pickup { public function Gem04(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (4); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 3), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 153
//Gem05 (game.logics.pickups.Gem05) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem05 extends Pickup { public function Gem05(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (5); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 4), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 154
//Gem06 (game.logics.pickups.Gem06) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem06 extends Pickup { public function Gem06(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (6); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 5), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 155
//Gem07 (game.logics.pickups.Gem07) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem07 extends Pickup { public function Gem07(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (7); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 6), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 156
//Gem08 (game.logics.pickups.Gem08) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Gem08 extends Pickup { public function Gem08(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 1; vector = new Point(MathUtil.rangedRandom(-2, 2), MathUtil.rangedRandom(-6, -4)); gravity = 0.15; } override public function get value():int{ return (8); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_GEM); } override protected function build():void{ assetName = Config.ASSET_GEMS; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, (42 * 7), 42, 42), 42, 42); facePos = new Point(-21, -21); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 157
//GoldLarge (game.logics.pickups.GoldLarge) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class GoldLarge extends Pickup { public function GoldLarge(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, -1, 0.1), MathUtil.rangedRandom(-0.1, 0.1)); gravity = 0; } override public function get value():int{ return (100); } override protected function build():void{ assetName = Config.ASSET_GOLD_L; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 40, 40), 40, 40); face.delay = 2; facePos = new Point(-20, -20); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 158
//GoldMedium (game.logics.pickups.GoldMedium) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class GoldMedium extends Pickup { public function GoldMedium(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, -1, 0.1), MathUtil.rangedRandom(-0.1, 0.1)); gravity = 0; } override public function get value():int{ return (20); } override protected function build():void{ assetName = Config.ASSET_GOLD_M; hit.width = 26; hit.height = 36; hit.x = -13; hit.y = -18; face = new RectTiles(new Rectangle(0, 0, 26, 36), 26, 36); face.delay = 2; facePos = new Point(-13, -18); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 159
//GoldSmall (game.logics.pickups.GoldSmall) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class GoldSmall extends Pickup { public function GoldSmall(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, -1, 0.1), MathUtil.rangedRandom(-0.1, 0.1)); gravity = 0; } override public function get value():int{ return (5); } override protected function build():void{ assetName = Config.ASSET_GOLD_S; hit.width = 18; hit.height = 30; hit.x = -9; hit.y = -15; face = new RectTiles(new Rectangle(0, 0, 18, 30), 18, 30); face.delay = 2; facePos = new Point(-9, -15); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 160
//HealthMedium (game.logics.pickups.HealthMedium) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HealthMedium extends Pickup { public function HealthMedium(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, 0.5, 0.1), MathUtil.rangedRandom(-3, -2)); gravity = 0.1; } override public function get value():int{ return (100); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_HEALTH); } override protected function build():void{ assetName = Config.ASSET_HEALTH_M; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 70, 35), 35, 35); face.goToFrame(MathUtil.rangedRandom(0, (face.frameCount - 1))); face.delay = 2; facePos = new Point(-18, -18); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 161
//HealthSmall (game.logics.pickups.HealthSmall) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HealthSmall extends Pickup { public function HealthSmall(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, 0.5, 0.1), MathUtil.rangedRandom(-3, -2)); gravity = 0.1; } override public function get value():int{ return (25); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_HEALTH); } override protected function build():void{ assetName = Config.ASSET_HEALTH_S; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 44, 35), 22, 35); face.goToFrame(MathUtil.rangedRandom(0, (face.frameCount - 1))); face.delay = 2; facePos = new Point(-11, -18); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 162
//MagicMedium (game.logics.pickups.MagicMedium) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class MagicMedium extends Pickup { public function MagicMedium(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, 0.5, 0.1), MathUtil.rangedRandom(-3, -2)); gravity = 0.1; } override public function get value():int{ return (100); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_MAGIC); } override protected function build():void{ assetName = Config.ASSET_MAGIC_M; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 70, 35), 35, 35); face.goToFrame(MathUtil.rangedRandom(0, (face.frameCount - 1))); face.delay = 2; facePos = new Point(-18, -18); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 163
//MagicSmall (game.logics.pickups.MagicSmall) package game.logics.pickups { import flash.geom.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class MagicSmall extends Pickup { public function MagicSmall(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); speed = 2; vector = new Point(MathUtil.rangedRandom(-0.5, 0.5, 0.1), MathUtil.rangedRandom(-3, -2)); gravity = 0.1; } override public function get value():int{ return (25); } override public function get type():String{ return (Config.OBJTYPE_PICKUP_MAGIC); } override protected function build():void{ assetName = Config.ASSET_MAGIC_S; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 38, 34), 19, 34); face.goToFrame(MathUtil.rangedRandom(0, (face.frameCount - 1))); face.delay = 2; facePos = new Point(-9, -17); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.pickups
Section 164
//EnemyProjectile_S10 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S10) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S10 extends EnemyProjectile { public function EnemyProjectile_S10(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (10); } } }//package game.logics.projectiles.enemyprojectiles
Section 165
//EnemyProjectile_S4 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S4) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S4 extends EnemyProjectile { public function EnemyProjectile_S4(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (4); } } }//package game.logics.projectiles.enemyprojectiles
Section 166
//EnemyProjectile_S5 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S5) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S5 extends EnemyProjectile { public function EnemyProjectile_S5(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (5); } } }//package game.logics.projectiles.enemyprojectiles
Section 167
//EnemyProjectile_S6 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S6) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S6 extends EnemyProjectile { public function EnemyProjectile_S6(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (6); } } }//package game.logics.projectiles.enemyprojectiles
Section 168
//EnemyProjectile_S7 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S7) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S7 extends EnemyProjectile { public function EnemyProjectile_S7(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (7); } } }//package game.logics.projectiles.enemyprojectiles
Section 169
//EnemyProjectile_S8 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S8) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S8 extends EnemyProjectile { public function EnemyProjectile_S8(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (8); } } }//package game.logics.projectiles.enemyprojectiles
Section 170
//EnemyProjectile_S9 (game.logics.projectiles.enemyprojectiles.EnemyProjectile_S9) package game.logics.projectiles.enemyprojectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.projectiles.*; public class EnemyProjectile_S9 extends EnemyProjectile { public function EnemyProjectile_S9(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ super(_arg1, _arg2, _arg3, _arg4); } override protected function build():void{ assetName = Config.ASSET_BULLETENEMY01; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function get pspeed():int{ return (9); } } }//package game.logics.projectiles.enemyprojectiles
Section 171
//EnemyProjectile (game.logics.projectiles.EnemyProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import game.logics.actors.*; public class EnemyProjectile extends Projectile { protected var enemy:Enemy; public function EnemyProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Enemy){ this.enemy = _arg4; super(_arg1, _arg2, _arg3, _arg4); } override public function get damage():int{ return (enemy.damage); } } }//package game.logics.projectiles
Section 172
//HeroHunterSuperProjectile (game.logics.projectiles.HeroHunterSuperProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroHunterSuperProjectile extends Projectile { public function HeroHunterSuperProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); } override public function get destroyWithMaster():Boolean{ return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override protected function get pspeed():int{ return (30); } override public function get type():String{ return (Config.OBJTYPE_HERO_SUPERPROJECTILE); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((((_local2.bottom < _local1.top)) || ((_local2.left > _local1.right)))) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override protected function build():void{ assetName = Config.ASSET_SUPERBULLET_HEROHUNTER; hit.width = 64; hit.height = 64; hit.x = -32; hit.y = -32; face = new RectTiles(new Rectangle(0, 0, 128, 64), 128, 64); facePos = new Point(-96, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return ((Profile.instance.damage * 2)); } } }//package game.logics.projectiles
Section 173
//HeroKnightSuperProjectile (game.logics.projectiles.HeroKnightSuperProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroKnightSuperProjectile extends Projectile { public function HeroKnightSuperProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); } override public function get destroyWithMaster():Boolean{ return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override protected function get pspeed():int{ return (30); } override public function get type():String{ return (Config.OBJTYPE_HERO_SUPERPROJECTILE); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((_local2.left > _local1.right)) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override protected function build():void{ assetName = Config.ASSET_SUPERBULLET_HEROKNIGHT; hit.width = 64; hit.height = 64; hit.x = -32; hit.y = -32; face = new RectTiles(new Rectangle(0, 0, 128, 128), 128, 128); facePos = new Point(-96, -96); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return ((Profile.instance.damage * 2)); } } }//package game.logics.projectiles
Section 174
//HeroPaladinSuperProjectile (game.logics.projectiles.HeroPaladinSuperProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; import game.logics.particleemitters.*; public class HeroPaladinSuperProjectile extends Projectile { private var emitter:PaladinSuperBulletEmitter; private var distance:int;// = 0 private var maxDistance:int;// = 800 private var lastPosition:Point; public function HeroPaladinSuperProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); emitter = new PaladinSuperBulletEmitter(_arg1.clone(), _arg3); } override public function get destroyWithMaster():Boolean{ return (false); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if (_local2.left > _local1.right){ return (true); }; return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override public function update():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; if (target != null){ _local1 = MathUtil.deg2rad(20); _local2 = MathUtil.deg2rad(10); _local3 = Math.atan2((target.position.y - position.y), (target.position.x - position.x)); _local4 = MathUtil.deg2rad(angle); _local5 = (_local3 - _local4); if (_local5 < 0){ _local5 = (_local5 + (Math.PI * 2)); } else { if (_local5 >= (Math.PI * 2)){ _local5 = (_local5 - (Math.PI * 2)); }; }; if ((((_local4 < ((_local3 - (_local2 / 2)) + _local2))) && ((_local4 > (_local3 - (_local2 / 2)))))){ _local4 = _local3; } else { _local6 = ((_local5)<=Math.PI) ? 1 : -1; _local4 = (_local4 + ((_local5)>(Math.PI * 0.5)) ? (_local1 * _local6) : (_local2 * _local6)); }; vector.x = Math.cos(_local4); vector.y = Math.sin(_local4); }; lastPosition = position.clone(); super.update(); emitter.position = position.clone(); emitter.update(); distance = (distance + Point.distance(position, lastPosition)); if (distance >= maxDistance){ remove(); }; } override public function get damage():int{ return ((Profile.instance.damage * 3)); } override protected function get pspeed():int{ return (20); } override public function get seek():Boolean{ return (true); } override public function get type():String{ return (Config.OBJTYPE_HERO_SUPERPROJECTILE); } override protected function build():void{ assetName = Config.ASSET_SUPERBULLET_HEROPALADIN; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 96, 32), 32, 32); face.delay = 2; facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.logics.projectiles
Section 175
//HeroProjectile (game.logics.projectiles.HeroProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroProjectile extends Projectile { public function HeroProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); } override public function get destroyWithMaster():Boolean{ return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override protected function get pspeed():int{ return (30); } override public function get type():String{ return (Config.OBJTYPE_HERO_PROJECTILE); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((((_local2.bottom < _local1.top)) || ((_local2.left > _local1.right)))) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override protected function build():void{ switch (Profile.instance.char){ case 1: assetName = Config.ASSET_BULLET_HEROWARRIOR; break; case 2: assetName = Config.ASSET_BULLET_HEROHUNTER; break; case 3: assetName = Config.ASSET_BULLET_HEROKNIGHT; break; case 4: assetName = Config.ASSET_BULLET_HEROPALADIN; break; }; hit.width = 12; hit.height = 8; hit.x = -6; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return (Profile.instance.damage); } } }//package game.logics.projectiles
Section 176
//HeroTurretMissile (game.logics.projectiles.HeroTurretMissile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroTurretMissile extends Projectile { private var upMark:int; private var speedX:Number; private var speedY:Number; private var increaseX:Number; private var increaseY:Number; public function HeroTurretMissile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); _arg2 = new Point(); increaseX = MathUtil.rangedRandom(0.4, 0.8, 0.1); increaseY = MathUtil.rangedRandom(0.05, 0.1, 0.01); upMark = ((Math.random())>0.5) ? -1 : 1; speedX = (pspeed * -1.5); speedY = (pspeed * 0.5); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((((_local2.bottom < _local1.top)) || ((_local2.left > _local1.right)))) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override public function update():void{ speedX = (speedX + increaseX); speedY = (speedY + increaseY); position.x = (position.x + (vector.x * -(speedX))); position.y = (position.y + ((vector.y * speedY) * upMark)); if (isOutOfBound()){ remove(); }; face.nextFrame(); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override public function get damage():int{ return ((CharmsData.instance.turretUpgrade) ? (Profile.instance.damage * 2) : Profile.instance.damage); } override protected function build():void{ assetName = Config.ASSET_MISSILE_TURRET; hit.width = 12; hit.height = 12; hit.x = -6; hit.y = -6; face = new RectTiles(new Rectangle(0, 0, 90, 8), 30, 8); face.delay = 2; facePos = new Point(-30, -4); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get type():String{ return (Config.OBJTYPE_HERO_PROJECTILE); } override public function get destroyWithMaster():Boolean{ return (false); } override protected function get pspeed():int{ return (5); } } }//package game.logics.projectiles
Section 177
//HeroTurretProjectile (game.logics.projectiles.HeroTurretProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroTurretProjectile extends Projectile { public function HeroTurretProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); } override public function get destroyWithMaster():Boolean{ return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override protected function get pspeed():int{ return (30); } override public function get type():String{ return (Config.OBJTYPE_HERO_PROJECTILE); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((((_local2.bottom < _local1.top)) || ((_local2.left > _local1.right)))) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override protected function build():void{ assetName = Config.ASSET_BULLET_TURRET; hit.width = 12; hit.height = 8; hit.x = -6; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 22, 22), 22, 22); facePos = new Point(-11, -11); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return ((CharmsData.instance.turretUpgrade) ? (Profile.instance.damage * 0.5) : (Profile.instance.damage * 0.25)); } } }//package game.logics.projectiles
Section 178
//HeroWarriorSuperProjectile (game.logics.projectiles.HeroWarriorSuperProjectile) package game.logics.projectiles { import flash.geom.*; import game.logics.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class HeroWarriorSuperProjectile extends Projectile { public function HeroWarriorSuperProjectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg2, _arg3, _arg4); var _local5:int = Math.round(MathUtil.rad2deg(MathUtil.convertVectorToRadians(_arg2))); switch (_local5){ case 316: face.goToFrame(0); break; case 327: face.goToFrame(1); break; case 338: face.goToFrame(2); break; case 349: face.goToFrame(3); break; case 0: face.goToFrame(4); break; case 11: face.goToFrame(5); break; case 22: face.goToFrame(6); break; case 33: face.goToFrame(7); break; case 44: face.goToFrame(8); break; }; } override public function get destroyWithMaster():Boolean{ return (false); } override public function remove():void{ if (!isOutOfBound()){ factory.add(new PlayObjectSetup(Config.ID_IMPACTEMITTER, position.clone())); }; super.remove(); } override protected function get pspeed():int{ return (30); } override public function update():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); if (isOutOfBound()){ remove(); }; } override public function get type():String{ return (Config.OBJTYPE_HERO_SUPERPROJECTILE); } override protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); var _local2:Rectangle = new Rectangle((position.x + facePos.x), (position.y + facePos.y), face.frame.width, face.frame.height); if ((((((_local2.bottom < _local1.top)) || ((_local2.left > _local1.right)))) || ((_local2.top > _local1.bottom)))){ return (true); }; return (false); } override protected function build():void{ assetName = Config.ASSET_SUPERBULLET_HEROWARRIOR; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; face = new RectTiles(new Rectangle(0, 0, 288, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return ((Profile.instance.damage * 1)); } } }//package game.logics.projectiles
Section 179
//Token01 (game.logics.tokens.Token01) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token01 extends Token { override public function get desc():String{ return (Words.AWARD_01_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_1); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["1"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 1; takenFrame = 0; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_01_NAME); } } }//package game.logics.tokens
Section 180
//Token02 (game.logics.tokens.Token02) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token02 extends Token { override public function get desc():String{ return (Words.AWARD_02_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_2); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["2"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 3; takenFrame = 2; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_02_NAME); } } }//package game.logics.tokens
Section 181
//Token03 (game.logics.tokens.Token03) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token03 extends Token { override public function get desc():String{ return (Words.AWARD_03_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_3); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["3"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 5; takenFrame = 4; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_03_NAME); } } }//package game.logics.tokens
Section 182
//Token04 (game.logics.tokens.Token04) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token04 extends Token { override public function get desc():String{ return (Words.AWARD_04_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_4); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["4"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 7; takenFrame = 6; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_04_NAME); } } }//package game.logics.tokens
Section 183
//Token05 (game.logics.tokens.Token05) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token05 extends Token { override public function get desc():String{ return (Words.AWARD_05_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_5); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["5"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 9; takenFrame = 8; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_05_NAME); } } }//package game.logics.tokens
Section 184
//Token06 (game.logics.tokens.Token06) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token06 extends Token { override public function get desc():String{ return (Words.AWARD_06_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_6); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["6"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 13; takenFrame = 12; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_06_NAME); } } }//package game.logics.tokens
Section 185
//Token07 (game.logics.tokens.Token07) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token07 extends Token { override public function get desc():String{ return (Words.AWARD_07_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_7); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["7"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 11; takenFrame = 10; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_07_NAME); } } }//package game.logics.tokens
Section 186
//Token08 (game.logics.tokens.Token08) package game.logics.tokens { import flash.display.*; import com.soybeansoft.manager.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; import rl.dev.*; public class Token08 extends Token { override public function get desc():String{ return (Words.AWARD_08_DESC); } override public function get id():int{ return (Config.ID_TOKEN_AWARD_8); } override public function get taken():Boolean{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; SharedObjects.instance.apply(Profile.instance.lso_id); return (((_local1)==null) ? false : (_local1["8"] as Boolean)); } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; return (false); } override public function get icon():Bitmap{ emptyFrame = 15; takenFrame = 14; bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.AWARD_08_NAME); } } }//package game.logics.tokens
Section 187
//Token09 (game.logics.tokens.Token09) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token09 extends Token { override public function get desc():String{ return (Words.GEM_01_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_1); } override public function get taken():Boolean{ return (Profile.instance.gem1); } override public function get icon():Bitmap{ emptyFrame = 1; takenFrame = 0; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_01_NAME); } } }//package game.logics.tokens
Section 188
//Token10 (game.logics.tokens.Token10) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token10 extends Token { override public function get desc():String{ return (Words.GEM_02_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_2); } override public function get taken():Boolean{ return (Profile.instance.gem2); } override public function get icon():Bitmap{ emptyFrame = 3; takenFrame = 2; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_02_NAME); } } }//package game.logics.tokens
Section 189
//Token11 (game.logics.tokens.Token11) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token11 extends Token { override public function get desc():String{ return (Words.GEM_03_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_3); } override public function get taken():Boolean{ return (Profile.instance.gem3); } override public function get icon():Bitmap{ emptyFrame = 5; takenFrame = 4; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_03_NAME); } } }//package game.logics.tokens
Section 190
//Token12 (game.logics.tokens.Token12) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token12 extends Token { override public function get desc():String{ return (Words.GEM_04_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_4); } override public function get taken():Boolean{ return (Profile.instance.gem4); } override public function get icon():Bitmap{ emptyFrame = 7; takenFrame = 6; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_04_NAME); } } }//package game.logics.tokens
Section 191
//Token13 (game.logics.tokens.Token13) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token13 extends Token { override public function get desc():String{ return (Words.GEM_05_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_5); } override public function get taken():Boolean{ return (Profile.instance.gem5); } override public function get icon():Bitmap{ emptyFrame = 9; takenFrame = 8; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_05_NAME); } } }//package game.logics.tokens
Section 192
//Token14 (game.logics.tokens.Token14) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token14 extends Token { override public function get desc():String{ return (Words.GEM_06_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_6); } override public function get taken():Boolean{ return (Profile.instance.gem6); } override public function get icon():Bitmap{ emptyFrame = 11; takenFrame = 10; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_06_NAME); } } }//package game.logics.tokens
Section 193
//Token15 (game.logics.tokens.Token15) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token15 extends Token { override public function get desc():String{ return (Words.GEM_07_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_7); } override public function get taken():Boolean{ return (Profile.instance.gem7); } override public function get icon():Bitmap{ emptyFrame = 13; takenFrame = 12; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_07_NAME); } } }//package game.logics.tokens
Section 194
//Token16 (game.logics.tokens.Token16) package game.logics.tokens { import flash.display.*; import game.logics.*; import game.*; import com.soybeansoft.util.*; public class Token16 extends Token { override public function get desc():String{ return (Words.GEM_08_DESC); } override public function get id():int{ return (Config.ID_TOKEN_GEM_8); } override public function get taken():Boolean{ return (Profile.instance.gem8); } override public function get icon():Bitmap{ emptyFrame = 15; takenFrame = 14; bitmapClip = new BitmapClips(Config.ASSET_GEMS, 42, 42); bitmapClip.goToFrame((taken) ? takenFrame : emptyFrame); return (bitmapClip.bitmap); } override public function get name():String{ return (Words.GEM_08_NAME); } } }//package game.logics.tokens
Section 195
//Boss01Weapon01 (game.logics.weapons.Boss01Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss01Weapon01 extends Weapon { public function Boss01Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 5); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (6); } } }//package game.logics.weapons
Section 196
//Boss01Weapon02a (game.logics.weapons.Boss01Weapon02a) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss01Weapon02a extends Weapon { public function Boss01Weapon02a(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 270, 12, 15, Nozzle.SORT); isSpinning = true; } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 197
//Boss01Weapon02b (game.logics.weapons.Boss01Weapon02b) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss01Weapon02b extends Weapon { public function Boss01Weapon02b(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 90, 12, 15, Nozzle.REVERSE); isSpinning = true; } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 198
//Boss01Weapon03 (game.logics.weapons.Boss01Weapon03) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss01Weapon03 extends Weapon { public function Boss01Weapon03(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 10); } override protected function get coolDown():int{ return (3); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 199
//Boss02Weapon01 (game.logics.weapons.Boss02Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss02Weapon01 extends Weapon { public function Boss02Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 10, 15); } override protected function get heatThreshold():int{ return (1); } override protected function get interval():Number{ return (12); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (12); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } } }//package game.logics.weapons
Section 200
//Boss02Weapon02 (game.logics.weapons.Boss02Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss02Weapon02 extends Weapon { public function Boss02Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 10); } override protected function get coolDown():int{ return (2); } override protected function get heatThreshold():int{ return (3); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (6); } } }//package game.logics.weapons
Section 201
//Boss02Weapon03 (game.logics.weapons.Boss02Weapon03) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss02Weapon03 extends Weapon { public function Boss02Weapon03(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 20); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } override protected function get interval():Number{ return (24); } } }//package game.logics.weapons
Section 202
//Boss03Weapon01 (game.logics.weapons.Boss03Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss03Weapon01 extends Weapon { public function Boss03Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 6); } override protected function get heatThreshold():int{ return (3); } override protected function get interval():Number{ return (4); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (12); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } } }//package game.logics.weapons
Section 203
//Boss03Weapon02 (game.logics.weapons.Boss03Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss03Weapon02 extends Weapon { public function Boss03Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10, Nozzle.SORT); isSpinning = true; } override protected function get heatThreshold():int{ return (18); } override protected function get interval():Number{ return (2); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (8); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } } }//package game.logics.weapons
Section 204
//Boss04Weapon01 (game.logics.weapons.Boss04Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss04Weapon01 extends Weapon { public function Boss04Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 7, 10); } override protected function get heatThreshold():int{ return (3); } override protected function get interval():Number{ return (6); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (9); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } } }//package game.logics.weapons
Section 205
//Boss04Weapon02 (game.logics.weapons.Boss04Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss04Weapon02 extends Weapon { public function Boss04Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10, Nozzle.SORT); isSpinning = true; } override protected function get coolDown():int{ return (36); } override protected function get heatThreshold():int{ return (18); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } override protected function get interval():Number{ return (2); } } }//package game.logics.weapons
Section 206
//Boss05Weapon01 (game.logics.weapons.Boss05Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss05Weapon01 extends Weapon { public function Boss05Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10, Nozzle.SORT); isSpinning = true; } override protected function get coolDown():int{ return (36); } override protected function get heatThreshold():int{ return (18); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } override protected function get interval():Number{ return (3); } } }//package game.logics.weapons
Section 207
//Boss05Weapon02 (game.logics.weapons.Boss05Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss05Weapon02 extends Weapon { public function Boss05Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 6, 10); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S10); } override protected function get interval():Number{ return (15); } } }//package game.logics.weapons
Section 208
//Boss05Weapon03 (game.logics.weapons.Boss05Weapon03) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss05Weapon03 extends Weapon { public function Boss05Weapon03(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 5); } override protected function get coolDown():int{ return (6); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } override protected function get interval():Number{ return (5); } } }//package game.logics.weapons
Section 209
//Boss06Weapon01 (game.logics.weapons.Boss06Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss06Weapon01 extends Weapon { public function Boss06Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 20, 10, Nozzle.SORT); isSpinning = true; } override protected function get coolDown():int{ return (20); } override protected function get heatThreshold():int{ return (20); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S10); } override protected function get interval():Number{ return (3); } } }//package game.logics.weapons
Section 210
//Boss06Weapon02 (game.logics.weapons.Boss06Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss06Weapon02 extends Weapon { public function Boss06Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 9, 10); } override protected function get coolDown():int{ return (6); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 211
//Boss06Weapon03 (game.logics.weapons.Boss06Weapon03) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Boss06Weapon03 extends Weapon { public function Boss06Weapon03(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 212
//Enemy01Weapon (game.logics.weapons.Enemy01Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy01Weapon extends Weapon { public function Enemy01Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 15); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (14); } } }//package game.logics.weapons
Section 213
//Enemy03Weapon01 (game.logics.weapons.Enemy03Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy03Weapon01 extends Weapon { public function Enemy03Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 214
//Enemy03Weapon02 (game.logics.weapons.Enemy03Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy03Weapon02 extends Weapon { public function Enemy03Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 20); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (1); } } }//package game.logics.weapons
Section 215
//Enemy04Weapon (game.logics.weapons.Enemy04Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy04Weapon extends Weapon { public function Enemy04Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 4, 15); } override protected function get coolDown():int{ return (2); } override protected function get heatThreshold():int{ return (3); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 216
//Enemy06Weapon (game.logics.weapons.Enemy06Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy06Weapon extends Weapon { public function Enemy06Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 10); } override protected function get coolDown():int{ return (2); } override protected function get heatThreshold():int{ return (2); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 217
//Enemy07Weapon (game.logics.weapons.Enemy07Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy07Weapon extends Weapon { public function Enemy07Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 20); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (14); } } }//package game.logics.weapons
Section 218
//Enemy07Weapon02 (game.logics.weapons.Enemy07Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy07Weapon02 extends Weapon { public function Enemy07Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 15); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 219
//Enemy08Weapon (game.logics.weapons.Enemy08Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy08Weapon extends Weapon { public function Enemy08Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180); } override protected function get heatThreshold():int{ return (3); } override protected function get interval():Number{ return (4); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (7); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } } }//package game.logics.weapons
Section 220
//Enemy10Weapon01 (game.logics.weapons.Enemy10Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy10Weapon01 extends Weapon { public function Enemy10Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 10); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 221
//Enemy10Weapon02 (game.logics.weapons.Enemy10Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy10Weapon02 extends Weapon { public function Enemy10Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 10); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (1); } } }//package game.logics.weapons
Section 222
//Enemy11Weapon01 (game.logics.weapons.Enemy11Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy11Weapon01 extends Weapon { public function Enemy11Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 223
//Enemy11Weapon02 (game.logics.weapons.Enemy11Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy11Weapon02 extends Weapon { public function Enemy11Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (2); } } }//package game.logics.weapons
Section 224
//Enemy13Weapon (game.logics.weapons.Enemy13Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy13Weapon extends Weapon { public function Enemy13Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 10); } override protected function get heatThreshold():int{ return (2); } override protected function get interval():Number{ return (10); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (14); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } } }//package game.logics.weapons
Section 225
//Enemy14Weapon (game.logics.weapons.Enemy14Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy14Weapon extends Weapon { public function Enemy14Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 2); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 226
//Enemy15Weapon01 (game.logics.weapons.Enemy15Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy15Weapon01 extends Weapon { public function Enemy15Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 227
//Enemy15Weapon02 (game.logics.weapons.Enemy15Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy15Weapon02 extends Weapon { public function Enemy15Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 10); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (20); } } }//package game.logics.weapons
Section 228
//Enemy16Weapon01 (game.logics.weapons.Enemy16Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy16Weapon01 extends Weapon { public function Enemy16Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180); } override protected function get coolDown():int{ return (6); } override protected function get heatThreshold():int{ return (6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 229
//Enemy16Weapon02 (game.logics.weapons.Enemy16Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy16Weapon02 extends Weapon { public function Enemy16Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 230
//Enemy19Weapon (game.logics.weapons.Enemy19Weapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy19Weapon extends Weapon { public function Enemy19Weapon(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 8, 6); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 231
//Enemy20Weapon01 (game.logics.weapons.Enemy20Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy20Weapon01 extends Weapon { public function Enemy20Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 8, 6); } override protected function get coolDown():int{ return (6); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 232
//Enemy20Weapon02 (game.logics.weapons.Enemy20Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy20Weapon02 extends Weapon { public function Enemy20Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S7); } override protected function get interval():Number{ return (1); } } }//package game.logics.weapons
Section 233
//Enemy21Weapon01 (game.logics.weapons.Enemy21Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy21Weapon01 extends Weapon { public function Enemy21Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 45, 4); isSpinning = true; } override protected function get coolDown():int{ return (20); } override protected function get heatThreshold():int{ return (45); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S5); } override protected function get interval():Number{ return (2); } } }//package game.logics.weapons
Section 234
//Enemy22Weapon01 (game.logics.weapons.Enemy22Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy22Weapon01 extends Weapon { public function Enemy22Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 10); } override protected function get heatThreshold():int{ return (3); } override protected function get interval():Number{ return (12); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } } }//package game.logics.weapons
Section 235
//Enemy22Weapon02 (game.logics.weapons.Enemy22Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy22Weapon02 extends Weapon { public function Enemy22Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 20); } override protected function get coolDown():int{ return (8); } override protected function get heatThreshold():int{ return (2); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } override protected function get interval():Number{ return (2); } } }//package game.logics.weapons
Section 236
//Enemy24Weapon01 (game.logics.weapons.Enemy24Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy24Weapon01 extends Weapon { public function Enemy24Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 20, 9, Nozzle.SORT); isSpinning = true; } override protected function get heatThreshold():int{ return (20); } override protected function get interval():Number{ return (4); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (20); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } } }//package game.logics.weapons
Section 237
//Enemy24Weapon02 (game.logics.weapons.Enemy24Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy24Weapon02 extends Weapon { public function Enemy24Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 10, 5); } override protected function get heatThreshold():int{ return (2); } override protected function get interval():Number{ return (10); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } } }//package game.logics.weapons
Section 238
//Enemy26Weapon01 (game.logics.weapons.Enemy26Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy26Weapon01 extends Weapon { public function Enemy26Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 7, 10); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 239
//Enemy27Weapon01 (game.logics.weapons.Enemy27Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy27Weapon01 extends Weapon { public function Enemy27Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 7, 6); } override protected function get coolDown():int{ return (6); } override protected function get heatThreshold():int{ return (3); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } override protected function get interval():Number{ return (10); } } }//package game.logics.weapons
Section 240
//Enemy27Weapon02 (game.logics.weapons.Enemy27Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy27Weapon02 extends Weapon { public function Enemy27Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 5); } override protected function get heatThreshold():int{ return (3); } override protected function get interval():Number{ return (10); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } } }//package game.logics.weapons
Section 241
//Enemy28Weapon01 (game.logics.weapons.Enemy28Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy28Weapon01 extends Weapon { public function Enemy28Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 12); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S10); } override protected function get interval():Number{ return (7); } } }//package game.logics.weapons
Section 242
//Enemy30Weapon01 (game.logics.weapons.Enemy30Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy30Weapon01 extends Weapon { public function Enemy30Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (5); } } }//package game.logics.weapons
Section 243
//Enemy30Weapon02 (game.logics.weapons.Enemy30Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy30Weapon02 extends Weapon { public function Enemy30Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 10); } override protected function get coolDown():int{ return (4); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S7); } override protected function get interval():Number{ return (9); } } }//package game.logics.weapons
Section 244
//Enemy30Weapon03 (game.logics.weapons.Enemy30Weapon03) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class Enemy30Weapon03 extends Weapon { public function Enemy30Weapon03(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 2, 4); } override protected function get heatThreshold():int{ return (4); } override protected function get interval():Number{ return (11); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S10); } } }//package game.logics.weapons
Section 245
//HeroBottomTurretWeapon (game.logics.weapons.HeroBottomTurretWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class HeroBottomTurretWeapon extends Weapon { public function HeroBottomTurretWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point, _arg4:int){ var _local5:int; var _local6:int; var _local7:int; super(_arg1, _arg2, _arg3); switch (_arg4){ case 1: _local5 = 0; _local6 = 1; _local7 = 0; break; case 2: case 3: _local5 = 5; _local6 = 2; _local7 = 10; break; }; nozzle = new Nozzle(_arg3, _local5, _local6, _local7); } override protected function arm():int{ return (Config.ID_HERO_TURRET_BULLET); } override protected function get interval():Number{ return (Profile.instance.attackSpeed); } } }//package game.logics.weapons
Section 246
//HeroHunterSuperWeapon (game.logics.weapons.HeroHunterSuperWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; public class HeroHunterSuperWeapon extends Weapon { public function HeroHunterSuperWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 0); idle(); } override protected function arm():int{ return (Config.ID_HERO_HUNTER_SUPERPROJECTILE); } override protected function get interval():Number{ return (MathUtil.rangedRandom(6, 10)); } } }//package game.logics.weapons
Section 247
//HeroKnightSuperWeapon (game.logics.weapons.HeroKnightSuperWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; public class HeroKnightSuperWeapon extends Weapon { public function HeroKnightSuperWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 45); idle(); } override protected function arm():int{ return (Config.ID_HERO_KNIGHT_SUPERPROJECTILE); } override protected function get interval():Number{ return (MathUtil.rangedRandom(16, 20)); } } }//package game.logics.weapons
Section 248
//HeroMissileTurretWeapon (game.logics.weapons.HeroMissileTurretWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; public class HeroMissileTurretWeapon extends Weapon { public function HeroMissileTurretWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, MathUtil.rangedRandom(160, 200, 10)); } override protected function arm():int{ return (Config.ID_HERO_TURRET_MISSILE); } override protected function get interval():Number{ return ((Profile.instance.attackSpeed * 4)); } } }//package game.logics.weapons
Section 249
//HeroPaladinSuperWeapon (game.logics.weapons.HeroPaladinSuperWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; import com.soybeansoft.util.*; public class HeroPaladinSuperWeapon extends Weapon { public function HeroPaladinSuperWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 5); idle(); } override protected function arm():int{ return (Config.ID_HERO_PALADIN_SUPERPROJECTILE); } override protected function get interval():Number{ return (MathUtil.rangedRandom(8, 10)); } } }//package game.logics.weapons
Section 250
//HeroTopTurretWeapon (game.logics.weapons.HeroTopTurretWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class HeroTopTurretWeapon extends Weapon { public function HeroTopTurretWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point, _arg4:int){ var _local5:int; var _local6:int; var _local7:int; super(_arg1, _arg2, _arg3); switch (_arg4){ case 1: _local5 = 0; _local6 = 1; _local7 = 0; break; case 2: case 3: _local5 = -5; _local6 = 2; _local7 = 10; break; }; nozzle = new Nozzle(_arg3, _local5, _local6, _local7); } override protected function arm():int{ return (Config.ID_HERO_TURRET_BULLET); } override protected function get interval():Number{ return (Profile.instance.attackSpeed); } } }//package game.logics.weapons
Section 251
//HeroWarriorSuperWeapon (game.logics.weapons.HeroWarriorSuperWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class HeroWarriorSuperWeapon extends Weapon { public function HeroWarriorSuperWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 0, 9, 11); } override protected function arm():int{ return (Config.ID_HERO_WARRIOR_SUPERPROJECTILE); } override protected function get interval():Number{ return (2); } } }//package game.logics.weapons
Section 252
//HeroWeapon (game.logics.weapons.HeroWeapon) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class HeroWeapon extends Weapon { public function HeroWeapon(_arg1:ObjectFactory, _arg2:Hero, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 0); } override protected function arm():int{ return (Config.ID_HEROPROJECTILE); } override protected function get interval():Number{ return (Profile.instance.attackSpeed); } } }//package game.logics.weapons
Section 253
//MiniBoss01Weapon01 (game.logics.weapons.MiniBoss01Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss01Weapon01 extends Weapon { public function MiniBoss01Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 7, 10); } override protected function get coolDown():int{ return (2); } override protected function get heatThreshold():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S6); } override protected function get interval():Number{ return (12); } } }//package game.logics.weapons
Section 254
//MiniBoss01Weapon02 (game.logics.weapons.MiniBoss01Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss01Weapon02 extends Weapon { public function MiniBoss01Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 10, 15); } override protected function get coolDown():int{ return (2); } override protected function get heatThreshold():int{ return (6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (6); } } }//package game.logics.weapons
Section 255
//MiniBoss03Weapon01 (game.logics.weapons.MiniBoss03Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss03Weapon01 extends Weapon { public function MiniBoss03Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 3, 6); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S4); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 256
//MiniBoss03Weapon02 (game.logics.weapons.MiniBoss03Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss03Weapon02 extends Weapon { public function MiniBoss03Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 10, 6); } override public function get isTargetting():Boolean{ return (true); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S7); } override protected function get interval():Number{ return (8); } } }//package game.logics.weapons
Section 257
//MiniBoss04Weapon01 (game.logics.weapons.MiniBoss04Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss04Weapon01 extends Weapon { public function MiniBoss04Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10); } override protected function get heatThreshold():int{ return (4); } override protected function get interval():Number{ return (6); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (8); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S7); } } }//package game.logics.weapons
Section 258
//MiniBoss05Weapon01 (game.logics.weapons.MiniBoss05Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss05Weapon01 extends Weapon { public function MiniBoss05Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 5, 5); } override protected function get heatThreshold():int{ return (4); } override protected function get interval():Number{ return (10); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (4); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S8); } } }//package game.logics.weapons
Section 259
//MiniBoss05Weapon02 (game.logics.weapons.MiniBoss05Weapon02) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss05Weapon02 extends Weapon { public function MiniBoss05Weapon02(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 10, 10, Nozzle.REVERSE); isSpinning = true; } override protected function get coolDown():int{ return (10); } override protected function get heatThreshold():int{ return (10); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S9); } override protected function get interval():Number{ return (4); } } }//package game.logics.weapons
Section 260
//MiniBoss06Weapon01 (game.logics.weapons.MiniBoss06Weapon01) package game.logics.weapons { import flash.geom.*; import game.logics.*; import game.logics.actors.*; import game.*; public class MiniBoss06Weapon01 extends Weapon { public function MiniBoss06Weapon01(_arg1:ObjectFactory, _arg2:Enemy, _arg3:Point){ super(_arg1, _arg2, _arg3); nozzle = new Nozzle(_arg3, 180, 18, 10); } override protected function get heatThreshold():int{ return (4); } override protected function get interval():Number{ return (8); } override public function get isTargetting():Boolean{ return (true); } override protected function get coolDown():int{ return (8); } override protected function arm():int{ return (Config.ID_ENEMYPROJECTILE_S10); } } }//package game.logics.weapons
Section 261
//Action (game.logics.Action) package game.logics { import game.logics.actors.*; public class Action { protected var enemy:Enemy; protected var factory:ObjectFactory; public function init():void{ } public function update():void{ } public function isDone():Boolean{ return (false); } public function setup(_arg1:Enemy, _arg2:ObjectFactory):void{ this.enemy = _arg1; this.factory = _arg2; } } }//package game.logics
Section 262
//ActionPattern (game.logics.ActionPattern) package game.logics { import game.logics.actors.*; public class ActionPattern { private var currentActionIndex:int; private var enemy:Enemy; private var factory:ObjectFactory; private var currentAction:Action; private var loopToAction:int; private var actions:Array; public function ActionPattern(_arg1:int=-1){ this.loopToAction = _arg1; actions = []; currentActionIndex = 0; } public function add(_arg1:Action):ActionPattern{ actions.push(_arg1); return (this); } public function setup(_arg1:Enemy, _arg2:ObjectFactory):void{ var _local3:int; var _local4:Action; if (actions.length > 0){ _local3 = 0; while (_local3 < actions.length) { _local4 = actions[_local3]; _local4.setup(_arg1, _arg2); _local3++; }; }; this.enemy = _arg1; this.factory = _arg2; } public function update():void{ if (currentAction == null){ init(); }; if (currentAction.isDone()){ currentActionIndex++; if ((((currentActionIndex == actions.length)) && ((loopToAction > -1)))){ currentActionIndex = ((loopToAction)>=actions.length) ? (actions.length - 1) : loopToAction; } else { if ((((currentActionIndex == actions.length)) && ((loopToAction == -1)))){ actions = []; factory.remove(enemy); }; }; init(); } else { currentAction.update(); }; } private function init():void{ if (actions.length > 0){ currentAction = actions[currentActionIndex]; currentAction.init(); }; } } }//package game.logics
Section 263
//Actor (game.logics.Actor) package game.logics { import flash.geom.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import com.soybeansoft.display.blit.helpers.*; public class Actor extends PlayObject { protected var noBlinkTime:int; protected var hitBlink:int; public var isWeaponActive:Boolean; protected var health:int; protected var weapons:Array; protected var noBlinkDelay:int; protected var hitBlinkTime:int; protected var status:String; protected var faceHit:RectTiles; protected static const HIT:String = "hit"; protected static const NORMAL:String = "normal"; public function Actor(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); hitBlink = 0; hitBlinkTime = 1; noBlinkTime = 0; noBlinkDelay = 4; weapons = []; isWeaponActive = true; status = NORMAL; } protected function setupFace():void{ switch (status){ case HIT: renderHelper = new RectTilesRenderer(assetName, faceHit, facePos, position); break; default: renderHelper = new RectTilesRenderer(assetName, face, facePos, position); break; }; } public function applyHit(_arg1:int):void{ health = (health - _arg1); if ((((health <= 0)) && (isActive))){ death(); }; if (noBlinkTime == 0){ status = HIT; setupFace(); hitBlink = hitBlinkTime; noBlinkTime = noBlinkDelay; }; } override public function update():void{ var _local1:int; var _local2:Weapon; if (weapons.length > 0){ _local1 = 0; while (_local1 < weapons.length) { _local2 = weapons[_local1]; _local2.update(); _local1++; }; }; if (hitBlink > 0){ hitBlink--; } else { if ((((hitBlink == 0)) && ((status == HIT)))){ status = NORMAL; setupFace(); }; }; if (noBlinkTime > 0){ noBlinkTime--; }; } protected function shootWeapon(_arg1:int):void{ var _local2:Weapon = weapons[_arg1]; _local2.shoot(position.clone()); } public function shoot(_arg1:int=0):void{ var _local2:int; if (isWeaponActive){ if (_arg1 == -1){ _local2 = 0; while (_local2 < weapons.length) { shootWeapon(_local2); _local2++; }; } else { shootWeapon(_arg1); }; }; } protected function death():void{ isActive = false; factory.remove(this); } override public function get type():String{ return (Config.OBJTYPE_ACTOR); } } }//package game.logics
Section 264
//Charm (game.logics.Charm) package game.logics { import flash.display.*; import game.*; import com.soybeansoft.play.items.*; import com.soybeansoft.util.*; public class Charm extends Item { public static const CONVERT_MAGIC_TO_HEALTH:String = "magic to health"; public static const CONVERT_NONE:String = "none"; public static const TYPE_UNIQUE:String = "unique"; public static const CONVERT_HEALTH_TO_MAGIC:String = "health to magic"; public static const TYPE_NORMAL:String = "normal"; public function get requireGroup():int{ return (0); } public function get modTurretUpgrade():Boolean{ return (false); } public function get modConvertType():String{ return (CONVERT_NONE); } public function get modChainTime():ModData{ return (null); } public function get modConvertRule():ModData{ return (null); } public function get modPickupMult():ModData{ return (null); } public function get modTurretLevel():int{ return (0); } public function toString():String{ var _local1:Array = []; if (modTurretLevel > 0){ _local1.push(("Turret Level: " + modTurretLevel)); }; if (modTurretUpgrade){ _local1.push(("Turret Upgrade: " + modTurretUpgrade)); }; if (modChainTime != null){ _local1.push(("Chain Time: " + modChainTime.value())); }; if (modPickupMult != null){ _local1.push(("Pickup Mult: " + modPickupMult.value())); }; if (modConvertType != CONVERT_NONE){ _local1.push(("Convert Type: " + modConvertType)); }; if (modConvertCost != null){ _local1.push(("Convert Cost: " + modConvertCost.value())); }; if (modConvertRule != null){ _local1.push(("Convert Rule: " + modConvertRule.value())); }; if (modRevive != null){ _local1.push(("Revive: " + modRevive.value())); }; if (modFreeCast != null){ _local1.push(("Free Cast: " + modFreeCast.value())); }; return (_local1.join(" , ")); } public function get cost():int{ return (0); } public function get modRevive():ModData{ return (null); } override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_CHARMS, 42, 42); return (bitmapClip.bitmap); } public function get type():String{ return (TYPE_NORMAL); } public function get modFreeCast():ModData{ return (null); } public function get modConvertCost():ModData{ return (null); } public function get group():int{ return (0); } } }//package game.logics
Section 265
//CharmsData (game.logics.CharmsData) package game.logics { import game.*; import rl.dev.*; import flash.errors.*; public class CharmsData { public var converts:Array; public var shieldCount:int;// = 0 public var freeCasts:int;// = 0 public var turretUpgrade:Boolean;// = false public var chainTime:int;// = 0 public var pickupMult:Number;// = 1 public var turretLevel:int;// = 0 public var revive:int;// = 0 private static var _instance:CharmsData; private static var allow:Boolean = false; public function CharmsData(){ converts = []; super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function setup():void{ var _local2:int; var _local3:Charm; turretLevel = 0; turretUpgrade = false; chainTime = 0; pickupMult = 1; freeCasts = 0; revive = 0; converts = []; var _local1:Array = []; if (Profile.instance.slot1 > -1){ _local1.push(ItemManager.instance.fetch(Profile.instance.slot1)); }; if (Profile.instance.slot2 > -1){ _local1.push(ItemManager.instance.fetch(Profile.instance.slot2)); }; if (Profile.instance.slot3 > -1){ _local1.push(ItemManager.instance.fetch(Profile.instance.slot3)); }; SWFConsole.output(" [CHARMS DATA] setup..."); if (_local1.length > 0){ _local2 = 0; while (_local2 < _local1.length) { _local3 = _local1[_local2]; SWFConsole.output((" [CHARMS DATA] desc: " + _local3.toString())); if ((((turretLevel == 0)) && ((_local3.modTurretLevel > 0)))){ turretLevel = _local3.modTurretLevel; SWFConsole.output((" [CHARMS DATA] turret level: " + turretLevel)); }; if (((!(turretUpgrade)) && (_local3.modTurretUpgrade))){ turretUpgrade = _local3.modTurretUpgrade; SWFConsole.output((" [CHARMS DATA] turret upgrade: " + turretUpgrade)); }; if (_local3.modChainTime != null){ chainTime = _local3.modChainTime.value(chainTime); SWFConsole.output((" [CHARMS DATA] chain time: " + chainTime)); }; if (_local3.modPickupMult != null){ pickupMult = _local3.modPickupMult.value(pickupMult); SWFConsole.output((" [CHARMS DATA] pickup multiply: " + pickupMult)); }; if (_local3.modFreeCast != null){ freeCasts = _local3.modFreeCast.value(freeCasts); SWFConsole.output((" [CHARMS DATA] free casts: " + freeCasts)); }; if (_local3.modRevive != null){ revive = _local3.modRevive.value(revive); SWFConsole.output((" [CHARMS DATA] revive: " + revive)); }; if (_local3.modConvertType != Charm.CONVERT_NONE){ converts.push(new ConverterData(_local3.modConvertType, _local3.modConvertCost.value(((_local3.modConvertType)==Charm.CONVERT_HEALTH_TO_MAGIC) ? Profile.instance.health : Profile.instance.magic), _local3.modConvertRule.value(((_local3.modConvertType)==Charm.CONVERT_HEALTH_TO_MAGIC) ? Profile.instance.magic : Profile.instance.health))); SWFConsole.output((" [CHARMS DATA] converts: " + converts)); }; _local2++; }; }; } public static function get instance():CharmsData{ if (_instance == null){ allow = true; _instance = new (CharmsData); allow = false; }; return (_instance); } } }//package game.logics
Section 266
//ConverterData (game.logics.ConverterData) package game.logics { public class ConverterData { private var _type:String; private var _rule:Number; private var _cost:Number; public function ConverterData(_arg1:String, _arg2:Number, _arg3:Number){ _type = _arg1; _cost = _arg2; _rule = _arg3; } public function get rule():Number{ return (_rule); } public function get type():String{ return (_type); } public function get cost():Number{ return (_cost); } } }//package game.logics
Section 267
//EnemySetup (game.logics.EnemySetup) package game.logics { import flash.geom.*; import com.soybeansoft.play.blit.*; import game.*; public class EnemySetup extends PlayObjectSetup { public var isBehind:Boolean; public var pattern:ActionPattern; public var weapon:Weapon; public function EnemySetup(_arg1:int, _arg2:ActionPattern, _arg3:Boolean=false){ super(_arg1, new Point((Config.STAGE_WIDTH * 2), (Config.STAGE_HEIGHT * 2))); this.pattern = _arg2; this.isBehind = _arg3; } } }//package game.logics
Section 268
//Item (game.logics.Item) package game.logics { import flash.display.*; import com.soybeansoft.util.*; public class Item { protected var bitmapClip:BitmapClips; public function get desc():String{ return (""); } public function get id():int{ return (-1); } public function get icon():Bitmap{ return (null); } public function get name():String{ return (""); } } }//package game.logics
Section 269
//ItemManager (game.logics.ItemManager) package game.logics { import flash.utils.*; import flash.errors.*; public class ItemManager { private var items:Dictionary; private var list:Array; private static var _instance:ItemManager; private static var allow:Boolean = false; public function ItemManager(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; items = new Dictionary(false); list = []; } public function add(_arg1:int, _arg2:Item):void{ var _local3:String = _arg1.toString(); items[_local3] = _arg2; list.push(_local3); } public function fetchId(_arg1:Item):int{ var _local2:String; for (_local2 in items) { if (items[_local2] == _arg1){ return (int(_local2)); }; }; return (-1); } public function get idList():Array{ return (list); } public function fetch(_arg1:int):Item{ var _local2:String = _arg1.toString(); var _local3:Item = (items[_local2] as Item); return (_local3); } public static function get instance():ItemManager{ if (_instance == null){ allow = true; _instance = new (ItemManager); allow = false; }; return (_instance); } } }//package game.logics
Section 270
//Level (game.logics.Level) package game.logics { import flash.display.*; import com.soybeansoft.manager.*; import flash.geom.*; import com.soybeansoft.play.blit.*; import game.*; import flash.errors.*; public class Level { public var currentGroupId:int; protected var factory:ObjectFactory; public var backgroundBuffer:BitmapData; public var qeueObjects:Array; public var startingPoint:Point; public function cleanup():void{ backgroundBuffer.dispose(); Assets.instance.remove(Assets.BITMAP, backgroundAsset); Assets.instance.remove(Assets.BITMAP, midgroundAsset); Assets.instance.remove(Assets.BITMAP, foregroundAsset); var _local1:int; while (_local1 < bitmapAssets.length) { Assets.instance.remove(Assets.BITMAP, bitmapAssets[_local1]); _local1++; }; } public function get foregroundAsset():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get midgroundAsset():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get backgroundAsset():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get waveGroups():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } final public function get rectangle():Rectangle{ if (Boolean(backgroundBuffer)){ return (backgroundBuffer.rect); }; return (null); } protected function get bitmapAssets():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } final public function fetchWaves():Array{ var _local1:Array = []; if (waveGroups[currentGroupId] != null){ _local1 = waveGroups[currentGroupId]; currentGroupId++; }; return (_local1); } final public function setup(_arg1:ObjectFactory):void{ qeueObjects = []; currentGroupId = 0; this.factory = _arg1; backgroundBuffer = new BitmapData(Config.STAGE_WIDTH, Config.STAGE_HEIGHT); Assets.instance.load(Assets.BITMAP, backgroundAsset); Assets.instance.load(Assets.BITMAP, midgroundAsset); Assets.instance.load(Assets.BITMAP, foregroundAsset); var _local2:int; while (_local2 < bitmapAssets.length) { Assets.instance.load(Assets.BITMAP, bitmapAssets[_local2]); _local2++; }; startingPoint = new Point((Config.STAGE_WIDTH * 0.5), (Config.STAGE_HEIGHT * 0.5)); qeueObjects.push(new PlayObjectSetup(Config.ID_HERO, startingPoint.clone())); } } }//package game.logics
Section 271
//LevelManager (game.logics.LevelManager) package game.logics { import com.soybeansoft.manager.*; import flash.utils.*; import com.soybeansoft.display.blit.*; import com.soybeansoft.play.blit.*; import game.screens.*; import game.*; import com.soybeansoft.display.blit.objects.*; import rl.dev.*; public class LevelManager { private var backParallax:ParallaxObject; private var arena:Render; private var currentLevel:Level; private var cleared:Boolean; private var levels:Array; private var foreParallax:ParallaxObject; private var play:Play; private var background:Layer; private var midParallax:ParallaxObject; public function LevelManager(_arg1:Play, _arg2:Render, _arg3:Layer){ this.play = _arg1; this.arena = _arg2; this.background = _arg3; levels = []; } final public function add(_arg1:String, _arg2:Level):void{ levels.push({name:_arg1, level:_arg2}); } public function get isCleared():Boolean{ return (cleared); } public function cleanup():void{ if (background.numObjects > 0){ background.removeObject(backParallax); background.removeObject(midParallax); background.removeObject(foreParallax); }; currentLevel.cleanup(); } public function update():void{ var _local1:Array; var _local2:int; var _local3:String; var _local4:EnemySetup; var _local5:ObjectFactory; backParallax.update(); midParallax.update(); foreParallax.update(); if (play.objectManager.enemyCount == 0){ _local1 = currentLevel.fetchWaves(); if (_local1.length > 0){ _local2 = 0; while (_local2 < _local1.length) { _local3 = getQualifiedClassName(_local1[_local2]); if (_local3.indexOf("EnemySetup") > -1){ _local4 = _local1[_local2]; _local5 = (play.objectManager.factory as ObjectFactory); _local5.addEnemy(_local4); } else { play.showMessageDialog(_local1[_local2]); }; _local2++; }; } else { if (!cleared){ SWFConsole.output(("[cleared] LEVEL " + Profile.instance.currentLevel)); }; cleared = true; }; }; } public function setup():void{ var _local1:int; var _local2:PlayObjectSetup; SWFConsole.output(("[start] LEVEL " + Profile.instance.currentLevel)); cleared = false; currentLevel = levels[Profile.instance.currentLevel].level; currentLevel.setup((play.objectManager.factory as ObjectFactory)); if (background.numObjects > 0){ background.removeObject(backParallax); background.removeObject(midParallax); background.removeObject(foreParallax); }; backParallax = new ParallaxObject(Assets.instance.fetch(Assets.BITMAP, currentLevel.backgroundAsset).bitmapData, 1); midParallax = new ParallaxObject(Assets.instance.fetch(Assets.BITMAP, currentLevel.midgroundAsset).bitmapData, 2); foreParallax = new ParallaxObject(Assets.instance.fetch(Assets.BITMAP, currentLevel.foregroundAsset).bitmapData, 8); background.addObject(backParallax); background.addObject(midParallax); background.addObject(foreParallax); if (currentLevel.qeueObjects.length > 0){ _local1 = 0; while (_local1 < currentLevel.qeueObjects.length) { _local2 = currentLevel.qeueObjects[_local1]; play.objectManager.factory.add(_local2); _local1++; }; }; arena.cameraTarget = currentLevel.startingPoint; arena.cameraBorders = currentLevel.rectangle; } } }//package game.logics
Section 272
//Nozzle (game.logics.Nozzle) package game.logics { import flash.geom.*; import com.soybeansoft.util.*; public class Nozzle { private var spreads:int; public var position:Point; private var space:int; private var startPoint:Point; private var angle:int; private var endPoint:Point; private var type:String; public static const REVERSE:String = "sort reverse"; public static const RANDOM:String = "random"; public static const NORMAL:String = "normal"; public static const SORT:String = "sort"; public function Nozzle(_arg1:Point, _arg2:int=180, _arg3:int=1, _arg4:int=0, _arg5:String="normal"){ this.position = _arg1; this.angle = _arg2; this.spreads = _arg3; this.space = _arg4; this.type = _arg5; } public function angles():Array{ var _local5:Number; var _local1:Array = []; var _local2:Boolean = (((spreads % 2))==0) ? true : false; var _local3:int = (_local2) ? (spreads * 0.5) : ((spreads - 1) * 0.5); var _local4 = 1; if (!_local2){ _local1.push(angle); _local4 = 1; while (_local4 <= _local3) { _local1.push((angle + (space * _local4))); _local1.push((angle - (space * _local4))); _local4++; }; } else { _local4 = 1; while (_local4 <= _local3) { _local5 = ((_local4)==1) ? 0.5 : _local4; _local1.push((angle + (space * _local5))); _local1.push((angle - (space * _local5))); _local4++; }; }; switch (type){ case RANDOM: _local1 = ArrayUtil.shuffle(_local1); break; case SORT: _local1 = _local1.sort(); break; case REVERSE: _local1 = _local1.sort(); _local1 = _local1.reverse(); break; }; return (_local1); } public function updateAngle(_arg1:int):void{ this.angle = _arg1; } } }//package game.logics
Section 273
//ObjectFactory (game.logics.ObjectFactory) package game.logics { import com.soybeansoft.manager.*; import flash.geom.*; import com.soybeansoft.play.blit.*; import game.logics.actors.*; import game.*; import game.logics.pickups.*; import com.soybeansoft.play.blit.particle.*; import de.polygonal.core.*; import game.logics.particleemitters.*; import game.logics.actors.enemies.*; import game.logics.projectiles.*; import game.logics.particles.*; import game.logics.projectiles.enemyprojectiles.*; public class ObjectFactory extends AObjectFactory { public var coinPool:ObjectPool; public function ObjectFactory(_arg1:Function, _arg2:Function){ super(_arg1, _arg2); } protected function createProjectile(_arg1:int, _arg2:Point, _arg3:Point, _arg4:Actor):Projectile{ var _local5:HeroProjectile; var _local6:HeroWarriorSuperProjectile; var _local7:HeroHunterSuperProjectile; var _local8:HeroKnightSuperProjectile; var _local9:HeroPaladinSuperProjectile; var _local10:HeroTurretProjectile; var _local11:HeroTurretMissile; var _local12:EnemyProjectile_S4; var _local13:EnemyProjectile_S5; var _local14:EnemyProjectile_S6; var _local15:EnemyProjectile_S7; var _local16:EnemyProjectile_S8; var _local17:EnemyProjectile_S9; var _local18:EnemyProjectile_S10; switch (_arg1){ case Config.ID_HEROPROJECTILE: _local5 = new HeroProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local5); case Config.ID_HERO_WARRIOR_SUPERPROJECTILE: _local6 = new HeroWarriorSuperProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local6); case Config.ID_HERO_HUNTER_SUPERPROJECTILE: _local7 = new HeroHunterSuperProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local7); case Config.ID_HERO_KNIGHT_SUPERPROJECTILE: _local8 = new HeroKnightSuperProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local8); case Config.ID_HERO_PALADIN_SUPERPROJECTILE: _local9 = new HeroPaladinSuperProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local9); case Config.ID_HERO_TURRET_BULLET: _local10 = new HeroTurretProjectile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local10); case Config.ID_HERO_TURRET_MISSILE: _local11 = new HeroTurretMissile(_arg2.clone(), _arg3.clone(), this, _arg4); return (_local11); case Config.ID_ENEMYPROJECTILE_S4: _local12 = new EnemyProjectile_S4(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local12); case Config.ID_ENEMYPROJECTILE_S5: _local13 = new EnemyProjectile_S5(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local13); case Config.ID_ENEMYPROJECTILE_S6: _local14 = new EnemyProjectile_S6(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local14); case Config.ID_ENEMYPROJECTILE_S7: _local15 = new EnemyProjectile_S7(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local15); case Config.ID_ENEMYPROJECTILE_S8: _local16 = new EnemyProjectile_S8(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local16); case Config.ID_ENEMYPROJECTILE_S9: _local17 = new EnemyProjectile_S9(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local17); case Config.ID_ENEMYPROJECTILE_S10: _local18 = new EnemyProjectile_S10(_arg2.clone(), _arg3.clone(), this, (_arg4 as Enemy)); return (_local18); }; return (null); } public function removeCoin(_arg1:Coin):void{ remove(_arg1); coinPool.object = _arg1; } public function addTextParticle(_arg1:TextParticleSetup):void{ addCallback(createTextParticle(_arg1)); } public function addEnemy(_arg1:EnemySetup):void{ addCallback(createEnemy(_arg1), _arg1.isBehind); } public function addProjectile(_arg1:int, _arg2:Point, _arg3:Point, _arg4:Actor):void{ addCallback(createProjectile(_arg1, _arg2, _arg3, _arg4)); } public function setupCoinPool():void{ coinPool = new ObjectPool(true); coinPool.allocate(50, Coin); } public function createEnemy(_arg1:EnemySetup):Enemy{ var _local2:Enemy00; var _local3:Enemy01; var _local4:Enemy02; var _local5:Enemy03; var _local6:Enemy04; var _local7:Enemy05; var _local8:Enemy06; var _local9:Enemy07; var _local10:Enemy08; var _local11:Enemy09; var _local12:Enemy10; var _local13:Enemy11; var _local14:Enemy12; var _local15:Enemy13; var _local16:Enemy14; var _local17:Enemy15; var _local18:Enemy16; var _local19:Enemy17; var _local20:Enemy18; var _local21:Enemy19; var _local22:Enemy20; var _local23:Enemy21; var _local24:Enemy22; var _local25:Enemy23; var _local26:Enemy24; var _local27:Enemy25; var _local28:Enemy26; var _local29:Enemy27; var _local30:Enemy28; var _local31:Enemy29; var _local32:Enemy30; var _local33:MiniBoss01; var _local34:MiniBoss02; var _local35:MiniBoss03; var _local36:MiniBoss04; var _local37:MiniBoss05; var _local38:MiniBoss06; var _local39:Boss01; var _local40:Boss01b; var _local41:Boss01c; var _local42:Boss02; var _local43:Boss02b; var _local44:Boss03; var _local45:Boss03b; var _local46:Boss04; var _local47:Boss04b; var _local48:Boss05; var _local49:Boss05b; var _local50:Boss06; var _local51:Boss06b; var _local52:Boss06c; switch (_arg1.id){ case Config.ID_ENEMY00: _local2 = new Enemy00(_arg1.pos, _arg1.pattern, this); return (_local2); case Config.ID_ENEMY01: _local3 = new Enemy01(_arg1.pos, _arg1.pattern, this); return (_local3); case Config.ID_ENEMY02: _local4 = new Enemy02(_arg1.pos, _arg1.pattern, this); return (_local4); case Config.ID_ENEMY03: _local5 = new Enemy03(_arg1.pos, _arg1.pattern, this); return (_local5); case Config.ID_ENEMY04: _local6 = new Enemy04(_arg1.pos, _arg1.pattern, this); return (_local6); case Config.ID_ENEMY05: _local7 = new Enemy05(_arg1.pos, _arg1.pattern, this); return (_local7); case Config.ID_ENEMY06: _local8 = new Enemy06(_arg1.pos, _arg1.pattern, this); return (_local8); case Config.ID_ENEMY07: _local9 = new Enemy07(_arg1.pos, _arg1.pattern, this); return (_local9); case Config.ID_ENEMY08: _local10 = new Enemy08(_arg1.pos, _arg1.pattern, this); return (_local10); case Config.ID_ENEMY09: _local11 = new Enemy09(_arg1.pos, _arg1.pattern, this); return (_local11); case Config.ID_ENEMY10: _local12 = new Enemy10(_arg1.pos, _arg1.pattern, this); return (_local12); case Config.ID_ENEMY11: _local13 = new Enemy11(_arg1.pos, _arg1.pattern, this); return (_local13); case Config.ID_ENEMY12: _local14 = new Enemy12(_arg1.pos, _arg1.pattern, this); return (_local14); case Config.ID_ENEMY13: _local15 = new Enemy13(_arg1.pos, _arg1.pattern, this); return (_local15); case Config.ID_ENEMY14: _local16 = new Enemy14(_arg1.pos, _arg1.pattern, this); return (_local16); case Config.ID_ENEMY15: _local17 = new Enemy15(_arg1.pos, _arg1.pattern, this); return (_local17); case Config.ID_ENEMY16: _local18 = new Enemy16(_arg1.pos, _arg1.pattern, this); return (_local18); case Config.ID_ENEMY17: _local19 = new Enemy17(_arg1.pos, _arg1.pattern, this); return (_local19); case Config.ID_ENEMY18: _local20 = new Enemy18(_arg1.pos, _arg1.pattern, this); return (_local20); case Config.ID_ENEMY19: _local21 = new Enemy19(_arg1.pos, _arg1.pattern, this); return (_local21); case Config.ID_ENEMY20: _local22 = new Enemy20(_arg1.pos, _arg1.pattern, this); return (_local22); case Config.ID_ENEMY21: _local23 = new Enemy21(_arg1.pos, _arg1.pattern, this); return (_local23); case Config.ID_ENEMY22: _local24 = new Enemy22(_arg1.pos, _arg1.pattern, this); return (_local24); case Config.ID_ENEMY23: _local25 = new Enemy23(_arg1.pos, _arg1.pattern, this); return (_local25); case Config.ID_ENEMY24: _local26 = new Enemy24(_arg1.pos, _arg1.pattern, this); return (_local26); case Config.ID_ENEMY25: _local27 = new Enemy25(_arg1.pos, _arg1.pattern, this); return (_local27); case Config.ID_ENEMY26: _local28 = new Enemy26(_arg1.pos, _arg1.pattern, this); return (_local28); case Config.ID_ENEMY27: _local29 = new Enemy27(_arg1.pos, _arg1.pattern, this); return (_local29); case Config.ID_ENEMY28: _local30 = new Enemy28(_arg1.pos, _arg1.pattern, this); return (_local30); case Config.ID_ENEMY29: _local31 = new Enemy29(_arg1.pos, _arg1.pattern, this); return (_local31); case Config.ID_ENEMY30: _local32 = new Enemy30(_arg1.pos, _arg1.pattern, this); return (_local32); case Config.ID_MINIBOSS01: _local33 = new MiniBoss01(_arg1.pos, _arg1.pattern, this); return (_local33); case Config.ID_MINIBOSS02: _local34 = new MiniBoss02(_arg1.pos, _arg1.pattern, this); return (_local34); case Config.ID_MINIBOSS03: _local35 = new MiniBoss03(_arg1.pos, _arg1.pattern, this); return (_local35); case Config.ID_MINIBOSS04: _local36 = new MiniBoss04(_arg1.pos, _arg1.pattern, this); return (_local36); case Config.ID_MINIBOSS05: _local37 = new MiniBoss05(_arg1.pos, _arg1.pattern, this); return (_local37); case Config.ID_MINIBOSS06: _local38 = new MiniBoss06(_arg1.pos, _arg1.pattern, this); return (_local38); case Config.ID_BOSS01: _local39 = new Boss01(_arg1.pos, _arg1.pattern, this); return (_local39); case Config.ID_BOSS01B: _local40 = new Boss01b(_arg1.pos, _arg1.pattern, this); return (_local40); case Config.ID_BOSS01C: _local41 = new Boss01c(_arg1.pos, _arg1.pattern, this); return (_local41); case Config.ID_BOSS02: _local42 = new Boss02(_arg1.pos, _arg1.pattern, this); return (_local42); case Config.ID_BOSS02B: _local43 = new Boss02b(_arg1.pos, _arg1.pattern, this); return (_local43); case Config.ID_BOSS03: _local44 = new Boss03(_arg1.pos, _arg1.pattern, this); return (_local44); case Config.ID_BOSS03B: _local45 = new Boss03b(_arg1.pos, _arg1.pattern, this); return (_local45); case Config.ID_BOSS04: _local46 = new Boss04(_arg1.pos, _arg1.pattern, this); return (_local46); case Config.ID_BOSS04B: _local47 = new Boss04b(_arg1.pos, _arg1.pattern, this); return (_local47); case Config.ID_BOSS05: _local48 = new Boss05(_arg1.pos, _arg1.pattern, this); return (_local48); case Config.ID_BOSS05B: _local49 = new Boss05b(_arg1.pos, _arg1.pattern, this); return (_local49); case Config.ID_BOSS06: _local50 = new Boss06(_arg1.pos, _arg1.pattern, this); return (_local50); case Config.ID_BOSS06B: _local51 = new Boss06b(_arg1.pos, _arg1.pattern, this); return (_local51); case Config.ID_BOSS06C: _local52 = new Boss06c(_arg1.pos, _arg1.pattern, this); return (_local52); }; return (null); } override protected function create(_arg1:PlayObjectSetup):PlayObject{ var _local2:Hero; var _local3:GoldSmall; var _local4:GoldMedium; var _local5:GoldLarge; var _local6:HealthSmall; var _local7:HealthMedium; var _local8:MagicSmall; var _local9:MagicMedium; var _local10:Gem01; var _local11:Gem02; var _local12:Gem03; var _local13:Gem04; var _local14:Gem05; var _local15:Gem06; var _local16:Gem07; var _local17:Gem08; var _local18:Explosion01Emitter; var _local19:Explosion01Particle; var _local20:Explosion03Emitter; var _local21:Explosion03Particle; var _local22:ImpactEmitter; var _local23:ImpactParticle; var _local24:MissParticle; var _local25:CritParticle; var _local26:PaladinSuperBulletParticle; var _local27:Coin; switch (_arg1.id){ case Config.ID_HERO: _local2 = new Hero(_arg1.pos, this); _local2.init(); return (_local2); case Config.ID_COIN: if (coinPool.wasteCount > 0){ _local27 = coinPool.object; _local27.init(_arg1.pos, this); }; return (_local27); case Config.ID_GOLD_S: _local3 = new GoldSmall(_arg1.pos, this); return (_local3); case Config.ID_GOLD_M: _local4 = new GoldMedium(_arg1.pos, this); return (_local4); case Config.ID_GOLD_L: _local5 = new GoldLarge(_arg1.pos, this); return (_local5); case Config.ID_HEALTH_S: _local6 = new HealthSmall(_arg1.pos, this); return (_local6); case Config.ID_HEALTH_M: _local7 = new HealthMedium(_arg1.pos, this); return (_local7); case Config.ID_MAGIC_S: _local8 = new MagicSmall(_arg1.pos, this); return (_local8); case Config.ID_MAGIC_M: _local9 = new MagicMedium(_arg1.pos, this); return (_local9); case Config.ID_TOKEN_GEM_1: _local10 = new Gem01(_arg1.pos, this); return (_local10); case Config.ID_TOKEN_GEM_2: _local11 = new Gem02(_arg1.pos, this); return (_local11); case Config.ID_TOKEN_GEM_3: _local12 = new Gem03(_arg1.pos, this); return (_local12); case Config.ID_TOKEN_GEM_4: _local13 = new Gem04(_arg1.pos, this); return (_local13); case Config.ID_TOKEN_GEM_5: _local14 = new Gem05(_arg1.pos, this); return (_local14); case Config.ID_TOKEN_GEM_6: _local15 = new Gem06(_arg1.pos, this); return (_local15); case Config.ID_TOKEN_GEM_7: _local16 = new Gem07(_arg1.pos, this); return (_local16); case Config.ID_TOKEN_GEM_8: _local17 = new Gem08(_arg1.pos, this); return (_local17); case Config.ID_EXPLOSION01EMITTER: _local18 = new Explosion01Emitter(_arg1.pos, this); return (_local18); case Config.ID_EXPLOSION01PARTICLE: _local19 = new Explosion01Particle(_arg1.pos, this); return (_local19); case Config.ID_EXPLOSION03EMITTER: Sounds.instance.playFX(Config.ASSET_SFX_EXPLODE); _local20 = new Explosion03Emitter(_arg1.pos, this); return (_local20); case Config.ID_EXPLOSION03PARTICLE: _local21 = new Explosion03Particle(_arg1.pos, this); return (_local21); case Config.ID_IMPACTEMITTER: _local22 = new ImpactEmitter(_arg1.pos, this); return (_local22); case Config.ID_IMPACTPARTICLE: _local23 = new ImpactParticle(_arg1.pos, this); return (_local23); case Config.ID_MISSPARTICLE: _local24 = new MissParticle(_arg1.pos, this); return (_local24); case Config.ID_CRITPARTICLE: _local25 = new CritParticle(_arg1.pos, this); return (_local25); case Config.ID_PALADINSUPERBULLETPARTICLE: _local26 = new PaladinSuperBulletParticle(_arg1.pos, this); return (_local26); }; return (null); } public function createTextParticle(_arg1:TextParticleSetup):Particle{ var _local2:DamageParticle; var _local3:ExpParticle; switch (_arg1.id){ case Config.ID_DAMAGEPARTICLE: _local2 = new DamageParticle(_arg1.value, _arg1.pos, this, _arg1.moveLeft); return (_local2); case Config.ID_EXPPARTICLE: _local3 = new ExpParticle(_arg1.value, _arg1.pos, this); return (_local3); }; return (null); } } }//package game.logics
Section 274
//ObjectManager (game.logics.ObjectManager) package game.logics { import com.soybeansoft.manager.*; import flash.utils.*; import flash.geom.*; import com.soybeansoft.display.blit.*; import com.soybeansoft.play.blit.*; import game.screens.*; import game.logics.actors.*; import game.*; import game.logics.pickups.*; import com.soybeansoft.util.*; import rl.dev.*; public class ObjectManager extends AObjectManager { private var chainCount:int; private var play:Play; private var chainTick:int; private var tickElapsed:int; public function ObjectManager(_arg1:Play, _arg2:Layer){ super(_arg2); this.play = _arg1; this.factory = new ObjectFactory(add, remove); chainTick = 0; chainCount = 0; } public function get enemyCount():int{ return (gather(Config.OBJTYPE_ENEMY).length); } override protected function postUpdate():void{ var _local10:int; var _local11:Enemy; var _local12:int; var _local13:Projectile; var _local14:Boolean; var _local15:int; var _local16:int; var _local17:Projectile; var _local18:int; var _local19:Projectile; var _local20:Boolean; var _local21:int; var _local22:Projectile; var _local23:Array; var _local24:int; var _local25:Enemy; var _local26:int; var _local27:Pickup; var _local28:int; var _local29:Coin; var _local30:int; var _local31:Pickup; var _local32:int; var _local33:Pickup; var _local34:int; var _local35:Pickup; var _local1:Array = gather(Config.OBJTYPE_ENEMY); var _local2:Array = gather(Config.OBJTYPE_ENEMY_PROJECTILE); var _local3:Array = gather(Config.OBJTYPE_HERO_PROJECTILE); var _local4:Array = gather(Config.OBJTYPE_HERO_SUPERPROJECTILE); var _local5:Array = gather(Config.OBJTYPE_PICKUP); var _local6:Array = gather(Config.OBJTYPE_PICKUP_COIN); var _local7:Array = gather(Config.OBJTYPE_PICKUP_HEALTH); var _local8:Array = gather(Config.OBJTYPE_PICKUP_MAGIC); var _local9:Array = gather(Config.OBJTYPE_PICKUP_GEM); if (_local1.length > 0){ _local10 = 0; while (_local10 < _local1.length) { _local11 = _local1[_local10]; if (_local3.length > 0){ _local12 = 0; while (_local12 < _local3.length) { _local13 = _local3[_local12]; if (((_local11.hitTest(_local13)) && (!(_local11.invincible)))){ _local14 = (Math.random() <= Profile.instance.criticalRate); _local15 = (_local14) ? 3 : 1; _local11.spawnDamageParticle((_local13.damage * _local15)); if (_local14){ Profile.instance.tempGameData.levelTrack.criticals++; Profile.instance.criticals++; _local11.spawnCritSign(); }; if (chainTick > 0){ chainCount++; play.chainBar.show(); switch (chainCount){ case 100: chainCount = (chainCount * 2); play.chainMultiply.show(2); break; case 500: chainCount = (chainCount * 3); play.chainMultiply.show(3); break; case 3200: chainCount = (chainCount * 4); play.chainMultiply.show(4); break; case 26000: chainCount = (chainCount * 5); play.chainMultiply.show(5); break; }; }; chainTick = (Config.CHAIN_TICK + CharmsData.instance.chainTime); switch (_local11.id){ case Config.ID_BOSS01C: case Config.ID_BOSS02B: case Config.ID_BOSS03B: case Config.ID_BOSS04B: case Config.ID_BOSS05B: case Config.ID_BOSS06C: case Config.ID_MINIBOSS05: case Config.ID_MINIBOSS06: _local11.elapsed = Math.floor((tickElapsed / Config.STAGE_FPS)); break; }; Profile.instance.tempGameData.levelTrack.hits++; Profile.instance.enemyHits++; _local11.applyHit((_local13.damage * _local15)); _local13.remove(); }; _local12++; }; }; if (_local4.length > 0){ _local16 = 0; while (_local16 < _local4.length) { _local17 = _local4[_local16]; if (((_local11.hitTest(_local17)) && (!(_local11.invincible)))){ _local11.applyHit(_local17.damage); }; _local16++; }; }; if (((((!((hero == null))) && (_local11.hitTest(hero)))) && (_local11.kamikaze))){ Profile.instance.hits++; cancelChain(); hero.applyHit(_local11.damage); }; _local10++; }; }; if ((((_local2.length > 0)) && (!((hero == null))))){ _local18 = 0; while (_local18 < _local2.length) { _local19 = _local2[_local18]; if (((((!((hero == null))) && (hero.hitTest(_local19)))) && (!(hero.isInvincible)))){ _local20 = (Math.random() <= Profile.instance.dodgeRate); if (!_local20){ hero.spawnDamageParticle(_local19.damage); Profile.instance.hits++; hero.applyHit(_local19.damage); } else { Profile.instance.tempGameData.levelTrack.misses++; Profile.instance.misses++; hero.spawnMissSign(); }; cancelChain(); _local19.remove(); }; if (_local4.length > 0){ _local21 = 0; while (_local21 < _local4.length) { _local22 = _local4[_local21]; if (_local19.hitTest(_local22)){ _local19.remove(); }; _local21++; }; }; if (((((!((hero == null))) && (hero.secondHitTest(_local19)))) && (!(hero.isInvincible)))){ if (Profile.instance.tempGameData.grazings == null){ Profile.instance.tempGameData.grazings = new Dictionary(true); }; if (Profile.instance.tempGameData.grazings[_local19] == null){ Profile.instance.tempGameData.grazings[_local19] = 1; Profile.instance.tempGameData.levelTrack.grazings++; Profile.instance.grazings++; Profile.instance.tempGameData.levelTrack.score = (Profile.instance.tempGameData.levelTrack.score + 10); Profile.instance.score = (Profile.instance.score + 10); }; }; if (_local19.destroyWithMaster){ _local23 = Profile.instance.tempGameData.enemies; if (((!((_local23 == null))) && ((_local23.length > 0)))){ _local24 = (_local23.length - 1); while (_local24 > 0) { _local25 = (_local23[_local24] as Enemy); if (_local25 === (_local19.master as Enemy)){ if (ObjectFactory(factory).coinPool.wasteCount > 0){ factory.add(new PlayObjectSetup(Config.ID_COIN, _local19.position.clone())); }; _local19.remove(); }; _local24--; }; }; }; _local18++; }; }; if ((((_local5.length > 0)) && (!((hero == null))))){ _local26 = 0; while (_local26 < _local5.length) { _local27 = _local5[_local26]; if (((!((hero == null))) && (hero.secondHitTest(_local27)))){ Sounds.instance.playFX(Config.ASSET_SFX_PICKUPGOLD); Profile.instance.dropsCollect++; Profile.instance.gold = (Profile.instance.gold + _local27.value); Profile.instance.tempGameData.levelTrack.score = (Profile.instance.tempGameData.levelTrack.score + 5); Profile.instance.score = (Profile.instance.score + 5); remove(_local27); }; _local26++; }; }; if ((((_local6.length > 0)) && (!((hero == null))))){ _local28 = 0; while (_local28 < _local6.length) { _local29 = _local6[_local28]; if (((!((hero == null))) && (hero.secondHitTest(_local29)))){ Sounds.instance.playFX(Config.ASSET_SFX_PICKUPGOLD); Profile.instance.dropsCollect++; Profile.instance.gold = (Profile.instance.gold + _local29.value); Profile.instance.tempGameData.levelTrack.score = (Profile.instance.tempGameData.levelTrack.score + 5); Profile.instance.score = (Profile.instance.score + 5); ObjectFactory(factory).removeCoin(_local29); }; _local28++; }; }; if ((((_local7.length > 0)) && (!((hero == null))))){ _local30 = 0; while (_local30 < _local7.length) { _local31 = _local7[_local30]; if (((!((hero == null))) && (hero.secondHitTest(_local31)))){ Sounds.instance.playFX(Config.ASSET_SFX_PICKUPHEALTHMAGIC); Profile.instance.dropsCollect++; hero.applyHealth(_local31.value); remove(_local31); }; _local30++; }; }; if ((((_local8.length > 0)) && (!((hero == null))))){ _local32 = 0; while (_local32 < _local8.length) { _local33 = _local8[_local32]; if (((!((hero == null))) && (hero.secondHitTest(_local33)))){ Sounds.instance.playFX(Config.ASSET_SFX_PICKUPHEALTHMAGIC); Profile.instance.dropsCollect++; hero.applyMagic(_local33.value); remove(_local33); }; _local32++; }; }; if ((((_local9.length > 0)) && (!((hero == null))))){ _local34 = 0; while (_local34 < _local9.length) { _local35 = _local9[_local34]; if (((!((hero == null))) && (hero.secondHitTest(_local35)))){ Sounds.instance.playFX(Config.ASSET_SFX_PICKUPGEM); Profile.instance.dropsCollect++; switch (_local35.value){ case 1: Profile.instance.gem1 = true; break; case 2: Profile.instance.gem2 = true; break; case 3: Profile.instance.gem3 = true; break; case 4: Profile.instance.gem4 = true; break; case 5: Profile.instance.gem5 = true; break; case 6: Profile.instance.gem6 = true; break; case 7: Profile.instance.gem7 = true; break; case 8: Profile.instance.gem8 = true; break; }; remove(_local35); }; _local34++; }; }; } override protected function preUpdate():void{ var _local3:int; var _local4:Enemy; var _local5:int; var _local6:Projectile; var _local7:Array; var _local1:Array = gather(Config.OBJTYPE_ENEMY); var _local2:Array = gather(Config.OBJTYPE_HERO_SUPERPROJECTILE); if (chainTick > 0){ chainTick--; play.chainBar.update(chainCount, chainTick); } else { if ((((chainTick == 0)) && (play.chainBar.isShow))){ cancelChain(); }; }; if ((((_local1.length > 0)) && (!((hero == null))))){ _local3 = 0; while (_local3 < _local1.length) { _local4 = _local1[_local3]; if (_local4.hasWeaponTargetting){ _local4.targetHero(((hero)==null) ? null : hero.position); }; _local3++; }; }; if ((((((_local2.length > 0)) && ((_local1.length > 0)))) && (!((hero == null))))){ _local5 = 0; while (_local5 < _local2.length) { _local6 = _local2[_local5]; if (((_local6.seek) && ((_local6.target == null)))){ _local7 = ArrayUtil.shuffle(_local1); _local6.target = (_local7[0] as Actor); }; _local5++; }; }; } private function cancelChain():void{ SWFConsole.output((" [CHAIN] Canceling... last count: " + chainCount)); Profile.instance.tempGameData.levelTrack.chains = (Profile.instance.tempGameData.levelTrack.chains + chainCount); Profile.instance.chains = (Profile.instance.chains + chainCount); SWFConsole.output((" [CHAIN] temp level: " + Profile.instance.tempGameData.levelTrack.chains)); SWFConsole.output((" [CHAIN] total: " + Profile.instance.chains)); var _local1:int = ((chainCount % Config.SCORE_CHAIN_MOD) * 500); Profile.instance.tempGameData.levelTrack.score = (Profile.instance.tempGameData.levelTrack.score + _local1); Profile.instance.score = (Profile.instance.score + _local1); chainTick = 0; chainCount = 0; play.chainBar.hide(); } public function applyInputs(_arg1:Boolean, _arg2:Point):void{ if (hero != null){ if (_arg1){ hero.shoot(); }; hero.target = _arg2; }; } public function set elapsed(_arg1:int):void{ tickElapsed = _arg1; } public function get hero():Hero{ return ((find(Config.OBJTYPE_HERO) as Hero)); } } }//package game.logics
Section 275
//Pickup (game.logics.Pickup) package game.logics { import flash.geom.*; import com.soybeansoft.play.blit.*; import game.*; public class Pickup extends PlayObject { protected var gravity:Number; public function Pickup(_arg1:Point, _arg2:ObjectFactory){ super(_arg1, _arg2); gravity = 0; } public function get value():int{ return (0); } protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); if ((((((((position.x > (_local1.right + face.frame.width))) || ((position.x < (_local1.left - face.frame.width))))) || ((position.y > (_local1.bottom + face.frame.height))))) || ((position.y < (_local1.top - face.frame.height))))){ return (true); }; return (false); } override public function update():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); vector.y = (vector.y + gravity); face.nextFrame(); if (isOutOfBound()){ Profile.instance.dropsMissed++; factory.remove(this); }; } override public function get type():String{ return (Config.OBJTYPE_PICKUP); } } }//package game.logics
Section 276
//Projectile (game.logics.Projectile) package game.logics { import flash.geom.*; import com.soybeansoft.play.blit.*; import game.*; import com.soybeansoft.util.*; import flash.errors.*; public class Projectile extends PlayObject { public var target:Actor; protected var actor:Actor; public function Projectile(_arg1:Point, _arg2:Point, _arg3:ObjectFactory, _arg4:Actor){ super(_arg1, _arg3); speed = pspeed; this.vector = _arg2; this.actor = _arg4; } override public function get type():String{ return (Config.OBJTYPE_ENEMY_PROJECTILE); } protected function isOutOfBound():Boolean{ var _local1:Rectangle = new Rectangle(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); if ((((((((position.x > (_local1.right + face.frame.width))) || ((position.x < (_local1.left - face.frame.width))))) || ((position.y > (_local1.bottom + face.frame.height))))) || ((position.y < (_local1.top - face.frame.height))))){ return (true); }; return (false); } public function remove():void{ factory.remove(this); } public function get master():Actor{ return (actor); } public function get angle():int{ return (MathUtil.rad2deg(MathUtil.correctRadians(MathUtil.convertVectorToRadians(vector)))); } public function get damage():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function update():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); if (isOutOfBound()){ remove(); }; face.nextFrame(); } protected function get pspeed():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get seek():Boolean{ return (false); } public function get destroyWithMaster():Boolean{ return (true); } } }//package game.logics
Section 277
//TextParticleSetup (game.logics.TextParticleSetup) package game.logics { import flash.geom.*; import com.soybeansoft.play.blit.*; public class TextParticleSetup extends PlayObjectSetup { public var moveLeft:Boolean; public var value:int; public function TextParticleSetup(_arg1:int, _arg2:Point, _arg3:int, _arg4:Boolean=false){ super(_arg1, _arg2); this.value = _arg3; this.moveLeft = _arg4; } } }//package game.logics
Section 278
//Token (game.logics.Token) package game.logics { import flash.display.*; import game.*; import com.soybeansoft.util.*; public class Token extends Item { protected var emptyFrame:int; protected var takenFrame:int; public static const TYPE_AWARD:String = "type award"; public static const TYPE_GEM:String = "type gem"; override public function get icon():Bitmap{ bitmapClip = new BitmapClips(Config.ASSET_AWARDS, 24, 24); return (bitmapClip.bitmap); } public function get type():String{ return (TYPE_AWARD); } public function get taken():Boolean{ return (false); } } }//package game.logics
Section 279
//Weapon (game.logics.Weapon) package game.logics { import flash.geom.*; import com.soybeansoft.util.*; import flash.errors.*; public class Weapon { protected var isSpinning:Boolean; protected var nozzle:Nozzle; protected var hasAquiredTarget:Boolean; public var factory:ObjectFactory; protected var heatup:int; protected var isOverheat:Boolean; protected var target:Point; protected var tick:int; protected var actor:Actor; protected var angleIndex:int; public function Weapon(_arg1:ObjectFactory, _arg2:Actor, _arg3:Point){ this.factory = _arg1; this.actor = _arg2; nozzle = new Nozzle(_arg3); isSpinning = false; hasAquiredTarget = false; heatup = 0; isOverheat = false; } protected function get interval():Number{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get isTargetting():Boolean{ return (false); } final public function update():void{ if (heatThreshold > 0){ if ((((heatup < heatThreshold)) && (!(isOverheat)))){ if (tick > 0){ tick--; } else { tick = 0; }; } else { if ((((heatup >= heatThreshold)) && (!(isOverheat)))){ isOverheat = true; heatup = coolDown; idle(); } else { if ((((heatup > 0)) && (isOverheat))){ heatup--; } else { if ((((heatup <= 0)) && (isOverheat))){ heatup = 0; isOverheat = false; }; }; }; }; } else { if (tick > 0){ tick--; } else { tick = 0; }; }; } protected function get coolDown():int{ return (1); } final public function setTarget(_arg1:Point):void{ target = ((_arg1)==null) ? null : _arg1.clone(); } protected function idle():void{ tick = interval; hasAquiredTarget = false; } public function shoot(_arg1:Point):void{ var _local2:Point; var _local3:Point; var _local4:Array; var _local5:int; var _local6:Number; var _local7:Number; if (tick == 0){ _local2 = _arg1.clone().add(nozzle.position); if (((((isTargetting) && (!(hasAquiredTarget)))) && (!((target == null))))){ nozzle.updateAngle(MathUtil.rad2deg(Math.atan2((target.y - _arg1.y), (target.x - _arg1.x)))); hasAquiredTarget = true; } else { if (((((isTargetting) && (hasAquiredTarget))) && ((target == null)))){ nozzle.updateAngle(0); hasAquiredTarget = false; }; }; _local4 = nozzle.angles(); if (!isSpinning){ _local5 = 0; while (_local5 < _local4.length) { _local6 = MathUtil.correctRadians(MathUtil.deg2rad(_local4[_local5])); _local3 = new Point(Math.cos(_local6), Math.sin(_local6)); factory.addProjectile(arm(), _local2, _local3, actor); _local5++; }; idle(); } else { _local7 = MathUtil.correctRadians(MathUtil.deg2rad(_local4[angleIndex])); _local3 = new Point(Math.cos(_local7), Math.sin(_local7)); _local3 = new Point(Math.cos(_local7), Math.sin(_local7)); factory.addProjectile(arm(), _local2, _local3, actor); angleIndex++; if (angleIndex == _local4.length){ angleIndex = 0; }; idle(); }; if (heatThreshold > 0){ heatup++; }; }; } protected function arm():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function addMuzzle(_arg1:Point, _arg2:Number):void{ } protected function get heatThreshold():int{ return (-1); } } }//package game.logics
Section 280
//HighScore (game.screens.dialogs.HighScore) package game.screens.dialogs { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.manager.*; import flash.net.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import game.screens.widgets.*; import com.soybeansoft.util.*; import org.bytearray.display.*; import com.adobe.crypto.*; import flash.filters.*; import flash.system.*; public class HighScore extends Dialog { private var sentGroup:Sprite; private var closeButton:ScaleBitmapButton; private var entries:Array; private var frameGroup:Sprite; private var showScoresButton:ScaleBitmapButton; private var title:Label; private var progressGroup:Sprite; private var progressClip:BitmapClips; private var loadLoader:URLLoader; private var sentStatus:Label; private var progress:Label; private var background:Sprite; private var status:String; private var entryGroup:Sprite; private var okButton:ScaleBitmapButton; private var showAllScoresButton:ScaleBitmapButton; private var sendLoader:URLLoader; private var frame:ScaleBitmap; private static const STATUS_ENTRIES:String = "entries"; private static const STATUS_SENT:String = "sent"; public static const name:String = "highscore"; private static const STATUS_SENDING:String = "sending"; private static const STATUS_LOADING:String = "loading"; public function HighScore(_arg1:App, _arg2:Sprite, _arg3:Function){ var _local10:HighScoreEntry; super(_arg1, _arg2, _arg3); var _local4:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local5:LabelStyle = new LabelStyle().clone(_local4).setAlign(LabelStyle.ALIGN_CENTER); var _local6:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(40).setColor(0xF2CE00).setFilter([new BevelFilter(1, 45, 0xFFFFFF, 0.7, 0xB99400, 0.8, 0, 0, 10), new GlowFilter(0xBE0000, 1, 8, 8, 14), new BevelFilter(1, 45, 0xFFFFFF, 0.4, 0x8C0000, 1, 0, 0, 14), new DropShadowFilter(2, 45, 0x666666, 0.25, 0, 0, 10)]); background = new Sprite(); background.graphics.beginFill(0, 0.8); background.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); title = new Label(Words.HIGHSCORE_TITLE, _local6); title.element.width = 640; title.element.height = 56; title.element.y = 24; frameGroup = new Sprite(); var _local7:BitmapData = new BitmapData(24, 24); _local7.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(72, 0, 24, 24), new Point()); frame = new ScaleBitmap(_local7); frame.scale9Grid = new Rectangle(8, 8, 8, 8); frame.width = 320; frame.height = 320; entryGroup = new Sprite(); entries = []; var _local8:Sprite = new Sprite(); var _local9:int; while (_local9 < 10) { _local10 = new HighScoreEntry(); entries.push(_local10); _local10.sprite.y = (_local9 * (_local10.sprite.height + 2)); _local8.addChild(_local10.sprite); _local9++; }; _local8.x = 16; _local8.y = 16; entryGroup.addChild(_local8); closeButton = new ScaleBitmapButton(Words.COMMON_EXIT, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); closeButton.buttonLabelStyle = _local5; closeButton.addSound(Config.ASSET_SFX_CLICK); closeButton.width = (frame.width - 32); closeButton.height = 32; closeButton.x = 16; closeButton.y = ((frame.height - closeButton.height) - 16); showAllScoresButton = new ScaleBitmapButton(Words.HIGHSCORE_SHOWALLSCORE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); showAllScoresButton.buttonLabelStyle = _local5; showAllScoresButton.addSound(Config.ASSET_SFX_CLICK); showAllScoresButton.width = (frame.width - 32); showAllScoresButton.height = 32; showAllScoresButton.x = 16; showAllScoresButton.y = ((closeButton.y - showAllScoresButton.height) - 2); entryGroup.addChild(closeButton); entryGroup.addChild(showAllScoresButton); sentGroup = new Sprite(); sentStatus = new Label(Words.HIGHSCORE_SENT, _local5); sentStatus.element.width = frame.width; sentStatus.element.y = ((((frame.height - sentStatus.element.height) * 0.5) - 32) - 32); okButton = new ScaleBitmapButton(Words.COMMON_OK, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); okButton.buttonLabelStyle = _local5; okButton.addSound(Config.ASSET_SFX_CLICK); okButton.width = (frame.width - 32); okButton.height = 32; okButton.x = 16; okButton.y = ((frame.height - okButton.height) - 16); showScoresButton = new ScaleBitmapButton(Words.HIGHSCORE_SHOWSCORE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); showScoresButton.buttonLabelStyle = _local5; showScoresButton.addSound(Config.ASSET_SFX_CLICK); showScoresButton.width = (frame.width - 32); showScoresButton.height = 32; showScoresButton.x = 16; showScoresButton.y = ((okButton.y - showScoresButton.height) - 8); sentGroup.addChild(sentStatus.element); sentGroup.addChild(okButton); sentGroup.addChild(showScoresButton); progressGroup = new Sprite(); progress = new Label(Words.HIGHSCORE_SENDING, _local5); progress.element.width = frame.width; progressClip = new BitmapClips(Config.ASSET_SUPERBULLET_HEROPALADIN, 32, 32); progressClip.delay = 2; progressClip.bitmap.x = ((frame.width - progressClip.bitmap.width) * 0.5); progressClip.bitmap.y = (progress.element.height + 8); progressGroup.addChild(progress.element); progressGroup.addChild(progressClip.bitmap); progressGroup.y = ((frame.height - progressGroup.height) * 0.5); frameGroup.addChild(frame); frameGroup.x = ((background.width - frameGroup.width) * 0.5); frameGroup.y = ((background.height - frameGroup.height) * 0.5); container.addChild(background); container.addChild(frameGroup); container.addChild(title.element); } private function startLoading():void{ Security.allowDomain("*"); Security.loadPolicyFile("http://hiscore.gamesfree.com/crossdomain.xml"); var _local1 = 1; var _local2:URLRequest = new URLRequest("http://hiscore.gamesfree.com/skyfire_get.php"); _local2.data = ("m=" + _local1); _local2.method = URLRequestMethod.POST; loadLoader = new URLLoader(); loadLoader.dataFormat = URLLoaderDataFormat.VARIABLES; loadLoader.addEventListener(Event.COMPLETE, onLoadComplete); loadLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoadIOError); loadLoader.load(_local2); } private function onLoadIOError(_arg1:IOErrorEvent):void{ trace("IO ERROR"); } private function startSending():void{ var _local1:URLVariables = new URLVariables(); _local1.n = Profile.instance.name; _local1.s = Profile.instance.score; _local1.k = MD5.hash(("" + (Profile.instance.score + 1518))); _local1.m = 1; var _local2:URLRequest = new URLRequest("http://hiscore.gamesfree.com/skyfire_submit.php"); _local2.method = "POST"; _local2.data = _local1; sendLoader = new URLLoader(_local2); sendLoader.addEventListener(Event.COMPLETE, onSendComplete); } private function onClickShow():void{ status = STATUS_LOADING; displayContent(); } override public function releaseInputs():void{ okButton.click = null; showScoresButton.click = null; showAllScoresButton.click = null; closeButton.click = null; } private function onClickOK():void{ close(); } override public function captureInputs():void{ okButton.click = onClickOK; showScoresButton.click = onClickShow; showAllScoresButton.click = onClickShowAll; closeButton.click = close; } override public function open():void{ super.open(); captureInputs(); } private function onClickShowAll():void{ navigateToURL(new URLRequest("http://hiscore.gamesfree.com/skyfire.php"), "_blank"); } private function displayContent():void{ if (frameGroup.numChildren == 2){ frameGroup.removeChildAt(1); }; if (status == STATUS_SENDING){ progress.update(Words.HIGHSCORE_SENDING); progressClip.play(); frameGroup.addChild(progressGroup); startSending(); } else { if (status == STATUS_LOADING){ progress.update(Words.HIGHSCORE_LOADING); progressClip.play(); frameGroup.addChild(progressGroup); startLoading(); } else { if (status == STATUS_SENT){ frameGroup.addChild(sentGroup); } else { if (status == STATUS_ENTRIES){ frameGroup.addChild(entryGroup); }; }; }; }; } override public function init(_arg1:Object):void{ if (((!((_arg1 == null))) && ((_arg1.status == "sending")))){ status = STATUS_SENDING; } else { status = STATUS_LOADING; }; progressClip.stop(); displayContent(); } private function onSendComplete(_arg1:Event):void{ sendLoader.removeEventListener(Event.COMPLETE, onSendComplete); status = STATUS_SENT; displayContent(); } override public function close():void{ releaseInputs(); super.close(); } private function onLoadComplete(_arg1:Event):void{ var _local4:int; var _local5:HighScoreEntry; loadLoader.removeEventListener(Event.COMPLETE, onLoadComplete); loadLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoadIOError); var _local2:URLLoader = URLLoader(_arg1.target); var _local3:int; while (_local3 < entries.length) { _local4 = (_local3 + 1); _local5 = entries[_local3]; _local5.init(_local2.data[("name" + _local4)], _local2.data[("score" + _local4)]); _local3++; }; status = STATUS_ENTRIES; displayContent(); } } }//package game.screens.dialogs
Section 281
//OperatorMessage (game.screens.dialogs.OperatorMessage) package game.screens.dialogs { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import gs.*; import org.bytearray.display.*; import easing.*; import flash.ui.*; public class OperatorMessage extends Dialog { private var currentMessageIndex:int; private var endTutorialCallback:Function; private var messages:Array; private var frame:ScaleBitmap; private var messageLabel:Label; private var hiddenSheet:Sprite; private var operatorImage:Bitmap; private var group:Sprite; public static const name:String = "operator"; public function OperatorMessage(_arg1:App, _arg2:Sprite, _arg3:Function, _arg4:Function){ super(_arg1, _arg2, _arg3); this.endTutorialCallback = _arg4; var _local5:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); group = new Sprite(); var _local6:BitmapData = new BitmapData(24, 24, true, 0xFFFFFF); _local6.copyPixels(Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2)).bitmapData.clone(), new Rectangle(48, 0, 24, 24), new Point()); frame = new ScaleBitmap(_local6); frame.scale9Grid = new Rectangle(8, 8, 8, 8); frame.width = 624; frame.height = 88; operatorImage = new Bitmap(Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_OPERATOR)).bitmapData.clone()); operatorImage.x = 12; operatorImage.y = 12; messageLabel = new Label("", _local5); messageLabel.element.width = (((frame.width - 32) - operatorImage.width) - 8); messageLabel.element.x = ((operatorImage.x + operatorImage.width) + 8); messageLabel.element.y = 12; group.x = 8; group.y = ((Config.STAGE_HEIGHT - frame.height) - 8); group.addChild(frame); group.addChild(operatorImage); group.addChild(messageLabel.element); hiddenSheet = new Sprite(); hiddenSheet.graphics.beginFill(0, 0); hiddenSheet.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); hiddenSheet.mouseEnabled = true; container.addChild(hiddenSheet); container.addChild(group); } private function onEscape():void{ Profile.instance.showTutorial = false; releaseInputs(); parent.removeChild(container); endTutorialCallback(); } private function onClick():void{ if (currentMessageIndex < (messages.length - 1)){ currentMessageIndex++; updateLabel(); } else { releaseInputs(); TweenLite.to(group, 0.5, {y:Config.STAGE_HEIGHT, ease:Back.easeIn, onComplete:close}); }; } private function updateLabel():void{ messageLabel.update((messages[currentMessageIndex] + Words.OPERATOR_TEXT_APPEND)); } override public function captureInputs():void{ app.registerMouse(App.CLICK, onClick); app.registerKey(App.DOWN, Keyboard.ESCAPE, onEscape); } override public function init(_arg1:Object):void{ messages = _arg1.texts; currentMessageIndex = 0; updateLabel(); group.y = Config.STAGE_HEIGHT; } override public function open():void{ super.open(); TweenLite.to(group, 0.5, {y:((Config.STAGE_HEIGHT - frame.height) - 8), ease:Back.easeOut, onComplete:captureInputs}); } override public function releaseInputs():void{ app.unregisterMouse(App.CLICK, onClick); app.unregisterKey(App.DOWN, Keyboard.ESCAPE, onEscape); } } }//package game.screens.dialogs
Section 282
//Pause (game.screens.dialogs.Pause) package game.screens.dialogs { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import gs.*; import org.bytearray.display.*; import easing.*; import flash.filters.*; public class Pause extends Dialog { private var endCallback:Function; private var quitButton:ScaleBitmapButton; private var box:ScaleBitmap; private var cancelButton:ScaleBitmapButton; private var contentLabel:Label; private var titleLabel:Label; public static const name:String = "pause"; public function Pause(_arg1:App, _arg2:Sprite, _arg3:Function, _arg4:Function){ super(_arg1, _arg2, _arg3); this.endCallback = _arg4; var _local5:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local6:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(40).setColor(16777164).setFilter([new BevelFilter(1, 45, 0xFFFFFF, 1, 0xB66D00, 0.7, 0, 0, 10), new GlowFilter(15446067, 1, 10, 10, 20), new BevelFilter(1, 45, 0xFFFFFF, 0.4, 0xB66D00, 1, 0, 0, 10), new DropShadowFilter(4, 45, 0x666666, 0.25, 0, 0, 10)]); var _local7:BitmapData = Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData; var _local8:BitmapData = new BitmapData(24, 24, true, 0xFFFFFF); _local8.copyPixels(_local7, new Rectangle(48, 0, 24, 24), new Point()); box = new ScaleBitmap(_local8); box.scale9Grid = new Rectangle(8, 8, 8, 8); box.width = 0x0100; box.height = 0x0100; titleLabel = new Label(Words.PAUSE_TITLE, _local6); titleLabel.element.width = box.width; titleLabel.element.height = 44; titleLabel.element.y = 32; contentLabel = new Label(Words.PAUSE_CONTENT, _local5); contentLabel.element.width = (box.width - 64); contentLabel.element.height = 48; contentLabel.element.x = 32; contentLabel.element.y = ((titleLabel.element.y + titleLabel.element.height) + 24); quitButton = new ScaleBitmapButton(Words.COMMON_QUIT, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); quitButton.buttonLabelStyle = _local5; quitButton.addSound(Config.ASSET_SFX_CLICK); quitButton.width = (0x0100 - 64); quitButton.height = 32; quitButton.x = 32; quitButton.y = ((box.height - quitButton.height) - 32); cancelButton = new ScaleBitmapButton(Words.COMMON_RESUME, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); cancelButton.buttonLabelStyle = _local5; cancelButton.addSound(Config.ASSET_SFX_CLICK); cancelButton.width = (0x0100 - 64); cancelButton.height = 32; cancelButton.x = 32; cancelButton.y = ((quitButton.y - cancelButton.height) - 4); container.addChild(box); container.addChild(titleLabel.element); container.addChild(contentLabel.element); container.addChild(cancelButton); container.addChild(quitButton); } private function onPressEscape():void{ releaseInputs(); TweenLite.to(container, 0.5, {y:Config.STAGE_HEIGHT, ease:Back.easeIn, onComplete:close}); } override public function open():void{ container.x = ((Config.STAGE_WIDTH - container.width) * 0.5); container.y = -(container.height); super.open(); if (Profile.instance.currentLevel == 0){ quitButton.lock(); } else { quitButton.unlock(); }; TweenLite.to(container, 0.5, {y:((Config.STAGE_HEIGHT - container.height) * 0.5), ease:Back.easeOut, onComplete:captureInputs}); } override public function captureInputs():void{ app.registerKey(App.DOWN, Config.KEY_ESC, onPressEscape); cancelButton.click = onPressEscape; quitButton.click = onPressQuit; } override public function releaseInputs():void{ app.unregisterKey(App.DOWN, Config.KEY_ESC, onPressEscape); cancelButton.click = null; quitButton.click = null; } private function onPressQuit():void{ parent.removeChild(container); endCallback(); } } }//package game.screens.dialogs
Section 283
//SelectCharacter (game.screens.dialogs.SelectCharacter) package game.screens.dialogs { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import com.soybeansoft.util.*; import org.bytearray.display.*; public class SelectCharacter extends Dialog { private var selectedCallback:Function; private var hero01Button:ScaleBitmapButton; private var hero02Button:ScaleBitmapButton; private var hero03Button:ScaleBitmapButton; private var hero04Button:ScaleBitmapButton; private var frameGroup:Sprite; private var hero01Sprite:BitmapMovie; private var hero02Sprite:BitmapMovie; private var hero03Sprite:BitmapMovie; private var hero04Sprite:BitmapMovie; private var frame:ScaleBitmap; private var background:Sprite; private var description:Label; public static const name:String = "select character"; public function SelectCharacter(_arg1:App, _arg2:Sprite, _arg3:Function, _arg4:Function){ super(_arg1, _arg2, _arg3); this.selectedCallback = _arg4; var _local5:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local6:LabelStyle = new LabelStyle().clone(_local5).setAlign(LabelStyle.ALIGN_CENTER); background = new Sprite(); background.graphics.beginFill(0, 0.8); background.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); frameGroup = new Sprite(); var _local7:BitmapData = new BitmapData(24, 24); _local7.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(72, 0, 24, 24), new Point()); frame = new ScaleBitmap(_local7); frame.scale9Grid = new Rectangle(8, 8, 8, 8); frame.width = (((96 * 4) + (8 * 3)) + (16 * 2)); frame.height = 136; hero01Button = new ScaleBitmapButton(Words.SELECT_CHAR_NAME_01, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); hero02Button = new ScaleBitmapButton(Words.SELECT_CHAR_NAME_02, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); hero03Button = new ScaleBitmapButton(Words.SELECT_CHAR_NAME_03, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); hero04Button = new ScaleBitmapButton(Words.SELECT_CHAR_NAME_04, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); hero01Button.buttonLabelStyle = (hero02Button.buttonLabelStyle = (hero03Button.buttonLabelStyle = (hero04Button.buttonLabelStyle = _local6))); hero01Button.addSound(Config.ASSET_SFX_CLICK); hero02Button.addSound(Config.ASSET_SFX_CLICK); hero03Button.addSound(Config.ASSET_SFX_CLICK); hero04Button.addSound(Config.ASSET_SFX_CLICK); hero01Button.width = (hero02Button.width = (hero03Button.width = (hero04Button.width = 96))); hero01Button.height = (hero02Button.height = (hero03Button.height = (hero04Button.height = 32))); hero01Button.x = 16; hero02Button.x = ((hero01Button.x + hero01Button.width) + 8); hero03Button.x = ((hero02Button.x + hero02Button.width) + 8); hero04Button.x = ((hero03Button.x + hero03Button.width) + 8); hero01Button.y = (hero02Button.y = (hero03Button.y = (hero04Button.y = ((frame.height - hero01Button.height) - 16)))); var _local8:BitmapData = new BitmapData(320, 64); _local8.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_WARRIOR).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); hero01Sprite = new BitmapMovie(_local8, 64, 64); var _local9:BitmapData = new BitmapData(320, 64); _local9.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_HUNTER).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); hero02Sprite = new BitmapMovie(_local9, 64, 64); var _local10:BitmapData = new BitmapData(320, 64); _local10.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_KNIGHT).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); hero03Sprite = new BitmapMovie(_local10, 64, 64); var _local11:BitmapData = new BitmapData(320, 64); _local11.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_PALADIN).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); hero04Sprite = new BitmapMovie(_local11, 64, 64); hero01Sprite.x = 32; hero02Sprite.x = ((hero01Sprite.x + hero01Sprite.width) + 40); hero03Sprite.x = ((hero02Sprite.x + hero02Sprite.width) + 40); hero04Sprite.x = ((hero03Sprite.x + hero03Sprite.width) + 40); hero01Sprite.y = (hero02Sprite.y = (hero03Sprite.y = (hero04Sprite.y = 16))); description = new Label("", _local5); description.element.width = frame.width; description.element.height = 64; description.element.x = 0; description.element.y = (frame.height + 16); frameGroup.addChild(frame); frameGroup.addChild(hero01Button); frameGroup.addChild(hero02Button); frameGroup.addChild(hero03Button); frameGroup.addChild(hero04Button); frameGroup.addChild(hero01Sprite); frameGroup.addChild(hero02Sprite); frameGroup.addChild(hero03Sprite); frameGroup.addChild(hero04Sprite); frameGroup.addChild(description.element); frameGroup.x = ((background.width - frameGroup.width) * 0.5); frameGroup.y = ((background.height - frameGroup.height) * 0.5); container.addChild(background); container.addChild(frameGroup); } private function onClickHero02():void{ selectedCallback(2); releaseInputs(); close(); } override public function open():void{ super.open(); captureInputs(); } private function onClickHero01():void{ selectedCallback(1); releaseInputs(); close(); } private function onClickHero03():void{ selectedCallback(3); releaseInputs(); close(); } override public function captureInputs():void{ hero01Button.mouseover = onOverHero01; hero02Button.mouseover = onOverHero02; hero03Button.mouseover = onOverHero03; hero04Button.mouseover = onOverHero04; hero01Button.mouseout = onOutButtons; hero02Button.mouseout = onOutButtons; hero03Button.mouseout = onOutButtons; hero04Button.mouseout = onOutButtons; hero01Button.click = onClickHero01; hero02Button.click = onClickHero02; hero03Button.click = onClickHero03; hero04Button.click = onClickHero04; } override public function releaseInputs():void{ onOutButtons(); hero01Button.mouseover = null; hero02Button.mouseover = null; hero03Button.mouseover = null; hero04Button.mouseover = null; hero01Button.mouseout = null; hero02Button.mouseout = null; hero03Button.mouseout = null; hero04Button.mouseout = null; hero01Button.click = null; hero02Button.click = null; hero03Button.click = null; hero04Button.click = null; } private function onOutButtons():void{ hero01Sprite.stop(); hero02Sprite.stop(); hero03Sprite.stop(); hero04Sprite.stop(); description.update(""); } private function onClickHero04():void{ selectedCallback(4); releaseInputs(); close(); } private function onOverHero02():void{ hero02Sprite.play(2); description.update(Words.SELECT_CHAR_DESC_02); } private function onOverHero03():void{ hero03Sprite.play(2); description.update(Words.SELECT_CHAR_DESC_03); } private function onOverHero04():void{ hero04Sprite.play(2); description.update(Words.SELECT_CHAR_DESC_04); } private function onOverHero01():void{ hero01Sprite.play(2); description.update(Words.SELECT_CHAR_DESC_01); } } }//package game.screens.dialogs
Section 284
//Character (game.screens.widgets.groups.Character) package game.screens.widgets.groups { import flash.display.*; import flash.events.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.logics.*; import game.*; import game.screens.widgets.*; import game.logics.tokens.*; public class Character extends Group { private var statLabel:Label; private var bonusPointLabel:Label; private var statGroup:Sprite; private var AGIValueLabel:Label; private var AGILabel:Label; private var addWISButton:ScaleBitmapButton; private var performanceEntriesLabel:Label; private var bonusPointValueLabel:Label; private var STRLabel:Label; private var performanceLabel:Label; private var addSTRButton:ScaleBitmapButton; private var collectsLabel:Label; private var workingStatsLabel:Label; private var performanceGroup:Sprite; private var WISLabel:Label; private var STRValueLabel:Label; private var tokenSlots:Array; private var collectsGroup:Sprite; private var addAGIButton:ScaleBitmapButton; private var WISValueLabel:Label; public function Character(){ var _local7:int; var _local8:int; var _local9:Token; var _local10:TokenSlot; super(); var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local2:LabelStyle = new LabelStyle().clone(_local1).setSize(11).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_STRONG).fontName); statGroup = new Sprite(); statGroup.graphics.beginFill(0, 0.1); statGroup.graphics.drawRoundRect(0, 0, 136, 280, 6); performanceGroup = new Sprite(); performanceGroup.graphics.beginFill(0, 0.1); performanceGroup.graphics.drawRoundRect(0, 0, 136, 280, 6); performanceGroup.x = 144; collectsGroup = new Sprite(); collectsGroup.graphics.beginFill(0, 0.1); collectsGroup.graphics.drawRoundRect(0, 0, 0x0100, 280, 6); collectsGroup.x = 288; statLabel = new Label(Words.LOUNGE_STATS, _local1); performanceLabel = new Label(Words.LOUNGE_PERFORMANCE, _local1); collectsLabel = new Label(Words.LOUNGE_COLLECTS, _local1); statLabel.element.width = 136; statLabel.element.height = 16; performanceLabel.element.width = 136; performanceLabel.element.height = 16; collectsLabel.element.width = 0x0100; collectsLabel.element.height = 16; statLabel.element.y = 4; performanceLabel.element.x = 144; performanceLabel.element.y = 4; collectsLabel.element.x = 288; collectsLabel.element.y = 4; var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0, 0.1); _local3.graphics.drawRoundRect(2, 2, 132, 20, 4, 4); _local3.graphics.drawRoundRect(146, 2, 132, 20, 4, 4); _local3.graphics.drawRoundRect(290, 2, 252, 20, 4, 4); STRLabel = new Label(Words.LOUNGE_STR, _local1); AGILabel = new Label(Words.LOUNGE_AGI, _local1); WISLabel = new Label(Words.LOUNGE_WIS, _local1); STRValueLabel = new Label("0", _local2); AGIValueLabel = new Label("0", _local2); WISValueLabel = new Label("0", _local2); bonusPointLabel = new Label(Words.LOUNGE_BONUSPOINT, _local1.setAlign(LabelStyle.ALIGN_RIGHT)); bonusPointValueLabel = new Label("0", _local2); workingStatsLabel = new Label("", new LabelStyle().clone(_local1).setAlign(LabelStyle.ALIGN_CENTER)); performanceEntriesLabel = new Label("", new LabelStyle().clone(_local1).setAlign(LabelStyle.ALIGN_CENTER).setLeading(8)); addSTRButton = new ScaleBitmapButton(Words.LOUNGE_ADD, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTONSMALL).bitmapData, 12, 12, new Rectangle(4, 4, 4, 4)); addAGIButton = new ScaleBitmapButton(Words.LOUNGE_ADD, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTONSMALL).bitmapData, 12, 12, new Rectangle(4, 4, 4, 4)); addWISButton = new ScaleBitmapButton(Words.LOUNGE_ADD, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTONSMALL).bitmapData, 12, 12, new Rectangle(4, 4, 4, 4)); STRLabel.element.width = (AGILabel.element.width = (WISLabel.element.width = 36)); STRValueLabel.element.width = (AGIValueLabel.element.width = (WISValueLabel.element.width = 48)); STRLabel.element.height = (AGILabel.element.height = (WISLabel.element.height = 16)); STRValueLabel.element.height = (AGIValueLabel.element.height = (WISValueLabel.element.height = 16)); addSTRButton.buttonLabelStyle = _local1; addSTRButton.addSound(Config.ASSET_SFX_CLICK); addSTRButton.width = 36; addSTRButton.height = 16; addAGIButton.buttonLabelStyle = _local1; addAGIButton.addSound(Config.ASSET_SFX_CLICK); addAGIButton.width = 36; addAGIButton.height = 16; addWISButton.buttonLabelStyle = _local1; addWISButton.addSound(Config.ASSET_SFX_CLICK); addWISButton.width = 36; addWISButton.height = 16; bonusPointLabel.element.width = 84; bonusPointLabel.element.height = 16; bonusPointValueLabel.element.width = 36; bonusPointValueLabel.element.height = 16; workingStatsLabel.element.width = 132; workingStatsLabel.element.height = 140; performanceEntriesLabel.element.width = 132; performanceEntriesLabel.element.height = (((280 - 4) - performanceLabel.element.height) - 12); STRLabel.element.x = (statLabel.element.x + 5); STRLabel.element.y = ((statLabel.element.y + statLabel.element.height) + 12); AGILabel.element.x = STRLabel.element.x; AGILabel.element.y = ((STRLabel.element.y + STRLabel.element.height) + 8); WISLabel.element.x = AGILabel.element.x; WISLabel.element.y = ((AGILabel.element.y + AGILabel.element.height) + 8); STRValueLabel.element.x = (STRLabel.element.x + STRLabel.element.width); STRValueLabel.element.y = STRLabel.element.y; AGIValueLabel.element.x = (AGILabel.element.x + AGILabel.element.width); AGIValueLabel.element.y = AGILabel.element.y; WISValueLabel.element.x = (WISLabel.element.x + WISLabel.element.width); WISValueLabel.element.y = WISLabel.element.y; addSTRButton.x = (STRValueLabel.element.x + STRValueLabel.element.width); addSTRButton.y = STRValueLabel.element.y; addAGIButton.x = (AGIValueLabel.element.x + AGIValueLabel.element.width); addAGIButton.y = AGIValueLabel.element.y; addWISButton.x = (WISValueLabel.element.x + WISValueLabel.element.width); addWISButton.y = WISValueLabel.element.y; bonusPointLabel.element.x = STRLabel.element.x; bonusPointLabel.element.y = ((WISLabel.element.y + WISLabel.element.height) + 12); bonusPointValueLabel.element.x = addSTRButton.x; bonusPointValueLabel.element.y = bonusPointLabel.element.y; workingStatsLabel.element.x = 2; workingStatsLabel.element.y = ((bonusPointLabel.element.y + bonusPointLabel.element.height) + 12); performanceEntriesLabel.element.x = 146; performanceEntriesLabel.element.y = ((performanceLabel.element.y + performanceLabel.element.height) + 8); _local3.graphics.drawRoundRect((STRValueLabel.element.x + 2), (STRValueLabel.element.y - 2), (STRValueLabel.element.width - 4), (((STRValueLabel.element.height * 3) + 24) - 2), 4, 4); _local3.graphics.drawRoundRect((bonusPointValueLabel.element.x + 2), (bonusPointValueLabel.element.y - 2), (bonusPointValueLabel.element.width - 4), (bonusPointValueLabel.element.height + 4), 4, 4); var _local4:Array = [new Token01(), new Token02(), new Token03(), new Token04(), new Token05(), new Token06(), new Token07(), new Token08(), new Token09(), new Token10(), new Token11(), new Token12(), new Token13(), new Token14(), new Token15(), new Token16()]; var _local5:Sprite = new Sprite(); tokenSlots = []; var _local6:int; while (_local6 < 4) { _local7 = 0; while (_local7 < 4) { _local8 = ((_local6 * 4) + _local7); _local9 = _local4[_local8]; ItemManager.instance.add(_local9.id, _local9); _local10 = new TokenSlot(this, _local9.id); _local10.sprite.x = ((_local7 * _local10.sprite.width) + (_local7 * 4)); _local10.sprite.y = (((_local6 * _local10.sprite.height) + (_local6 * 4)) + ((_local6)>=2) ? 8 : 0); _local5.addChild(_local10.sprite); tokenSlots.push(_local10); _local7++; }; _local6++; }; _local5.x = (288 + ((0x0100 - _local5.width) * 0.5)); _local5.y = ((((280 - 22) - _local5.height) * 0.5) + 22); container.addChild(_local3); container.addChild(statGroup); container.addChild(performanceGroup); container.addChild(collectsGroup); container.addChild(statLabel.element); container.addChild(performanceLabel.element); container.addChild(collectsLabel.element); container.addChild(STRLabel.element); container.addChild(AGILabel.element); container.addChild(WISLabel.element); container.addChild(STRValueLabel.element); container.addChild(AGIValueLabel.element); container.addChild(WISValueLabel.element); container.addChild(workingStatsLabel.element); container.addChild(performanceEntriesLabel.element); container.addChild(addSTRButton); container.addChild(addAGIButton); container.addChild(addWISButton); container.addChild(bonusPointLabel.element); container.addChild(bonusPointValueLabel.element); container.addChild(_local5); container.addChild(tooltip.sprite); addSTRButton.click = onClickAddSTR; addAGIButton.click = onClickAddAGI; addWISButton.click = onClickAddWIS; } private function onMouseOver(_arg1:MouseEvent):void{ showTooltip(); if (!workingStatsLabel.element.hasEventListener(MouseEvent.MOUSE_MOVE)){ workingStatsLabel.element.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); }; } private function onClickAddWIS():void{ Profile.instance.WIS++; Profile.instance.bonusPoints--; init(); } override public function init():void{ var _local8:Object; var _local9:Boolean; var _local10:int; var _local11:int; var _local12:TokenSlot; addSTRButton.unlock(); addAGIButton.unlock(); addWISButton.unlock(); bonusPointValueLabel.element.alpha = 1; if (Profile.instance.bonusPoints <= 0){ addSTRButton.lock(); addAGIButton.lock(); addWISButton.lock(); bonusPointValueLabel.element.alpha = 0.5; }; STRValueLabel.update(Profile.instance.STR.toString()); AGIValueLabel.update(Profile.instance.AGI.toString()); WISValueLabel.update(Profile.instance.WIS.toString()); bonusPointValueLabel.update(Profile.instance.bonusPoints.toString()); var _local1:String = Number((Profile.instance.magicRegen * 100)).toString(); var _local2:String = _local1.split(".")[0]; var _local3:String = _local1.split(".")[1]; if (_local3){ _local3 = _local3.substr(0, 2); }; var _local4:String = ((_local2 + ".") + ((_local3)!=null) ? _local3 : "0"); var _local5 = (((((((((((((((((((((((Words.LOUNGE_HP + Profile.instance.health) + "\n") + Words.LOUNGE_MP) + Profile.instance.magic) + "\n") + Words.LOUNGE_DMG) + Profile.instance.damage) + "\n") + Words.LOUNGE_ATK) + Profile.instance.attackSpeed) + "\n\n") + Words.LOUNGE_MCT) + Profile.instance.magicCost) + "\n") + Words.LOUNGE_MRC) + _local4) + "%\n") + Words.LOUNGE_CRT) + Math.round((Profile.instance.criticalRate * 100))) + "%\n") + Words.LOUNGE_DDG) + Math.round((Profile.instance.dodgeRate * 100))) + "%\n"); workingStatsLabel.update(_local5); var _local6 = (((((((((((((((((((((((((((((((((((Words.LOUNGE_TRACK_HITS + Profile.instance.hits) + "\n") + Words.LOUNGE_TRACK_GRAZINGS) + Profile.instance.grazings) + "\n") + Words.LOUNGE_TRACK_DEATHS) + Profile.instance.deaths) + "\n") + Words.LOUNGE_TRACK_SHOTS) + Profile.instance.shots) + "\n") + Words.LOUNGE_TRACK_ENEMYHITS) + Profile.instance.enemyHits) + "\n") + Words.LOUNGE_TRACK_CHAINS) + Profile.instance.chains) + "\n") + Words.LOUNGE_TRACK_KILLS) + Profile.instance.kills) + "\n") + Words.LOUNGE_TRACK_CRITICALS) + Profile.instance.criticals) + "\n") + Words.LOUNGE_TRACK_MISSES) + Profile.instance.misses) + "\n") + Words.LOUNGE_TRACK_CASTS) + Profile.instance.casts) + "\n") + Words.LOUNGE_TRACK_DROPCOLLECTS) + Profile.instance.dropsCollect) + "\n") + Words.LOUNGE_TRACK_DROPMISSES) + Profile.instance.dropsMissed) + "\n"); performanceEntriesLabel.update(_local6); if (!workingStatsLabel.element.hasEventListener(MouseEvent.MOUSE_OVER)){ workingStatsLabel.element.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); }; if (!workingStatsLabel.element.hasEventListener(MouseEvent.MOUSE_OUT)){ workingStatsLabel.element.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); }; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local8 = SharedObjects.instance.current.data[Profile.instance.name]; if (_local8 != null){ _local9 = (_local8["6"] as Boolean); if (((((((((((((((((!(_local9)) && (Profile.instance.gem1))) && (Profile.instance.gem2))) && (Profile.instance.gem3))) && (Profile.instance.gem4))) && (Profile.instance.gem5))) && (Profile.instance.gem6))) && (Profile.instance.gem7))) && (Profile.instance.gem8))){ _local8["6"] = true; SharedObjects.instance.update(); }; }; SharedObjects.instance.apply(Profile.instance.lso_id); }; var _local7:int; while (_local7 < 4) { _local10 = 0; while (_local10 < 4) { _local11 = ((_local7 * 4) + _local10); _local12 = tokenSlots[_local11]; _local12.init(); _local10++; }; _local7++; }; SharedObjects.instance.apply(Profile.instance.lso_id); } private function onClickAddSTR():void{ Profile.instance.STR++; Profile.instance.bonusPoints--; init(); } private function onMouseOut(_arg1:MouseEvent):void{ hideTooltip(); if (workingStatsLabel.element.hasEventListener(MouseEvent.MOUSE_MOVE)){ workingStatsLabel.element.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); }; } private function onClickAddAGI():void{ Profile.instance.AGI++; Profile.instance.bonusPoints--; init(); } private function onMouseMove(_arg1:MouseEvent):void{ updateTooltip(Words.STAT_DESC_TITLE, Words.STAT_DESC_DESC); } } }//package game.screens.widgets.groups
Section 285
//Levels (game.screens.widgets.groups.Levels) package game.screens.widgets.groups { import game.*; import game.screens.widgets.*; public class Levels extends Group { private var level2Button:LevelButton; private var level3Button:LevelButton; private var level5Button:LevelButton; private var level7Button:LevelButton; private var level4Button:LevelButton; private var level6Button:LevelButton; private var callback:Function; private var level1Button:LevelButton; public function Levels(_arg1:Function){ this.callback = _arg1; level1Button = new LevelButton(1, _arg1); level2Button = new LevelButton(2, _arg1); level3Button = new LevelButton(3, _arg1); level4Button = new LevelButton(4, _arg1); level5Button = new LevelButton(5, _arg1); level6Button = new LevelButton(6, _arg1); level7Button = new LevelButton(7, _arg1); level1Button.sprite.x = 184; level1Button.sprite.y = 0; level2Button.sprite.x = 368; level2Button.sprite.y = 48; level3Button.sprite.x = 368; level3Button.sprite.y = 144; level4Button.sprite.x = 184; level4Button.sprite.y = 192; level5Button.sprite.x = 0; level5Button.sprite.y = 144; level6Button.sprite.x = 0; level6Button.sprite.y = 48; level7Button.sprite.x = 184; level7Button.sprite.y = 96; container.addChild(level1Button.sprite); container.addChild(level2Button.sprite); container.addChild(level3Button.sprite); container.addChild(level4Button.sprite); container.addChild(level5Button.sprite); container.addChild(level6Button.sprite); container.addChild(level7Button.sprite); } override public function init():void{ level1Button.lock(false); level2Button.lock(false); level3Button.lock(false); level4Button.lock(false); level5Button.lock(false); level6Button.lock(false); level1Button.lock(!((Profile.instance.levelsCompleted.length >= 0))); level2Button.lock(!((Profile.instance.levelsCompleted.length >= 1))); level3Button.lock(!((Profile.instance.levelsCompleted.length >= 2))); level4Button.lock(!((Profile.instance.levelsCompleted.length >= 3))); level5Button.lock(!((Profile.instance.levelsCompleted.length >= 4))); level6Button.lock(!((Profile.instance.levelsCompleted.length >= 5))); level7Button.lock(!(((((((((((((((Profile.instance.gem1) && (Profile.instance.gem2))) && (Profile.instance.gem3))) && (Profile.instance.gem4))) && (Profile.instance.gem5))) && (Profile.instance.gem6))) && (Profile.instance.gem7))) && (Profile.instance.gem8)))); } } }//package game.screens.widgets.groups
Section 286
//Shop (game.screens.widgets.groups.Shop) package game.screens.widgets.groups { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import game.logics.*; import game.*; import game.screens.widgets.*; import game.screens.widgets.itemSlots.*; import game.logics.charms.*; public class Shop extends Group { private var equipSlot1:SellCharm; private var equipLabel:Label; private var charmSlotGroup:Sprite; private var equipSlot2:SellCharm; private var equipSlot3:SellCharm; private var charmSlots:Array; private var equipGroup:Sprite; private var equipSlotGroup:Sprite; private var itemsLabel:Label; private var itemsGroup:Sprite; public function Shop(){ var _local8:int; var _local9:int; var _local10:Charm; var _local11:BuyCharm; super(); var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local2:LabelStyle = new LabelStyle().clone(_local1).setSize(11).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_STRONG).fontName); itemsGroup = new Sprite(); itemsGroup.graphics.beginFill(0, 0.1); itemsGroup.graphics.drawRoundRect(0, 0, 400, 280, 6); equipGroup = new Sprite(); equipGroup.graphics.beginFill(0, 0.1); equipGroup.graphics.drawRoundRect(0, 0, 136, 280, 6); itemsGroup.x = 144; itemsLabel = new Label(Words.SHOP_ITEMS, _local1); equipLabel = new Label(Words.SHOP_EQUIP, _local1); equipLabel.element.width = 136; equipLabel.element.height = 16; itemsLabel.element.width = 400; itemsLabel.element.height = 16; itemsLabel.element.x = 144; itemsLabel.element.y = 4; equipLabel.element.y = 4; var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0, 0.1); _local3.graphics.drawRoundRect(2, 2, 132, 20, 4); _local3.graphics.drawRoundRect(146, 2, 396, 20, 4); var _local4:Sprite = new Sprite(); equipSlot1 = new SellCharm(this, 1); equipSlot2 = new SellCharm(this, 2); equipSlot3 = new SellCharm(this, 3); equipSlot2.sprite.y = ((equipSlot1.sprite.y + equipSlot1.sprite.height) + 16); equipSlot3.sprite.y = ((equipSlot2.sprite.y + equipSlot2.sprite.height) + 16); _local4.addChild(equipSlot1.sprite); _local4.addChild(equipSlot2.sprite); _local4.addChild(equipSlot3.sprite); _local4.x = ((136 - _local4.width) * 0.5); _local4.y = ((((280 - 22) - _local4.height) * 0.5) + 22); var _local5:Array = [new Charm01(), new Charm02(), new Charm03(), new Charm04(), new Charm05(), new Charm06(), new Charm07(), new Charm08(), new Charm09(), new Charm10(), new Charm11(), new Charm12(), new Charm13(), new Charm14(), new Charm15(), new Charm16(), new Charm17(), new Charm18()]; var _local6:Sprite = new Sprite(); charmSlots = []; var _local7:int; while (_local7 < 3) { _local8 = 0; while (_local8 < 6) { _local9 = ((_local7 * 6) + _local8); _local10 = _local5[_local9]; ItemManager.instance.add(_local10.id, _local10); _local11 = new BuyCharm(this, _local9, _local10.id); _local11.sprite.x = ((_local8 * _local11.sprite.width) + (_local8 * 8)); _local11.sprite.y = ((_local7 * _local11.sprite.height) + (_local7 * 16)); _local6.addChild(_local11.sprite); charmSlots.push(_local11); _local8++; }; _local7++; }; _local6.x = (144 + ((400 - _local6.width) * 0.5)); _local6.y = ((((280 - 22) - _local6.height) * 0.5) + 22); container.addChild(_local3); container.addChild(itemsGroup); container.addChild(equipGroup); container.addChild(itemsLabel.element); container.addChild(equipLabel.element); container.addChild(_local4); container.addChild(_local6); container.addChild(tooltip.sprite); } override public function init():void{ var _local2:int; var _local3:int; var _local4:BuyCharm; equipSlot1.init(Profile.instance.slot1); equipSlot2.init(Profile.instance.slot2); equipSlot3.init(Profile.instance.slot3); var _local1:int; while (_local1 < 3) { _local2 = 0; while (_local2 < 6) { _local3 = ((_local1 * 6) + _local2); _local4 = charmSlots[_local3]; _local4.init(); _local2++; }; _local1++; }; } } }//package game.screens.widgets.groups
Section 287
//BuyCharm (game.screens.widgets.itemSlots.BuyCharm) package game.screens.widgets.itemSlots { import flash.events.*; import game.logics.*; import game.*; import game.screens.widgets.*; public class BuyCharm extends CharmSlot { public function BuyCharm(_arg1:Group, _arg2:int, _arg3:int=0){ super(_arg1, _arg2, _arg3); } override public function postInit():void{ var _local1:Boolean; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; if ((((((((Profile.instance.slot1 > -1)) && ((Profile.instance.slot1 == charm.id)))) || ((((Profile.instance.slot2 > -1)) && ((Profile.instance.slot2 == charm.id)))))) || ((((Profile.instance.slot3 > -1)) && ((Profile.instance.slot3 == charm.id)))))){ _local2 = true; }; if (((((((((!((ItemManager.instance.fetch(Profile.instance.slot1) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot1)).group > 0)))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot1)).group == charm.group)))) || (((((!((ItemManager.instance.fetch(Profile.instance.slot2) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot2)).group > 0)))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot2)).group == charm.group)))))) || (((((!((ItemManager.instance.fetch(Profile.instance.slot3) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot3)).group > 0)))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot3)).group == charm.group)))))){ _local3 = true; }; if (charm.requireGroup > 0){ if (((((((!((ItemManager.instance.fetch(Profile.instance.slot1) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot1)).group == charm.requireGroup)))) || (((!((ItemManager.instance.fetch(Profile.instance.slot2) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot2)).group == charm.requireGroup)))))) || (((!((ItemManager.instance.fetch(Profile.instance.slot3) == null))) && ((Charm(ItemManager.instance.fetch(Profile.instance.slot3)).group == charm.requireGroup)))))){ _local4 = true; }; } else { _local4 = true; }; if ((((((Profile.instance.slot1 > -1)) && ((Profile.instance.slot2 > -1)))) && ((Profile.instance.slot3 > -1)))){ _local5 = true; }; if (Profile.instance.gold >= charm.cost){ _local1 = true; }; if (((((((((_local1) && (!(_local2)))) && (!(_local3)))) && (_local4))) && (!(_local5)))){ container.buttonMode = true; box.alpha = 1; enable(); }; } override protected function onMove(_arg1:MouseEvent):void{ prenote = (((Words.CHARM_TO_BUY + "\n") + Words.CHARM_COST) + charm.cost); super.onMove(_arg1); } override protected function click():void{ Profile.instance.gold = (Profile.instance.gold - charm.cost); if (Profile.instance.slot1 == -1){ Profile.instance.slot1 = charm.id; } else { if (Profile.instance.slot2 == -1){ Profile.instance.slot2 = charm.id; } else { if (Profile.instance.slot3 == -1){ Profile.instance.slot3 = charm.id; }; }; }; group.init(); Profile.instance.save(); } } }//package game.screens.widgets.itemSlots
Section 288
//SellCharm (game.screens.widgets.itemSlots.SellCharm) package game.screens.widgets.itemSlots { import flash.events.*; import game.*; import game.screens.widgets.*; public class SellCharm extends CharmSlot { public function SellCharm(_arg1:Group, _arg2:int, _arg3:int=0){ super(_arg1, _arg2, _arg3); } override public function postInit():void{ container.buttonMode = true; box.alpha = 1; enable(); } override protected function onMove(_arg1:MouseEvent):void{ if (charm != null){ prenote = (((Words.CHARM_TO_SELL + "\n") + Words.CHARM_COST) + (charm.cost * 0.5)); super.onMove(_arg1); }; } override protected function click():void{ Profile.instance.gold = (Profile.instance.gold + (charm.cost * 0.5)); switch (slotID){ case 1: Profile.instance.slot1 = -1; break; case 2: Profile.instance.slot2 = -1; break; case 3: Profile.instance.slot3 = -1; break; }; Profile.instance.save(); group.init(); } } }//package game.screens.widgets.itemSlots
Section 289
//ChainBar (game.screens.widgets.ChainBar) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import game.*; import gs.*; import easing.*; import flash.filters.*; public class ChainBar { private var container:Sprite; private var valueLabel:Label; private var staticLabel:Label; private var showStatus:Boolean; private var tickLabel:Label; private var lastValue:int; public function ChainBar(){ container = new Sprite(); showStatus = false; lastValue = 0; var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setAlign(LabelStyle.ALIGN_LEFT).setSize(40).setColor(0xC40000).setFilter([new GlowFilter(0xF4C400, 1, 2, 2, 10), new DropShadowFilter(1, 90, 0xF4C400, 1, 1, 1, 10)]).setWordWrap(true).setMultiLine(false); var _local2:LabelStyle = new LabelStyle().clone(_local1).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_STRONG).fontName).setSize(22).setColor(0xF4C400).setFilter([new GlowFilter(0xC40000, 1, 2, 2, 10), new DropShadowFilter(1, 90, 0xC40000, 1, 1, 1, 10)]); var _local3:LabelStyle = new LabelStyle().clone(_local2).setSize(11); valueLabel = new Label("000", _local1); tickLabel = new Label("00", _local2); staticLabel = new Label(Words.PLAY_CHAIN_TITLE, _local3); valueLabel.element.width = 320; valueLabel.element.y = (staticLabel.element.height - 4); tickLabel.element.y = ((valueLabel.element.y + valueLabel.element.height) - 8); container.addChild(staticLabel.element); container.addChild(valueLabel.element); container.addChild(tickLabel.element); container.x = -(container.width); } public function get sprite():Sprite{ return (container); } public function get isShow():Boolean{ return (showStatus); } public function hide():void{ if (showStatus){ TweenLite.to(container, 0.3, {x:-(container.width), ease:Back.easeOut}); }; showStatus = false; } public function update(_arg1:int, _arg2:int):void{ if (lastValue != _arg1){ lastValue = _arg1; TweenLite.to(valueLabel.element, 0.1, {scaleX:1.5, scaleY:1.5, y:0, ease:Back.easeOut}); TweenLite.to(valueLabel.element, 0.1, {delay:0.1, scaleX:1, scaleY:1, y:(staticLabel.element.height - 4), ease:Back.easeOut, overwrite:false}); }; valueLabel.update(_arg1.toString()); tickLabel.update(_arg2.toString()); } public function show():void{ if (!showStatus){ TweenLite.to(container, 0.3, {x:0, ease:Back.easeOut}); }; showStatus = true; } } }//package game.screens.widgets
Section 290
//ChainMultiply (game.screens.widgets.ChainMultiply) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import game.*; import gs.*; import easing.*; import flash.filters.*; public class ChainMultiply { private var container:Sprite; private var label:Label; public function ChainMultiply(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_STRONG).fontName).setSize(22).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setAlign(LabelStyle.ALIGN_LEFT).setColor(0xC40000).setFilter([new GlowFilter(0xF4C400, 1, 2, 2, 10), new DropShadowFilter(1, 90, 0xF4C400, 1, 1, 1, 10)]).setWordWrap(true).setMultiLine(false); label = new Label("Multiply", _local1); label.element.width = 240; container.addChild(label.element); container.x = -(container.width); } public function get sprite():Sprite{ return (container); } public function show(_arg1:Number):void{ label.update((("Multiply " + _arg1) + "x!!")); TweenLite.to(container, 0.3, {x:0, ease:Back.easeOut}); TweenLite.to(container, 0.3, {x:-(container.width), overwrite:false, delay:1.5, ease:Back.easeIn}); } } }//package game.screens.widgets
Section 291
//CharmSlot (game.screens.widgets.CharmSlot) package game.screens.widgets { import flash.display.*; import flash.events.*; import game.logics.*; import flash.filters.*; public class CharmSlot { protected var container:Sprite; protected var box:Sprite; protected var prenote:String; protected var slotID:int; protected var charm:Charm; protected var charmID:int; protected var group:Group; public function CharmSlot(_arg1:Group, _arg2:int, _arg3:int=0){ this.group = _arg1; this.slotID = _arg2; this.charmID = _arg3; prenote = ""; container = new Sprite(); box = new Sprite(); box.graphics.beginFill(0, 0.1); box.graphics.drawRoundRect(0, 0, 50, 50, 4); container.addChild(box); container.addEventListener(MouseEvent.MOUSE_MOVE, onMove); container.addEventListener(MouseEvent.ROLL_OVER, onOver); container.addEventListener(MouseEvent.ROLL_OUT, onOut); } protected function enable():void{ container.addEventListener(MouseEvent.CLICK, onClick); } public function get sprite():Sprite{ return (container); } protected function click():void{ } protected function out():void{ } public function postInit():void{ } protected function onOver(_arg1:MouseEvent):void{ if (charm != null){ group.showTooltip(); }; box.filters = [new GlowFilter(0xFFFFFF, 0.8, 3, 3, 2, 3)]; over(); } protected function over():void{ } public function init(_arg1:int=0):void{ var _local3:Sprite; cleanup(); var _local2:int = ((_arg1)!=0) ? _arg1 : charmID; charm = (ItemManager.instance.fetch(_local2) as Charm); if (((!((charm == null))) && (!((charm.icon == null))))){ _local3 = new Sprite(); _local3.addChild(charm.icon); box.addChild(_local3); _local3.x = ((box.width - _local3.width) * 0.5); _local3.y = ((box.height - _local3.height) * 0.5); box.alpha = 0.4; postInit(); }; } protected function onMove(_arg1:MouseEvent):void{ if (charm != null){ group.updateTooltip(charm.name, (charm.desc + prenote)); }; } protected function disable():void{ if (container.hasEventListener(MouseEvent.CLICK)){ container.removeEventListener(MouseEvent.CLICK, onClick); }; } protected function onClick(_arg1:MouseEvent):void{ click(); group.update(); group.hideTooltip(); } protected function cleanup():void{ charm = null; disable(); container.buttonMode = false; box.alpha = 0.4; box.filters = []; if (box.numChildren > 0){ box.removeChildAt(0); }; } protected function onOut(_arg1:MouseEvent):void{ group.hideTooltip(); box.filters = []; out(); } } }//package game.screens.widgets
Section 292
//Group (game.screens.widgets.Group) package game.screens.widgets { import flash.display.*; import game.*; public class Group { protected var container:Sprite; protected var tooltip:Tooltip; public function Group(){ container = new Sprite(); tooltip = new Tooltip(); tooltip.sprite.visible = false; container.addChild(tooltip.sprite); } public function init():void{ } public function get sprite():Sprite{ return (container); } public function hideTooltip():void{ tooltip.sprite.visible = false; } public function update():void{ } public function updateTooltip(_arg1:String, _arg2:String):void{ var _local3:int; var _local4:int; if (container.stage.mouseX >= (Config.STAGE_WIDTH * 0.5)){ _local3 = ((sprite.mouseX - tooltip.sprite.width) - 10); } else { _local3 = (sprite.mouseX + 10); }; if (container.stage.mouseY >= (Config.STAGE_HEIGHT * 0.5)){ _local4 = ((sprite.mouseY - tooltip.sprite.height) - 10); } else { _local4 = (sprite.mouseY + 10); }; tooltip.sprite.x = _local3; tooltip.sprite.y = _local4; tooltip.update(_arg1, _arg2); } public function showTooltip():void{ tooltip.sprite.visible = true; } } }//package game.screens.widgets
Section 293
//HighScoreEntry (game.screens.widgets.HighScoreEntry) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import game.*; public class HighScoreEntry { private var container:Sprite; private var score:Label; private var name:Label; public function HighScoreEntry(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true); name = new Label("", _local1); score = new Label("", _local1); name.element.width = 80; name.element.height = 16; name.element.x = 4; name.element.y = 3; score.element.x = 88; score.element.width = 200; score.element.height = 16; score.element.y = 2; var _local2:Sprite = new Sprite(); _local2.graphics.beginFill(0, 0.3); _local2.graphics.drawRect(0, 0, 288, 20); container.addChild(_local2); container.addChild(name.element); container.addChild(score.element); } public function init(_arg1:String, _arg2:String):void{ name.update(_arg1); score.update(_arg2); } public function get sprite():Sprite{ return (container); } } }//package game.screens.widgets
Section 294
//HUDBar (game.screens.widgets.HUDBar) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import org.bytearray.display.*; import flash.filters.*; public class HUDBar { private var container:Sprite; private var bar:Sprite; private var label:Label; private var baseText:String; public function HUDBar(_arg1:String, _arg2:int){ container = new Sprite(); baseText = _arg1; var _local3:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(false); label = new Label(baseText, _local3); label.element.width = 200; label.element.height = 16; label.element.x = 4; label.element.y = 3; var _local4:BitmapData = new BitmapData(16, 16); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME4).bitmapData, new Rectangle(16, 0, 16, 16), new Point()); var _local5:ScaleBitmap = new ScaleBitmap(_local4); _local5.scale9Grid = new Rectangle(4, 4, 8, 8); _local5.width = 0x0100; _local5.height = 20; _local5.alpha = 0.4; bar = new Sprite(); bar.graphics.beginFill(_arg2); bar.graphics.drawRect(0, 0, ((_local5.width - 48) - 8), (_local5.height - 8)); bar.filters = [new BevelFilter(1, 45, 0xFFFFFF, 0.6, 0, 0.4, 1, 1, 10)]; bar.x = (label.element.x + 48); bar.y = 4; container.addChild(_local5); container.addChild(bar); container.addChild(label.element); } public function get sprite():Sprite{ return (container); } public function update(_arg1:Number, _arg2:int, _arg3:int, _arg4:Boolean=true):void{ bar.scaleX = _arg1; bar.alpha = (_arg4) ? 1 : 0.25; label.update((((baseText + _arg2.toString()) + "/") + _arg3.toString())); } } }//package game.screens.widgets
Section 295
//LevelButton (game.screens.widgets.LevelButton) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; public class LevelButton { private var container:Sprite; private var callback:Function; private var button:ScaleBitmapButton; private var portrait:Sprite; private var id:int; public function LevelButton(_arg1:int, _arg2:Function){ this.id = _arg1; this.callback = _arg2; container = new Sprite(); var _local3:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local4:LabelStyle = new LabelStyle().clone(_local3).setAlign(LabelStyle.ALIGN_CENTER); var _local5 = ""; var _local6 = ""; switch (_arg1){ case 1: _local5 = Words.LOUNGE_LEVEL1; _local6 = Config.ASSET_LEVEL1BUTTON; break; case 2: _local5 = Words.LOUNGE_LEVEL2; _local6 = Config.ASSET_LEVEL2BUTTON; break; case 3: _local5 = Words.LOUNGE_LEVEL3; _local6 = Config.ASSET_LEVEL3BUTTON; break; case 4: _local5 = Words.LOUNGE_LEVEL4; _local6 = Config.ASSET_LEVEL4BUTTON; break; case 5: _local5 = Words.LOUNGE_LEVEL5; _local6 = Config.ASSET_LEVEL5BUTTON; break; case 6: _local5 = Words.LOUNGE_LEVEL6; _local6 = Config.ASSET_LEVEL6BUTTON; break; case 7: _local5 = Words.LOUNGE_LEVEL7_LOCK; _local6 = Config.ASSET_LEVEL7BUTTON; break; }; button = new ScaleBitmapButton(_local5, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); button.buttonLabelStyle = _local4; button.addSound(Config.ASSET_SFX_CLICK); button.width = 176; button.height = 32; button.y = 56; var _local7:BitmapData = new BitmapData(176, 56, false); _local7.copyPixels(Assets.instance.fetch(Assets.BITMAP, _local6).bitmapData, new Rectangle(0, 0, 176, 56), new Point()); var _local8:Bitmap = new Bitmap(_local7); portrait = new Sprite(); portrait.addChild(_local8); container.addChild(portrait); container.addChild(button); button.click = onClickButton; } private function onClickButton():void{ callback(id); } public function lock(_arg1:Boolean=true):void{ if (_arg1){ button.lock(); portrait.alpha = 0.5; } else { if (id == 7){ button.updateLabel(Words.LOUNGE_LEVEL7_OPEN); }; button.unlock(); portrait.alpha = 1; }; } public function get sprite():Sprite{ return (container); } } }//package game.screens.widgets
Section 296
//SaveSlot (game.screens.widgets.SaveSlot) package game.screens.widgets { import flash.display.*; import flash.events.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import com.soybeansoft.util.*; import org.bytearray.display.*; import rl.dev.*; import flash.filters.*; public class SaveSlot { private var container:Sprite; private var newCallback:Function; private var inputLabelStyle:LabelStyle; private var lastLabel:Label; private var charId:int; private var continueCallback:Function; private var id:String; private var charContinue:BitmapMovie; private var nameLabel:Label; private var okButton:ScaleBitmapButton; private var background:ScaleBitmap; private var continueGameGroup:Sprite; private var cancelButton:ScaleBitmapButton; private var selectButton:ScaleBitmapButton; private var selectCallback:Function; private var charNew:BitmapMovie; private var newGameGroup:Sprite; private var enterLabel:Label; private var nameInput:Input; public function SaveSlot(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Function){ this.id = _arg1; this.newCallback = _arg2; this.continueCallback = _arg3; this.selectCallback = _arg4; container = new Sprite(); continueGameGroup = new Sprite(); newGameGroup = new Sprite(); var _local5:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local6:LabelStyle = new LabelStyle().clone(_local5).setSize(24).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName); var _local7:LabelStyle = new LabelStyle().clone(_local5).setAlign(LabelStyle.ALIGN_CENTER); inputLabelStyle = new LabelStyle().clone(_local6).setMaxChars(10).setRestrict("a-z A-Z 0-9").setBackground(true).setBackgroundColor(12226578).setMultiLine(false).setFilter([new BevelFilter(1, -135, 0xFFFFFF, 0.8, 0, 0.8, 0, 0, 10)]); var _local8:BitmapData = new BitmapData(24, 24); _local8.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(72, 0, 24, 24), new Point()); background = new ScaleBitmap(_local8); background.scale9Grid = new Rectangle(8, 8, 8, 8); background.width = 448; background.height = 96; container.addChild(background); charId = 0; charContinue = new BitmapMovie(getChar(0), 64, 64); nameLabel = new Label(Words.SELECT_PROFILE_NAME, _local6); lastLabel = new Label((Words.SELECT_PROFILE_LAST + Words.SELECT_PROFILE_EMPTYTIME), _local5); selectButton = new ScaleBitmapButton(Words.COMMON_SELECT, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); selectButton.buttonLabelStyle = _local7; selectButton.addSound(Config.ASSET_SFX_CLICK); charContinue.x = 16; charContinue.y = 16; nameLabel.element.width = 248; nameLabel.element.height = 16; nameLabel.element.x = 96; nameLabel.element.y = 16; lastLabel.element.width = 248; lastLabel.element.x = 96; lastLabel.element.y = ((background.height - 16) - nameLabel.element.height); selectButton.width = 72; selectButton.height = 64; selectButton.x = ((background.width - 16) - selectButton.width); selectButton.y = 16; continueGameGroup.addChild(charContinue); continueGameGroup.addChild(nameLabel.element); continueGameGroup.addChild(lastLabel.element); continueGameGroup.addChild(selectButton); charNew = new BitmapMovie(getChar(0), 64, 64); enterLabel = new Label(Words.SELECT_PROFILE_ENTERNAME, _local5); nameInput = new Input(inputLabelStyle); okButton = new ScaleBitmapButton(Words.COMMON_OK, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); cancelButton = new ScaleBitmapButton(Words.COMMON_CANCEL, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); okButton.buttonLabelStyle = _local7; okButton.addSound(Config.ASSET_SFX_CLICK); cancelButton.buttonLabelStyle = _local7; cancelButton.addSound(Config.ASSET_SFX_CLICK); okButton.width = 72; okButton.height = 32; cancelButton.width = 72; cancelButton.height = 32; okButton.x = ((background.width - 16) - okButton.width); okButton.y = 16; cancelButton.x = ((background.width - 16) - cancelButton.width); cancelButton.y = (okButton.y + okButton.height); charNew.x = 16; charNew.y = 16; enterLabel.element.width = 248; enterLabel.element.x = 96; enterLabel.element.y = 16; nameInput.element.width = 248; nameInput.element.height = 16; nameInput.element.x = 96; nameInput.element.y = ((background.height - 24) - nameInput.element.height); newGameGroup.addChild(charNew); newGameGroup.addChild(okButton); newGameGroup.addChild(cancelButton); newGameGroup.addChild(enterLabel.element); newGameGroup.addChild(nameInput.element); container.addChild(continueGameGroup); container.addChild(newGameGroup); } public function init():void{ continueGameGroup.visible = true; newGameGroup.visible = false; captureInputs(); if (SharedObjects.instance.apply(Config.LSO_SLOTS)){ nameLabel.update(SharedObjects.instance.current.data[id].name); lastLabel.update((Words.SELECT_PROFILE_LAST + SharedObjects.instance.current.data[id].last)); charId = SharedObjects.instance.current.data[id].char; charContinue.setupFrames(getChar(charId)); }; if ((((nameLabel.element.text == Words.SELECT_PROFILE_EMPTYNAME)) && (!(Config.isNewGame)))){ selectButton.lock(); nameLabel.element.alpha = 0.5; lastLabel.element.alpha = 0.5; charContinue.alpha = 0.5; } else { selectButton.unlock(); nameLabel.element.alpha = 1; lastLabel.element.alpha = 1; charContinue.alpha = 1; }; } public function cleanup():void{ releaseInputs(); } private function onClickOk():void{ newProfile(); } public function insertChar(_arg1:int):void{ charId = _arg1; charNew.setupFrames(getChar(_arg1)); } private function onClickCancel():void{ continueGameGroup.visible = true; newGameGroup.visible = false; } public function get sprite():Sprite{ return (container); } public function captureInputs():void{ selectButton.click = onClickSelect; okButton.click = onClickOk; cancelButton.click = onClickCancel; container.addEventListener(MouseEvent.ROLL_OVER, onOverContainer); container.addEventListener(MouseEvent.ROLL_OUT, onOutContainer); } public function releaseInputs():void{ selectButton.click = null; okButton.click = null; cancelButton.click = null; container.removeEventListener(MouseEvent.ROLL_OVER, onOverContainer); container.removeEventListener(MouseEvent.ROLL_OUT, onOutContainer); } private function getChar(_arg1:int):BitmapData{ var _local2:BitmapData; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; switch (_arg1){ case 1: _local2 = new BitmapData(320, 64); _local2.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_WARRIOR).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local2); case 2: _local3 = new BitmapData(320, 64); _local3.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_HUNTER).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local3); case 3: _local4 = new BitmapData(320, 64); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_KNIGHT).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local4); case 4: _local5 = new BitmapData(320, 64); _local5.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_PALADIN).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local5); default: _local6 = new BitmapData(64, 64); _local6.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_UNKNOWNHERO).bitmapData, new Rectangle(0, 0, 64, 64), new Point()); return (_local6); }; } private function onOutContainer(_arg1:MouseEvent):void{ charContinue.stop(); charNew.stop(); } private function onClickSelect():void{ if (Config.isNewGame){ selectCallback(id); nameInput.update("", false, inputLabelStyle); charNew.setupFrames(getChar(0)); continueGameGroup.visible = false; newGameGroup.visible = true; } else { loadProfile(); }; } private function newProfile():void{ var _local1:Date; var _local2:String; var _local3:String; var _local4:String; var _local5:String; var _local6:String; var _local7:String; if (nameInput.element.text == ""){ nameInput.element.text = Words.SELECT_PROFILE_NONAME; }; if (SharedObjects.instance.apply(Config.LSO_SLOTS)){ _local1 = new Date(); _local2 = ((_local1.hours)<10) ? ("0" + _local1.hours) : _local1.hours.toString(); _local3 = ((_local1.minutes)<10) ? ("0" + _local1.minutes) : _local1.minutes.toString(); _local4 = ((_local1.date)<10) ? ("0" + _local1.date) : _local1.date.toString(); _local5 = ((_local1.month)<10) ? ("0" + _local1.month) : _local1.month.toString(); _local6 = _local1.fullYear.toString(); _local7 = ((((((((_local6 + "/") + _local5) + "/") + _local4) + " ") + _local2) + ":") + _local3); SharedObjects.instance.current.data[id].name = nameInput.element.text; SharedObjects.instance.current.data[id].last = _local7; SharedObjects.instance.current.data[id].char = charId; SharedObjects.instance.update(); } else { throw (new Error(("Unable to open SO: " + Config.LSO_SLOTS))); }; if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ if (SharedObjects.instance.current.data[nameInput.element.text] == null){ SharedObjects.instance.current.data[nameInput.element.text] = {1:false, 2:false, 3:false, 4:false, 5:false, 6:false, 7:false, 8:false}; SharedObjects.instance.update(); }; } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; if (SharedObjects.instance.apply(id)){ Profile.instance.name = nameInput.element.text; Profile.instance.char = charId; Profile.instance.STR = Config.STATS[charId].STR; Profile.instance.AGI = Config.STATS[charId].AGI; Profile.instance.WIS = Config.STATS[charId].WIS; Profile.instance.save(); Profile.instance.lso_id = id; newCallback(); } else { throw (new Error(("Unable to create SO: " + id))); }; } private function onOverContainer(_arg1:MouseEvent):void{ charContinue.play(2); charNew.play(2); } private function loadProfile():void{ if (SharedObjects.instance.apply(id)){ Profile.instance.load(); Profile.instance.lso_id = id; Profile.instance.showTutorial = false; continueCallback(); } else { throw (new Error(("Unable to create SO: " + id))); }; } } }//package game.screens.widgets
Section 297
//TokenSlot (game.screens.widgets.TokenSlot) package game.screens.widgets { import flash.display.*; import flash.events.*; import game.logics.*; public class TokenSlot { protected var token:Token; protected var container:Sprite; protected var box:Sprite; protected var tokenID:int; private var icon:Sprite; protected var group:Group; public function TokenSlot(_arg1:Group, _arg2:int){ this.group = _arg1; this.tokenID = _arg2; container = new Sprite(); box = new Sprite(); box.graphics.beginFill(0, 0.1); box.graphics.drawRoundRect(0, 0, 50, 50, 4); token = (ItemManager.instance.fetch(_arg2) as Token); icon = new Sprite(); icon.addChild(token.icon); box.addChild(icon); icon.x = ((box.width - icon.width) * 0.5); icon.y = ((box.height - icon.height) * 0.5); box.alpha = 0.4; container.addChild(box); container.addEventListener(MouseEvent.MOUSE_MOVE, onMove); container.addEventListener(MouseEvent.ROLL_OVER, onOver); container.addEventListener(MouseEvent.ROLL_OUT, onOut); } protected function cleanup():void{ container.buttonMode = false; box.alpha = 0.4; } public function get sprite():Sprite{ return (container); } protected function onOut(_arg1:MouseEvent):void{ group.hideTooltip(); } public function init():void{ cleanup(); if (token.taken){ box.alpha = 1; }; icon.removeChildAt(0); icon.addChild(token.icon); } protected function onMove(_arg1:MouseEvent):void{ group.updateTooltip(token.name, token.desc); } protected function onOver(_arg1:MouseEvent):void{ group.showTooltip(); } } }//package game.screens.widgets
Section 298
//Tooltip (game.screens.widgets.Tooltip) package game.screens.widgets { import flash.display.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import org.bytearray.display.*; public class Tooltip { private var container:Sprite; private var title:Label; private var content:Label; private var frame:ScaleBitmap; public function Tooltip(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local2:LabelStyle = new LabelStyle().clone(_local1).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_STRONG).fontName).setSize(11); title = new Label("", _local2); content = new Label("", _local1); title.element.width = 200; content.element.width = 200; var _local3:BitmapData = new BitmapData(16, 16); _local3.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME4).bitmapData, new Rectangle(32, 0, 16, 16), new Point()); frame = new ScaleBitmap(_local3); frame.scale9Grid = new Rectangle(4, 4, 8, 8); frame.alpha = 0.9; container.addChild(frame); container.addChild(title.element); container.addChild(content.element); } public function get sprite():Sprite{ return (container); } public function update(_arg1:String, _arg2:String):void{ title.update(_arg1); content.update(_arg2); title.element.x = 8; title.element.y = 8; content.element.x = 8; content.element.y = ((title.element.y + title.element.height) + 4); var _local3 = 216; var _local4:int = ((title.element.height + content.element.height) + 24); frame.width = _local3; frame.height = _local4; } } }//package game.screens.widgets
Section 299
//Credits (game.screens.Credits) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import org.bytearray.display.*; import flash.filters.*; public class Credits extends Screen { private var continueButton:ScaleBitmapButton; public static const name:String = "credits"; public function Credits(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(2).setHTML(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT); var _local3:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(40).setColor(0xF2CE00).setFilter([new BevelFilter(1, 45, 0xFFFFFF, 0.7, 0xB99400, 0.7, 0, 0, 10), new GlowFilter(0xBE0000, 1, 10, 10, 20), new BevelFilter(1, 45, 0xFFFFFF, 0.4, 0x8C0000, 1, 0, 0, 20), new DropShadowFilter(4, 45, 0x666666, 0.25, 0, 0, 10)]); var _local4:Bitmap = new Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_TITLE_BG).bitmapData); var _local5:Label = new Label(Words.CREDITS_TITLE, _local3); _local5.element.width = Config.STAGE_WIDTH; _local5.element.height = 84; _local5.element.y = 20; var _local6:Label = new Label(Words.CREDITS_DESC, _local2); _local6.element.width = 480; _local6.element.height = 400; _local6.element.x = ((Config.STAGE_WIDTH - _local6.element.width) * 0.5); _local6.element.y = ((Config.STAGE_HEIGHT - _local6.element.height) * 0.5); var _local7:BitmapData = new BitmapData(24, 24); _local7.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(48, 0, 24, 24), new Point()); var _local8:ScaleBitmap = new ScaleBitmap(_local7); _local8.scale9Grid = new Rectangle(8, 8, 8, 8); _local8.width = 480; _local8.height = (_local6.element.height + 80); _local8.x = ((Config.STAGE_WIDTH - _local8.width) * 0.5); _local8.y = ((Config.STAGE_HEIGHT - _local8.height) * 0.5); continueButton = new ScaleBitmapButton(Words.TITLE_CONTINUE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); continueButton.buttonLabelStyle = _local2; continueButton.addSound(Config.ASSET_SFX_CLICK); continueButton.width = 100; continueButton.height = 32; continueButton.x = ((Config.STAGE_WIDTH - continueButton.width) * 0.5); continueButton.y = ((Config.STAGE_HEIGHT - continueButton.height) - 20); contentLayer.addChild(_local4); contentLayer.addChild(_local8); contentLayer.addChild(_local5.element); contentLayer.addChild(_local6.element); contentLayer.addChild(continueButton); } override public function releaseInputs():void{ continueButton.click = null; } override public function play():void{ captureInputs(); } private function onClickContinue():void{ nextScreenId = Title.name; close(); } override public function cleanup():void{ releaseInputs(); } override public function captureInputs():void{ continueButton.click = onClickContinue; } } }//package game.screens
Section 300
//LevelSummary (game.screens.LevelSummary) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import com.soybeansoft.util.*; import org.bytearray.display.*; import rl.dev.*; import game.screens.dialogs.*; public class LevelSummary extends Screen { private var group:Sprite; private var frame:ScaleBitmap; private var background:Bitmap; private var illust:BitmapClips; private var okButton:ScaleBitmapButton; private var content1:Label; private var content2:Label; private var title:Label; public static const name:String = "level summary"; public function LevelSummary(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local3:LabelStyle = new LabelStyle().clone(_local2).setSize(30).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setAlign(LabelStyle.ALIGN_CENTER); var _local4:LabelStyle = new LabelStyle().clone(_local2).setAlign(LabelStyle.ALIGN_CENTER); background = new Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_TITLE_BG).bitmapData); var _local5:BitmapData = new BitmapData(24, 24); _local5.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(72, 0, 24, 24), new Point()); frame = new ScaleBitmap(_local5); frame.scale9Grid = new Rectangle(8, 8, 8, 8); frame.width = 400; frame.height = 300; illust = new BitmapClips(Config.ASSET_WARRIOR_RESULT_WIN, 200, 100); illust.bitmap.x = ((frame.width - illust.rect.width) * 0.5); illust.bitmap.y = 12; illust.delay = 2; title = new Label(Words.LEVEL_SUMMARY_TITLE, _local3); title.element.width = 368; title.element.height = 32; title.element.x = 16; title.element.y = (illust.bitmap.y + illust.bitmap.height); content1 = new Label("", _local2); content1.element.width = 184; content1.element.height = 100; content1.element.x = 16; content1.element.y = ((title.element.y + title.element.height) + 16); content2 = new Label("", _local2); content2.element.width = 184; content2.element.height = 100; content2.element.x = 200; content2.element.y = ((title.element.y + title.element.height) + 16); okButton = new ScaleBitmapButton(Words.COMMON_OK, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); okButton.buttonLabelStyle = _local4; okButton.addSound(Config.ASSET_SFX_CLICK); okButton.width = 368; okButton.height = 32; okButton.x = 16; okButton.y = ((frame.height - okButton.height) - 16); group = new Sprite(); group.x = 120; group.y = 90; group.addChild(frame); group.addChild(title.element); group.addChild(illust.bitmap); group.addChild(content1.element); group.addChild(content2.element); group.addChild(okButton); contentLayer.addChild(background); contentLayer.addChild(group); addDialog(OperatorMessage.name, new OperatorMessage(_arg1, dialogLayer, onClickOK, onClickOK)); } private function onClickOK():void{ nextScreenId = Lounge.name; close(); } override public function init():void{ var _local1:String; var _local2:String; SWFConsole.output("[enter] level summary"); if (Profile.instance.tempGameData.levelTrack != null){ _local1 = ((((((((((((((Words.LOUNGE_TRACK_SHOTS + Profile.instance.tempGameData.levelTrack.shots) + "\n") + Words.LOUNGE_TRACK_ENEMYHITS) + Profile.instance.tempGameData.levelTrack.hits) + "\n") + Words.LOUNGE_TRACK_CHAINS) + Profile.instance.tempGameData.levelTrack.chains) + "\n") + Words.LOUNGE_TRACK_KILLS) + Profile.instance.tempGameData.levelTrack.kills) + "\n") + Words.LOUNGE_TRACK_CRITICALS) + Profile.instance.tempGameData.levelTrack.criticals) + "\n"); _local2 = (((((((((((Words.LOUNGE_TRACK_MISSES + Profile.instance.tempGameData.levelTrack.misses) + "\n") + Words.LOUNGE_TRACK_GRAZINGS) + Profile.instance.tempGameData.levelTrack.grazings) + "\n") + Words.LOUNGE_TRACK_SCORE) + Profile.instance.tempGameData.levelTrack.score) + "\n") + Words.LOUNGE_EXP) + Profile.instance.tempGameData.levelTrack.exp) + "\n"); content1.update(_local1); content2.update(_local2); }; illust.stop(); SWFConsole.output(((("Char ID: " + Profile.instance.char) + ", finished level? ") + Profile.instance.tempGameData.hasFinishedLevel)); switch (Profile.instance.char){ case 1: if (Profile.instance.tempGameData.hasFinishedLevel){ SWFConsole.output(" >> showing warrior winning.."); illust.update(Config.ASSET_WARRIOR_RESULT_WIN, 200, 100); } else { SWFConsole.output(" >> showing warrior losing.."); illust.update(Config.ASSET_WARRIOR_RESULT_LOSE, 200, 100); }; break; case 2: if (Profile.instance.tempGameData.hasFinishedLevel){ SWFConsole.output(" >> showing hunter winning.."); illust.update(Config.ASSET_HUNTER_RESULT_WIN, 200, 100); } else { SWFConsole.output(" >> showing hunter losing.."); illust.update(Config.ASSET_HUNTER_RESULT_LOSE, 200, 100); }; break; case 3: if (Profile.instance.tempGameData.hasFinishedLevel){ SWFConsole.output(" >> showing knight winning.."); illust.update(Config.ASSET_KNIGHT_RESULT_WIN, 200, 100); } else { SWFConsole.output(" >> showing knight losing.."); illust.update(Config.ASSET_KNIGHT_RESULT_LOSE, 200, 100); }; break; case 4: if (Profile.instance.tempGameData.hasFinishedLevel){ SWFConsole.output(" >> showing paladin winning.."); illust.update(Config.ASSET_PALADIN_RESULT_WIN, 200, 100); } else { SWFConsole.output(" >> showing paladin losing.."); illust.update(Config.ASSET_PALADIN_RESULT_LOSE, 200, 100); }; break; }; illust.play(); if (Profile.instance.showTutorial){ if (Profile.instance.tempGameData.hasFinishedLevel){ initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_55]}); } else { initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_56]}); }; showDialog(OperatorMessage.name); } else { captureInputs(); }; } override public function captureInputs():void{ okButton.click = onClickOK; } override public function pause():void{ releaseInputs(); } override public function releaseInputs():void{ okButton.click = null; } } }//package game.screens
Section 301
//Lounge (game.screens.Lounge) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import game.screens.widgets.*; import com.soybeansoft.util.*; import org.bytearray.display.*; import game.screens.widgets.groups.*; import rl.dev.*; import game.screens.dialogs.*; public class Lounge extends Screen { private var currentGold:int; private var scoreLabel:Label; private var shop:Shop; private var group:Sprite; private var mainMenuButton:ScaleBitmapButton; private var rankLabel:Label; private var nameLabel:Label; private var submitScoreButton:ScaleBitmapButton; private var background:Bitmap; private var character:Character; private var expDummyGroup:Group; private var characterButton:ScaleBitmapButton; private var charSprite:BitmapMovie; private var shopButton:ScaleBitmapButton; private var levelButton:ScaleBitmapButton; private var expLabel:Label; private var frame:ScaleBitmap; private var levels:Levels; private var currentTutorialId:int; private var goldLabel:Label; public static const name:String = "lounge"; public function Lounge(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_LEFT).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local3:LabelStyle = new LabelStyle().clone(_local2).setSize(30).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName); var _local4:LabelStyle = new LabelStyle().clone(_local2).setAlign(LabelStyle.ALIGN_CENTER); background = new Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_TITLE_BG).bitmapData); group = new Sprite(); group.x = (group.y = 8); var _local5:BitmapData = new BitmapData(48, 48); _local5.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME3).bitmapData, new Rectangle(0, 0, 48, 48), new Point()); frame = new ScaleBitmap(_local5); frame.scale9Grid = new Rectangle(16, 16, 16, 16); frame.width = 624; frame.height = 464; var _local6:Sprite = new Sprite(); _local6.graphics.beginFill(0, 0.1); _local6.graphics.drawRoundRect(0, 0, 584, 108, 10); _local6.x = (_local6.y = 20); charSprite = new BitmapMovie(new BitmapData(64, 64, true, 0xFFFFFF), 64, 64); charSprite.x = (charSprite.y = 24); mainMenuButton = new ScaleBitmapButton(Words.LOUNGE_MAINMENU, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); mainMenuButton.buttonLabelStyle = _local4; mainMenuButton.addSound(Config.ASSET_SFX_CLICK); mainMenuButton.width = 64; mainMenuButton.height = 64; mainMenuButton.x = ((frame.width - 24) - mainMenuButton.width); mainMenuButton.y = 24; nameLabel = new Label("", _local3); nameLabel.element.width = 504; nameLabel.element.height = 36; nameLabel.element.x = 96; nameLabel.element.y = 24; scoreLabel = new Label("", _local2); scoreLabel.element.width = 504; scoreLabel.element.height = 16; scoreLabel.element.x = 96; scoreLabel.element.y = (nameLabel.element.y + nameLabel.element.height); submitScoreButton = new ScaleBitmapButton(Words.LOUNGE_SUBMITSCORE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON2).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); submitScoreButton.buttonLabelStyle = _local4; submitScoreButton.addSound(Config.ASSET_SFX_CLICK); submitScoreButton.width = 68; submitScoreButton.height = 64; submitScoreButton.x = ((mainMenuButton.x - submitScoreButton.width) - 8); submitScoreButton.y = 24; rankLabel = new Label("", _local2); rankLabel.element.width = 72; rankLabel.element.height = 16; rankLabel.element.x = 96; rankLabel.element.y = (scoreLabel.element.y + scoreLabel.element.height); expLabel = new Label("", _local2); expLabel.element.width = 128; expLabel.element.height = 16; expLabel.element.x = ((rankLabel.element.x + rankLabel.element.width) + 8); expLabel.element.y = rankLabel.element.y; goldLabel = new Label("", _local2); goldLabel.element.width = 128; goldLabel.element.height = 16; goldLabel.element.x = ((expLabel.element.x + expLabel.element.width) + 8); goldLabel.element.y = expLabel.element.y; levelButton = new ScaleBitmapButton(Words.LOUNGE_LEVEL, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONTAB).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8), true); characterButton = new ScaleBitmapButton(Words.LOUNGE_CHAR, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONTAB).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8), true); shopButton = new ScaleBitmapButton(Words.LOUNGE_SHOP, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONTAB).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8), true); levelButton.buttonLabelStyle = _local4; levelButton.addSound(Config.ASSET_SFX_CLICK); characterButton.buttonLabelStyle = _local4; characterButton.addSound(Config.ASSET_SFX_CLICK); shopButton.buttonLabelStyle = _local4; shopButton.addSound(Config.ASSET_SFX_CLICK); levelButton.width = (characterButton.width = (shopButton.width = 192)); levelButton.height = (characterButton.height = (shopButton.height = 32)); levelButton.x = 24; levelButton.y = 96; characterButton.x = (levelButton.x + levelButton.width); characterButton.y = 96; shopButton.x = (characterButton.x + characterButton.width); shopButton.y = 96; levels = new Levels(goToLevel); character = new Character(); shop = new Shop(); levels.sprite.x = (character.sprite.x = (shop.sprite.x = 40)); levels.sprite.y = (character.sprite.y = (shop.sprite.y = 152)); expDummyGroup = new Group(); group.addChild(frame); group.addChild(_local6); group.addChild(charSprite); group.addChild(nameLabel.element); group.addChild(scoreLabel.element); group.addChild(rankLabel.element); group.addChild(expLabel.element); group.addChild(goldLabel.element); group.addChild(mainMenuButton); group.addChild(submitScoreButton); group.addChild(levelButton); group.addChild(characterButton); group.addChild(shopButton); group.addChild(levels.sprite); group.addChild(character.sprite); group.addChild(shop.sprite); group.addChild(expDummyGroup.sprite); contentLayer.addChild(background); contentLayer.addChild(group); addDialog(OperatorMessage.name, new OperatorMessage(_arg1, dialogLayer, showTutorial, endTutorial)); addDialog(HighScore.name, new HighScore(_arg1, dialogLayer, null)); } override public function init():void{ SWFConsole.output("[enter] lounge screen"); Profile.instance.updateRank(); charSprite.setupFrames(getChar(Profile.instance.char)); nameLabel.update(Profile.instance.name); scoreLabel.update((Words.LOUNGE_SCORE + Profile.instance.score.toString())); rankLabel.update((Words.LOUNGE_RANK + Profile.instance.rank.toString())); expLabel.update((Words.LOUNGE_EXP + Profile.instance.exp.toString())); goldLabel.update((Words.LOUNGE_GOLD + Profile.instance.gold.toString())); currentGold = Profile.instance.gold; captureInputs(); select(1); contentLayer.addEventListener(Event.ENTER_FRAME, onEnterFrame); if (Profile.instance.showTutorial){ currentTutorialId = 0; showTutorial(); }; } private function onClickLevel():void{ select(1); } private function onExpMove(_arg1:MouseEvent):void{ var _local2:int = ((Profile.instance.rank)>0) ? Profile.instance.expForNextRank((Profile.instance.rank - 1)) : 0; var _local3:int = Profile.instance.expForNextRank(Profile.instance.rank); var _local4:int = ((Profile.instance.exp)>0) ? (Profile.instance.exp - _local2) : 0; var _local5:int = (_local3 - _local2); var _local6:Number = (_local4 / _local5); expDummyGroup.updateTooltip("Experience", (((("Exp to next rank:\n" + _local3.toString()) + "\n(") + int((_local6 * 100))) + "%)")); } private function onClickSubmitScore():void{ initDialog(HighScore.name, {status:"sending"}); showDialog(HighScore.name); } private function onExpOver(_arg1:MouseEvent):void{ expDummyGroup.showTooltip(); if (!expLabel.element.hasEventListener(MouseEvent.MOUSE_MOVE)){ expLabel.element.addEventListener(MouseEvent.MOUSE_MOVE, onExpMove); }; } private function onExpOut(_arg1:MouseEvent):void{ expDummyGroup.hideTooltip(); if (expLabel.element.hasEventListener(MouseEvent.MOUSE_MOVE)){ expLabel.element.removeEventListener(MouseEvent.MOUSE_MOVE, onExpMove); }; } private function onClickCharacter():void{ select(2); } private function onClickMainMenu():void{ contentLayer.removeEventListener(Event.ENTER_FRAME, onEnterFrame); Profile.instance.save(); nextScreenId = Title.name; close(); } private function onEnterFrame(_arg1:Event):void{ var _local2:int; if (Profile.instance.gold != currentGold){ _local2 = (Profile.instance.gold - currentGold); if (_local2 < 0){ if (Math.abs(_local2) < 10){ currentGold--; } else { currentGold = (currentGold - 10); }; goldLabel.update((Words.LOUNGE_GOLD + currentGold.toString())); } else { if (Math.abs(_local2) < 10){ currentGold++; } else { currentGold = (currentGold + 10); }; goldLabel.update((Words.LOUNGE_GOLD + currentGold.toString())); }; }; } public function updateGold():void{ goldLabel.update((Words.LOUNGE_GOLD + Profile.instance.gold.toString())); } private function getChar(_arg1:int):BitmapData{ var _local2:BitmapData; var _local3:BitmapData; var _local4:BitmapData; var _local5:BitmapData; var _local6:BitmapData; switch (_arg1){ case 1: _local2 = new BitmapData(320, 64); _local2.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_WARRIOR).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local2); case 2: _local3 = new BitmapData(320, 64); _local3.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_HUNTER).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local3); case 3: _local4 = new BitmapData(320, 64); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_KNIGHT).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local4); case 4: _local5 = new BitmapData(320, 64); _local5.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_HERO_PALADIN).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); return (_local5); default: _local6 = new BitmapData(64, 64); _local6.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_UNKNOWNHERO).bitmapData, new Rectangle(0, 0, 64, 64), new Point()); return (_local6); }; } override public function captureInputs():void{ mainMenuButton.click = onClickMainMenu; levelButton.click = onClickLevel; characterButton.click = onClickCharacter; shopButton.click = onClickShop; submitScoreButton.click = onClickSubmitScore; expLabel.element.addEventListener(MouseEvent.MOUSE_OVER, onExpOver); expLabel.element.addEventListener(MouseEvent.MOUSE_OUT, onExpOut); } override public function releaseInputs():void{ mainMenuButton.click = null; levelButton.click = null; characterButton.click = null; shopButton.click = null; submitScoreButton.click = null; expLabel.element.removeEventListener(MouseEvent.MOUSE_OVER, onExpOver); expLabel.element.removeEventListener(MouseEvent.MOUSE_OUT, onExpOut); } private function endTutorial():void{ Profile.instance.showTutorial = false; nextScreenId = _slot1.name; close(); } private function goToLevel(_arg1:int):void{ Profile.instance.currentLevel = _arg1; nextScreenId = Play.name; close(); } private function reset():void{ levels.sprite.visible = false; character.sprite.visible = false; shop.sprite.visible = false; levels.hideTooltip(); character.hideTooltip(); shop.hideTooltip(); levelButton.unselect(); characterButton.unselect(); shopButton.unselect(); } private function showTutorial():void{ switch (currentTutorialId){ case 0: currentTutorialId++; initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_61]}); showDialog(OperatorMessage.name); break; case 1: currentTutorialId++; select(2); initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_62]}); showDialog(OperatorMessage.name); break; case 2: currentTutorialId++; initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_70]}); showDialog(OperatorMessage.name); break; case 3: currentTutorialId++; select(3); initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_80]}); showDialog(OperatorMessage.name); break; case 4: currentTutorialId++; initDialog(OperatorMessage.name, {texts:[Words.OPERATOR_TEXT_90]}); showDialog(OperatorMessage.name); break; case 5: endTutorial(); break; }; } private function select(_arg1:int):void{ reset(); switch (_arg1){ case 1: levelButton.select(true); levels.init(); levels.sprite.visible = true; break; case 2: characterButton.select(true); character.init(); character.sprite.visible = true; break; case 3: shopButton.select(true); shop.init(); shop.sprite.visible = true; break; }; } override public function pause():void{ releaseInputs(); } private function onClickShop():void{ select(3); } } }//package game.screens
Section 302
//Naration (game.screens.Naration) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import game.*; import gs.*; import rl.dev.*; import easing.*; import flash.ui.*; public class Naration extends Screen { private var nextLabel:Label; private var descLabel:Label; private var pics:Array; private var pic:Bitmap; private var skipLabel:Label; private var isEnding:Boolean; private var currentIndex:int; public static const name:String = "naration"; public function Naration(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(2).setHTML(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT); var _local3:LabelStyle = new LabelStyle().clone(_local2).setAlign(LabelStyle.ALIGN_CENTER); skipLabel = new Label(Words.NARRATION_SKIP, _local2); nextLabel = new Label(Words.NARRATION_CONTINUE, new LabelStyle().clone(_local2).setAlign(LabelStyle.ALIGN_RIGHT)); descLabel = new Label("", _local3); pic = new Bitmap(new BitmapData(320, 240, false, 0xFFFFFF)); skipLabel.element.y = (Config.STAGE_HEIGHT - skipLabel.element.height); nextLabel.element.y = (Config.STAGE_HEIGHT - nextLabel.element.height); nextLabel.element.x = (Config.STAGE_WIDTH - nextLabel.element.width); pic.x = ((Config.STAGE_WIDTH - pic.width) * 0.5); pic.y = ((Config.STAGE_HEIGHT - pic.height) * 0.5); var _local4:Sprite = new Sprite(); _local4.graphics.beginFill(0); _local4.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); contentLayer.addChild(_local4); contentLayer.addChild(pic); contentLayer.addChild(skipLabel.element); contentLayer.addChild(nextLabel.element); } private function onEscape():void{ if (isEnding){ nextScreenId = LevelSummary.name; } else { nextScreenId = Play.name; }; close(); } private function hide():void{ TweenLite.to(pic, 0.5, {alpha:0, ease:Sine.easeOut, onComplete:change}); } override public function releaseInputs():void{ app.unregisterMouse(App.CLICK, onClickContinue); app.unregisterKey(App.DOWN, Keyboard.ESCAPE, onEscape); } override public function cleanup():void{ releaseInputs(); } override public function captureInputs():void{ app.registerMouse(App.CLICK, onClickContinue); app.registerKey(App.DOWN, Keyboard.ESCAPE, onEscape); } override public function init():void{ currentIndex = 0; pics = []; isEnding = false; if ((((Profile.instance.currentLevel == 6)) && (Profile.instance.hasFinished))){ switch (Profile.instance.char){ case 1: NewgroundsAPI.logCustomEvent("Warrior"); break; case 2: NewgroundsAPI.logCustomEvent("Hunter"); break; case 3: NewgroundsAPI.logCustomEvent("Knight"); break; case 4: NewgroundsAPI.logCustomEvent("Paladin"); break; }; SWFConsole.output("[enter] -- END OF GAME --"); isEnding = true; pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_END_01).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_END_02).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_END_03).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_END_04).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_END_05).bitmapData); } else { SWFConsole.output("[enter] -- BEGINNING OF GAME --"); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_01).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_02).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_03).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_04).bitmapData); pics.push(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_05).bitmapData); }; pic.bitmapData = pics[currentIndex]; } private function onClickContinue():void{ if (currentIndex < (pics.length - 1)){ currentIndex++; hide(); } else { onEscape(); }; } private function change():void{ pic.bitmapData = pics[currentIndex]; show(); } override public function play():void{ captureInputs(); } private function show():void{ TweenLite.to(pic, 0.5, {alpha:1, ease:Sine.easeOut}); } } }//package game.screens
Section 303
//Play (game.screens.Play) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.logics.*; import com.soybeansoft.display.blit.*; import game.*; import game.screens.widgets.*; import rl.dev.*; import game.levels.*; import game.screens.dialogs.*; import flash.ui.*; public class Play extends Screen { private var finishTime:int; public var chainMultiply:ChainMultiply; private var arena:Render; public var levelManager:LevelManager; public var chainBar:ChainBar; private var healthBar:HUDBar; private var tickElapsed:int; private var magicBar:HUDBar; private var background:Layer; private var finishDelay:int; private var object:Layer; private var HUD:Sprite; private var isMouseLMB:Boolean; private var mousePosition:Point; public var objectManager:ObjectManager; private var isPaused:Boolean; private var unfinishDelay:int; public static const name:String = "play"; public function Play(_arg1:App){ super(_arg1); isPaused = false; isMouseLMB = false; mousePosition = new Point(); arena = new Render(Config.STAGE_WIDTH, Config.STAGE_HEIGHT); HUD = new Sprite(); background = new Layer(); object = new Layer(); arena.addLayer(background); arena.addLayer(object); contentLayer.addChild(arena); contentLayer.addChild(HUD); levelManager = new LevelManager(this, arena, background); levelManager.add(Level0.name, new Level0()); levelManager.add(Level1.name, new Level1()); levelManager.add(Level2.name, new Level2()); levelManager.add(Level3.name, new Level3()); levelManager.add(Level4.name, new Level4()); levelManager.add(Level5.name, new Level5()); levelManager.add(Level6.name, new Level6()); levelManager.add(Level7.name, new Level7()); objectManager = new ObjectManager(this, object); addDialog(Pause.name, new Pause(_arg1, dialogLayer, play, exit)); addDialog(OperatorMessage.name, new OperatorMessage(_arg1, dialogLayer, play, exit)); } private function onUpdate(_arg1:Event):void{ if (((contentLayer.hasEventListener(Event.ENTER_FRAME)) || (!(isPaused)))){ tickElapsed++; objectManager.elapsed = tickElapsed; if (((levelManager.isCleared) || ((objectManager.hero == null)))){ Profile.instance.tempGameData.hasFinishedLevel = (levelManager.isCleared) ? true : false; Profile.instance.save(); if (objectManager.hero == null){ releaseInputs(); } else { objectManager.hero.isWeaponActive = false; }; if (finishTime == -1){ if (levelManager.isCleared){ SWFConsole.output("... starting finished delay before closing ..."); finishTime = finishDelay; } else { SWFConsole.output("... starting unfinished delay before closing ..."); finishTime = unfinishDelay; }; }; }; objectManager.applyInputs(isMouseLMB, mousePosition); objectManager.update(); levelManager.update(); if (objectManager.hero != null){ healthBar.update(objectManager.hero.healthPerc, objectManager.hero.currentHealth, objectManager.hero.totalHealth); magicBar.update(objectManager.hero.magicPerc, objectManager.hero.currentMagic, objectManager.hero.totalMagic, objectManager.hero.hasEnoughMagic); } else { healthBar.update(0, 0, 0); chainBar.hide(); }; if (finishTime > -1){ finishTime--; if (finishTime <= 0){ pause(); finished(); }; }; render(); } else { pause(); }; } override public function init():void{ SWFConsole.output("[enter] play game"); cleanupHUD(); ObjectFactory(objectManager.factory).setupCoinPool(); CharmsData.instance.setup(); levelManager.setup(); unfinishDelay = 60; finishDelay = 180; finishTime = -1; isPaused = false; isMouseLMB = false; mousePosition = new Point(app.sprite.mouseX, app.sprite.mouseY); tickElapsed = 0; Profile.instance.tempGameData.levelTrack = {shots:0, hits:0, chains:0, kills:0, criticals:0, misses:0, grazings:0, score:0, exp:0}; Sounds.instance.playMusic(Config.ASSET_SBG_1); render(); } private function render():void{ arena.render(); } private function exit():void{ nextScreenId = Lounge.name; close(); } private function onPressCheat():void{ SWFConsole.output(" [CHEAT] activated! "); if (!Profile.instance.hasFinished){ if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ if (SharedObjects.instance.current.data[Profile.instance.name] != null){ SharedObjects.instance.current.data[Profile.instance.name][Profile.instance.char] = true; SharedObjects.instance.update(); SWFConsole.output((((((((" [SO] Checking SO AWARDS: " + SharedObjects.instance.current.data[Profile.instance.name]["1"]) + " ") + SharedObjects.instance.current.data[Profile.instance.name]["2"]) + " ") + SharedObjects.instance.current.data[Profile.instance.name]["3"]) + " ") + SharedObjects.instance.current.data[Profile.instance.name]["4"])); } else { SWFConsole.output((" [SO] Unidentified data: " + Profile.instance.name)); }; } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; nextScreenId = Lounge.name; SharedObjects.instance.apply(Profile.instance.lso_id); Profile.instance.hasFinished = true; Profile.instance.save(); }; pause(); close(); } override public function cleanup():void{ objectManager.cleanup(); levelManager.cleanup(); Sounds.instance.stopMusic(); super.cleanup(); } public function showMessageDialog(_arg1:Array):void{ pause(); initDialog(OperatorMessage.name, {texts:_arg1}); showDialog(OperatorMessage.name); } override public function play():void{ captureInputs(); app.sprite.addEventListener(Event.ENTER_FRAME, onUpdate); app.reFocus(); Mouse.hide(); } private function cleanupHUD():void{ var _local1:int = (HUD.numChildren - 1); while (_local1 >= 0) { HUD.removeChildAt(_local1); _local1--; }; healthBar = new HUDBar("health ", 0xCC0000); magicBar = new HUDBar("magic ", 32972); chainBar = new ChainBar(); chainMultiply = new ChainMultiply(); healthBar.sprite.x = (healthBar.sprite.y = 4); magicBar.sprite.x = ((Config.STAGE_WIDTH - magicBar.sprite.width) - 4); magicBar.sprite.y = 4; chainBar.sprite.y = ((Config.STAGE_HEIGHT - chainBar.sprite.height) - 16); chainMultiply.sprite.y = (chainBar.sprite.y - chainMultiply.sprite.height); var _local2:Label = new Label("gamesfree<font color='#FFFF00'>.com</font>", new LabelStyle().setHTML(true).setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_SPONSOR).fontName).setEmbed(true).setSize(8).setColor(0xFFFFFF).setFilter(Config.FONTFILTER01).setAutoSize(LabelStyle.AUTOSIZE_LEFT)); _local2.element.x = int(((Config.STAGE_WIDTH - _local2.element.width) * 0.5)); _local2.element.y = 8; HUD.addChild(healthBar.sprite); HUD.addChild(magicBar.sprite); HUD.addChild(chainBar.sprite); HUD.addChild(chainMultiply.sprite); HUD.addChild(_local2.element); } private function onMouseUp():void{ isMouseLMB = false; } private function onPressSpace():void{ objectManager.hero.executeSpell(); } private function onPressEscape():void{ pause(); showDialog(Pause.name); } private function onMouseDown():void{ isMouseLMB = true; } override public function captureInputs():void{ app.registerMouse(App.DOWN, onMouseDown); app.registerMouse(App.UP, onMouseUp); app.registerMouse(App.MOVE, onMouseMove); app.registerKey(App.UP, Config.KEY_SPACE, onPressSpace); app.registerKey(App.UP, Config.KEY_ESC, onPressEscape); } override public function releaseInputs():void{ app.unregisterMouse(App.DOWN, onMouseDown); app.unregisterMouse(App.UP, onMouseUp); app.unregisterMouse(App.MOVE, onMouseMove); app.unregisterKey(App.UP, Config.KEY_SPACE, onPressSpace); app.unregisterKey(App.UP, Config.KEY_ESC, onPressEscape); } private function finished():void{ var _local1:Object; var _local2:Boolean; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:Boolean; if (((((levelManager.isCleared) && ((Profile.instance.currentLevel == 6)))) && (!(Profile.instance.hasFinished)))){ if (SharedObjects.instance.apply(Config.LSO_AWARDS)){ _local1 = SharedObjects.instance.current.data[Profile.instance.name]; if (_local1 != null){ _local1[Profile.instance.char] = true; SharedObjects.instance.update(); _local2 = (_local1["1"] as Boolean); _local3 = (_local1["2"] as Boolean); _local4 = (_local1["3"] as Boolean); _local5 = (_local1["4"] as Boolean); _local6 = (_local1["5"] as Boolean); _local7 = (_local1["6"] as Boolean); _local8 = (_local1["7"] as Boolean); _local9 = (_local1["8"] as Boolean); if (((((((((!(_local6)) && (_local2))) && (_local3))) && (_local4))) && (_local5))){ _local1["5"] = true; SharedObjects.instance.update(); }; if (((((((((((((((((!(_local7)) && (Profile.instance.gem1))) && (Profile.instance.gem2))) && (Profile.instance.gem3))) && (Profile.instance.gem4))) && (Profile.instance.gem5))) && (Profile.instance.gem6))) && (Profile.instance.gem7))) && (Profile.instance.gem8))){ _local1["6"] = true; SharedObjects.instance.update(); }; if (((!(_local8)) && ((Profile.instance.chains >= 1000000)))){ _local1["7"] = true; SharedObjects.instance.update(); }; if (((!(_local9)) && ((Profile.instance.deaths <= 10)))){ _local1["8"] = true; SharedObjects.instance.update(); }; SWFConsole.output((((((((((((((((" [SO] Checking SO AWARDS: " + _local2) + " ") + _local3) + " ") + _local4) + " ") + _local5) + " ") + _local6) + " ") + _local7) + " ") + _local8) + " ") + _local9)); } else { SWFConsole.output((" [SO] Unidentified data: " + Profile.instance.name)); }; } else { SWFConsole.output((" [SO] Unable to open SO: " + Config.LSO_AWARDS)); }; nextScreenId = Naration.name; SharedObjects.instance.apply(Profile.instance.lso_id); Profile.instance.hasFinished = true; Profile.instance.save(); } else { nextScreenId = LevelSummary.name; }; close(); } override public function pause():void{ releaseInputs(); app.sprite.removeEventListener(Event.ENTER_FRAME, onUpdate); Mouse.show(); } private function onMouseMove():void{ mousePosition = new Point(app.sprite.mouseX, app.sprite.mouseY); } } }//package game.screens
Section 304
//SelectProfile (game.screens.SelectProfile) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import game.screens.widgets.*; import org.bytearray.display.*; import game.screens.dialogs.*; import flash.filters.*; public class SelectProfile extends Screen { private var slot03:SaveSlot; private var slot01:SaveSlot; private var slot02:SaveSlot; private var groupBackground:ScaleBitmap; private var title:Label; private var back:ScaleBitmapButton; private var charSelectSlotID:String; private var background:Bitmap; private var group:Sprite; public static const name:String = "select profile"; public function SelectProfile(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4); var _local3:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(40).setColor(0xF2CE00).setFilter([new BevelFilter(1, 45, 0xFFFFFF, 0.7, 0xB99400, 0.8, 0, 0, 10), new GlowFilter(0xBE0000, 1, 8, 8, 14), new BevelFilter(1, 45, 0xFFFFFF, 0.4, 0x8C0000, 1, 0, 0, 14), new DropShadowFilter(2, 45, 0x666666, 0.25, 0, 0, 10)]); background = new Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_TITLE_BG).bitmapData); group = new Sprite(); group.x = (group.y = 80); var _local4:BitmapData = new BitmapData(24, 24); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONFRAME2).bitmapData, new Rectangle(48, 0, 24, 24), new Point()); groupBackground = new ScaleBitmap(_local4); groupBackground.scale9Grid = new Rectangle(8, 8, 8, 8); groupBackground.width = 480; groupBackground.height = 320; title = new Label(Words.SELECT_PROFILE_TITLE, _local3); title.element.width = 640; title.element.height = 56; title.element.y = 24; slot01 = new SaveSlot(Config.LSO_SLOT_01, newGame, continueGame, selectCharacter); slot02 = new SaveSlot(Config.LSO_SLOT_02, newGame, continueGame, selectCharacter); slot03 = new SaveSlot(Config.LSO_SLOT_03, newGame, continueGame, selectCharacter); slot01.sprite.x = (slot02.sprite.x = (slot03.sprite.x = 16)); slot01.sprite.y = 16; slot02.sprite.y = (slot01.sprite.y + slot01.sprite.height); slot03.sprite.y = (slot02.sprite.y + slot02.sprite.height); back = new ScaleBitmapButton(Words.COMMON_CANCEL, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); back.buttonLabelStyle = _local2; back.addSound(Config.ASSET_SFX_CLICK); back.width = 128; back.height = 32; back.x = ((Config.STAGE_WIDTH - back.width) * 0.5); back.y = 416; group.addChild(groupBackground); group.addChild(slot01.sprite); group.addChild(slot02.sprite); group.addChild(slot03.sprite); contentLayer.addChild(background); contentLayer.addChild(title.element); contentLayer.addChild(group); contentLayer.addChild(back); addDialog(SelectCharacter.name, new SelectCharacter(_arg1, dialogLayer, doNothing, updateSelectedCharacter)); charSelectSlotID = ""; } private function doNothing():void{ } private function updateSelectedCharacter(_arg1:int):void{ switch (charSelectSlotID){ case Config.LSO_SLOT_01: slot01.insertChar(_arg1); break; case Config.LSO_SLOT_02: slot02.insertChar(_arg1); break; case Config.LSO_SLOT_03: slot03.insertChar(_arg1); break; }; charSelectSlotID = ""; } override public function captureInputs():void{ back.click = onClickBack; } override public function releaseInputs():void{ back.click = null; } private function selectCharacter(_arg1:String):void{ charSelectSlotID = _arg1; showDialog(SelectCharacter.name); } override public function init():void{ slot01.init(); slot02.init(); slot03.init(); captureInputs(); } private function newGame():void{ nextScreenId = Naration.name; close(); } override public function pause():void{ releaseInputs(); } private function onClickBack():void{ nextScreenId = Title.name; close(); } private function continueGame():void{ nextScreenId = Lounge.name; close(); } } }//package game.screens
Section 305
//SoySplash (game.screens.SoySplash) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import com.soybeansoft.manager.*; import flash.utils.*; import game.*; import flash.media.*; public class SoySplash extends Screen { private var splash:Bitmap; private var splashSound:Sound; private var SoySplashSound:Class; public static const name:String = "soy splash"; public function SoySplash(_arg1:App){ SoySplashSound = SoySplash_SoySplashSound; super(_arg1); } private function goNext():void{ nextScreenId = Title.name; close(); } override public function cleanup():void{ contentLayer.removeChild(splash); splash = null; splashSound = null; super.cleanup(); } override public function play():void{ setTimeout(goNext, (1000 * 1.5)); splashSound.play(); } override public function init():void{ splash = (Assets.instance.fetch(Assets.BITMAP, Config.ASSET_SOYBEANSPLASH) as Bitmap); contentLayer.addChild(splash); splashSound = new SoySplashSound(); } } }//package game.screens
Section 306
//SoySplash_SoySplashSound (game.screens.SoySplash_SoySplashSound) package game.screens { import mx.core.*; public class SoySplash_SoySplashSound extends SoundAsset { } }//package game.screens
Section 307
//SponsorSplash (game.screens.SponsorSplash) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.manager.*; import flash.net.*; import flash.utils.*; import game.*; public class SponsorSplash extends Screen { private var splash:Sprite; public static const name:String = "sponsor splash"; public function SponsorSplash(_arg1:App){ super(_arg1); } override public function init():void{ splash = (Assets.instance.fetch(Assets.VECTOR, Config.ASSET_SPONSOR_SPLASH) as Sprite); contentLayer.addChild(splash); contentLayer.buttonMode = true; contentLayer.useHandCursor = true; } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } private function goNext():void{ nextScreenId = SoySplash.name; close(); } override public function play():void{ captureInputs(); setTimeout(goNext, (1000 * 3.7)); } override public function pause():void{ releaseInputs(); } override public function releaseInputs():void{ splash.removeEventListener(MouseEvent.CLICK, onClickSponsor); } override public function cleanup():void{ contentLayer.removeChild(splash); splash = null; super.cleanup(); } override public function captureInputs():void{ splash.addEventListener(MouseEvent.CLICK, onClickSponsor); } } }//package game.screens
Section 308
//Title (game.screens.Title) package game.screens { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.ui.*; import flash.events.*; import com.soybeansoft.manager.*; import flash.net.*; import com.soybeansoft.ui.widget.*; import flash.geom.*; import game.*; import gs.*; import com.soybeansoft.util.*; import rl.dev.*; import game.screens.dialogs.*; import easing.*; import flash.text.*; import flash.filters.*; public class Title extends Screen { private var soylogo:Bitmap; private var playButton:ScaleBitmapButton; private var playmoreButton:ScaleBitmapButton; private var title:Label; private var titleLogo:BitmapClips; private var navGroup:Sprite; private var sponsorButton:Sprite; private var background:Bitmap; private var continueButton:ScaleBitmapButton; private var scoresButton:ScaleBitmapButton; private var creditsButton:ScaleBitmapButton; public static const name:String = "Title"; public function Title(_arg1:App){ super(_arg1); var _local2:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_NORMAL).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(Config.FONTSIZE_NORMAL).setColor(Config.FONTCOLOR_FILL).setFilter(Config.FONTFILTER01).setWordWrap(true).setMultiLine(true).setLeading(4).setAntiAliasType(AntiAliasType.ADVANCED); var _local3:LabelStyle = new LabelStyle().setFont(Assets.instance.fetch(Assets.FONT, Config.ASSET_FONT_HEADING1).fontName).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER).setSize(80).setColor(0xF2CE00).setFilter([new BevelFilter(1, 45, 0xFFFFFF, 0.7, 0xB99400, 0.7, 0, 0, 10), new GlowFilter(0xBE0000, 1, 10, 10, 20), new BevelFilter(1, 45, 0xFFFFFF, 0.4, 0x8C0000, 1, 0, 0, 20), new DropShadowFilter(4, 45, 0x666666, 0.25, 0, 0, 10)]); background = new Bitmap(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_TITLE_BG).bitmapData); title = new Label(Words.TITLE_TITLE, _local3); title.element.width = Config.STAGE_WIDTH; title.element.height = 84; title.element.y = 240; titleLogo = new BitmapClips(Config.ASSET_TITLE_LOGO, 315, 104); titleLogo.delay = 2; var _local4:BitmapData = new BitmapData(128, 24, true, 0xFFFFFF); _local4.copyPixels(Assets.instance.fetch(Assets.BITMAP, Config.ASSET_SOYBEANLOGO).bitmapData, new Rectangle(0, 0, 128, 24), new Point()); soylogo = new Bitmap(_local4); soylogo.x = ((Config.STAGE_WIDTH - soylogo.width) * 0.5); continueButton = new ScaleBitmapButton(Words.TITLE_CONTINUE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); continueButton.buttonLabelStyle = _local2; continueButton.addSound(Config.ASSET_SFX_CLICK); continueButton.width = 100; continueButton.height = 32; continueButton.x = 0; continueButton.y = 0; playButton = new ScaleBitmapButton(Words.TITLE_PLAY, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); playButton.buttonLabelStyle = _local2; playButton.addSound(Config.ASSET_SFX_CLICK); playButton.width = 100; playButton.height = 32; playButton.x = 108; playButton.y = 0; scoresButton = new ScaleBitmapButton(Words.TITLE_SCORES, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); scoresButton.buttonLabelStyle = _local2; scoresButton.addSound(Config.ASSET_SFX_CLICK); scoresButton.width = 100; scoresButton.height = 32; scoresButton.x = 0; scoresButton.y = 40; creditsButton = new ScaleBitmapButton(Words.TITLE_CREDITS, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); creditsButton.buttonLabelStyle = _local2; creditsButton.addSound(Config.ASSET_SFX_CLICK); creditsButton.width = 100; creditsButton.height = 32; creditsButton.x = 108; creditsButton.y = 40; navGroup = new Sprite(); navGroup.addChild(continueButton); navGroup.addChild(playButton); navGroup.addChild(scoresButton); navGroup.addChild(creditsButton); navGroup.x = ((Config.STAGE_WIDTH - navGroup.width) * 0.5); navGroup.y = (((Config.STAGE_HEIGHT - navGroup.height) * 0.5) + 32); playmoreButton = new ScaleBitmapButton(Words.TITLE_PLAYMORE, Assets.instance.fetch(Assets.BITMAP, Config.ASSET_COMMONBUTTON).bitmapData, 24, 24, new Rectangle(8, 8, 8, 8)); playmoreButton.buttonLabelStyle = _local2; playmoreButton.addSound(Config.ASSET_SFX_CLICK); playmoreButton.width = 208; playmoreButton.height = 32; playmoreButton.x = ((Config.STAGE_WIDTH - playmoreButton.width) * 0.5); sponsorButton = (Assets.instance.fetch(Assets.VECTOR, Config.ASSET_SPONSOR_BUTTON) as Sprite); sponsorButton.x = ((Config.STAGE_WIDTH - sponsorButton.width) * 0.5); sponsorButton.filters = [new GlowFilter(0, 1, 5, 5, 1.4)]; contentLayer.addChild(background); contentLayer.addChild(titleLogo.bitmap); contentLayer.addChild(navGroup); contentLayer.addChild(playmoreButton); contentLayer.addChild(soylogo); contentLayer.addChild(sponsorButton); addDialog(HighScore.name, new HighScore(_arg1, dialogLayer, null)); } private function onClickSponsor():void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } private function onClickPlay():void{ Profile.instance.reset(); Config.isNewGame = true; nextScreenId = SelectProfile.name; close(); } override public function captureInputs():void{ playButton.click = onClickPlay; continueButton.click = onClickContinue; creditsButton.click = onClickCredits; playmoreButton.click = onClickSponsor; scoresButton.click = onClickScores; sponsorButton.addEventListener(MouseEvent.CLICK, onClickEventSponsor); } override public function init():void{ SWFConsole.output("[enter] title screen"); app.sprite.stage.quality = StageQuality.HIGH; titleLogo.stop(true); titleLogo.bitmap.x = ((Config.STAGE_WIDTH - titleLogo.bitmap.width) * 0.5); titleLogo.bitmap.y = (-(titleLogo.bitmap.height) - 10); continueButton.x = Config.STAGE_WIDTH; playButton.x = -(Config.STAGE_WIDTH); scoresButton.x = Config.STAGE_WIDTH; creditsButton.x = -(Config.STAGE_WIDTH); playmoreButton.y = (Config.STAGE_HEIGHT + 32); soylogo.y = (-(soylogo.height) - 10); sponsorButton.y = (Config.STAGE_HEIGHT + 32); var _local1:int; if (SharedObjects.instance.apply(Config.LSO_SLOTS)){ if ((((SharedObjects.instance.current.data[Config.LSO_SLOT_01].name == Words.SELECT_PROFILE_EMPTYNAME)) || ((SharedObjects.instance.current.data[Config.LSO_SLOT_01].char == 0)))){ _local1++; }; if ((((SharedObjects.instance.current.data[Config.LSO_SLOT_02].name == Words.SELECT_PROFILE_EMPTYNAME)) || ((SharedObjects.instance.current.data[Config.LSO_SLOT_02].char == 0)))){ _local1++; }; if ((((SharedObjects.instance.current.data[Config.LSO_SLOT_03].name == Words.SELECT_PROFILE_EMPTYNAME)) || ((SharedObjects.instance.current.data[Config.LSO_SLOT_03].char == 0)))){ _local1++; }; }; continueButton.unlock(); if (_local1 == 3){ continueButton.lock(); }; } override public function releaseInputs():void{ playButton.click = null; continueButton.click = null; creditsButton.click = null; playmoreButton.click = null; scoresButton.click = null; sponsorButton.removeEventListener(MouseEvent.CLICK, onClickEventSponsor); } private function onClickEventSponsor(_arg1:MouseEvent):void{ onClickSponsor(); } private function onClickScores():void{ initDialog(HighScore.name, null); showDialog(HighScore.name); } private function onClickCredits():void{ nextScreenId = Credits.name; close(); } override public function play():void{ titleLogo.play(1); TweenLite.to(titleLogo.bitmap, 0.25, {y:((navGroup.y - 64) - titleLogo.bitmap.height), ease:Back.easeOut}); TweenLite.to(continueButton, 0.25, {delay:0.25, x:0, ease:Back.easeOut}); TweenLite.to(playButton, 0.25, {delay:0.3, x:108, ease:Back.easeOut}); TweenLite.to(scoresButton, 0.25, {delay:0.35, x:0, ease:Back.easeOut}); TweenLite.to(creditsButton, 0.25, {delay:0.45, x:108, ease:Back.easeOut}); TweenLite.to(soylogo, 0.25, {delay:0.5, y:44, ease:Back.easeOut}); TweenLite.to(playmoreButton, 0.25, {delay:0.55, y:((navGroup.y + navGroup.height) + 64), ease:Back.easeOut}); TweenLite.to(sponsorButton, 0.25, {delay:0.6, y:((navGroup.y + navGroup.height) + 16), ease:Back.easeOut}); captureInputs(); } private function onClickContinue():void{ Profile.instance.reset(); Config.isNewGame = false; nextScreenId = SelectProfile.name; close(); } override public function pause():void{ releaseInputs(); app.sprite.stage.quality = StageQuality.LOW; } } }//package game.screens
Section 309
//Config (game.Config) package game { import flash.filters.*; import flash.ui.*; public class Config { public static const ID_CHARM_SHIELD_1:int = 155; public static const ID_CHARM_SHIELD_2:int = 156; public static const ASSET_BACKPLX_KINGDOM:String = "back parallax kingdom"; public static const ASSET_LEVEL6BUTTON:String = "level 6 button"; public static const ID_TOKEN_GEM_1:int = 188; public static const ID_TOKEN_GEM_2:int = 189; public static const ASSET_FONT_SPONSOR:String = "font6"; public static const ID_TOKEN_GEM_4:int = 191; public static const ID_TOKEN_GEM_5:int = 192; public static const ID_TOKEN_GEM_6:int = 193; public static const ID_TOKEN_GEM_7:int = 194; public static const ID_TOKEN_GEM_8:int = 195; public static const ID_TOKEN_GEM_3:int = 190; public static const ASSET_TITLE_LOGO:String = "title logo"; public static const ASSET_SOYBEANSPLASH:String = "soybean splash"; public static const OBJTYPE_HERO_SUPERPROJECTILE:String = "hero super projectile"; public static const ID_CHARM_MTOH_LV_1:int = 165; public static const ID_CHARM_MTOH_LV_3:int = 163; public static const ASSET_UNKNOWNHERO:String = "unknown hero"; public static const ID_CHARM_MTOH_LV_2:int = 164; public static const ASSET_TITLE_BG:String = "title bg"; public static const ID_MISSPARTICLE:int = 110; public static const ID_ENEMY00:int = 209; public static const ID_CHARM_HTOM_LV_1:int = 162; public static const ID_CHARM_HTOM_LV_2:int = 161; public static const ID_CHARM_HTOM_LV_3:int = 160; public static const ID_ENEMY04:int = 213; public static const ID_ENEMY05:int = 214; public static const ID_ENEMY07:int = 216; public static const ASSET_FOREPLX_FIELD:String = "fore parallax field"; public static const ID_ENEMY02:int = 211; public static const ID_ENEMY06:int = 215; public static const ASSET_BULLET_HEROPALADIN:String = "bullet hero paladin"; public static const ID_ENEMY09:int = 218; public static const ID_ENEMY01:int = 210; public static const ID_ENEMY03:int = 212; public static const ASSET_SFX_SHOTHUNTER:String = "sfx shot hunter"; public static const ID_ENEMY12:int = 221; public static const ID_ENEMY13:int = 222; public static const ID_ENEMY14:int = 223; public static const ID_ENEMY15:int = 224; public static const ID_ENEMY16:int = 225; public static const ASSET_FOREPLX_DESTROYED:String = "fore parallax destroyed"; public static const ID_ENEMY19:int = 228; public static const ID_ENEMY08:int = 217; public static const ASSET_SFX_HEROHIT:String = "sfx hero hit"; public static const ID_ENEMY17:int = 226; public static const ID_ENEMY10:int = 219; public static const ID_ENEMY11:int = 220; public static const ASSET_HERO_HUNTER:String = "hero hunter"; public static const ID_ENEMY18:int = 227; public static const ASSET_GOLD_L:String = "gold l"; public static const ASSET_GOLD_M:String = "gold m"; public static const SCORE_BASE:int = 5; public static const STATS:Object = {1:{STR:4, AGI:4, WIS:4}, 2:{STR:2, AGI:7, WIS:3}, 3:{STR:6, AGI:3, WIS:3}, 4:{STR:3, AGI:2, WIS:7}}; public static const ASSET_BACKPLX_FIELD:String = "back parallax field"; public static const ID_ENEMY20:int = 229; public static const ASSET_GOLD_S:String = "gold s"; public static const ID_ENEMY22:int = 231; public static const ID_ENEMY24:int = 233; public static const ID_ENEMY25:int = 234; public static const ID_ENEMY27:int = 236; public static const ASSET_MONSTER00:String = "monster00"; public static const ASSET_MONSTER01:String = "monster01"; public static const ASSET_MONSTER02:String = "monster02"; public static const ASSET_MONSTER03:String = "monster03"; public static const ASSET_MONSTER04:String = "monster04"; public static const ASSET_MONSTER05:String = "monster05"; public static const ASSET_MONSTER06:String = "monster06"; public static const ASSET_MONSTER07:String = "monster07"; public static const ASSET_MONSTER08:String = "monster08"; public static const ASSET_MONSTER09:String = "monster09"; public static const ASSET_SPONSOR_SPLASH:String = "sponsor splash"; public static const ASSET_MIDPLX_FIELD:String = "mid parallax field"; public static const ASSET_SFX_SHOTWARRIOR:String = "sfx shot warrior"; public static const ASSET_SOUNDBUTTONS:String = "sound buttons"; public static const ASSET_PALADIN_RESULT_WIN:String = "paladin result win"; public static const ID_PICKUPPARTICLE:int = 113; public static const OBJTYPE_ACTOR:String = "actor"; public static const ID_ENEMY30:int = 239; public static const ID_EXPLOSION01EMITTER:int = 80; public static const ASSET_NARRATION_OPEN_01:String = "narration opening 01"; public static const ASSET_MONSTER11:String = "monster11"; public static const ASSET_MONSTER12:String = "monster12"; public static const ASSET_MONSTER13:String = "monster13"; public static const ASSET_MONSTER14:String = "monster14"; public static const ASSET_MONSTER15:String = "monster15"; public static const ASSET_MONSTER16:String = "monster16"; public static const ASSET_MONSTER10:String = "monster10"; public static const ASSET_MONSTER18:String = "monster18"; public static const ASSET_MONSTER19:String = "monster19"; public static const ASSET_NARRATION_OPEN_04:String = "narration opening 04"; public static const ASSET_MONSTER17:String = "monster17"; public static const ASSET_SFX_PICKUPGEM:String = "sfx pickup gem"; public static const ASSET_NARRATION_OPEN_02:String = "narration opening 02"; public static const ASSET_NARRATION_OPEN_03:String = "narration opening 03"; public static const ID_ENEMY21:int = 230; public static const ASSET_NARRATION_OPEN_05:String = "narration opening 05"; public static const ASSET_SUPERBULLET_HEROPALADIN:String = "superbullet hero paladin"; public static const ID_HERO:int = 1; public static const ID_ENEMY26:int = 235; public static const ID_ENEMY28:int = 237; public static const ID_ENEMY29:int = 238; public static const ASSET_EXPLOSION01:String = "explosion 01"; public static const ASSET_EXPLOSION02:String = "explosion 02"; public static const ASSET_MONSTER20:String = "monster20"; public static const ASSET_MONSTER21:String = "monster21"; public static const ASSET_MONSTER22:String = "monster22"; public static const ASSET_MONSTER23:String = "monster23"; public static const ASSET_MONSTER24:String = "monster24"; public static const ASSET_MONSTER25:String = "monster25"; public static const ASSET_MONSTER26:String = "monster26"; public static const ASSET_MONSTER27:String = "monster27"; public static const ASSET_MONSTER28:String = "monster28"; public static const ASSET_MONSTER29:String = "monster29"; public static const ASSET_SFX_SUPERSHOTHUNTER:String = "sfx supershot hunter"; public static const FONTFILTER01:Array = [new DropShadowFilter(1, 45, Config.FONTCOLOR_BORDER, 1, 1, 1, 10)]; public static const ASSET_EXPLOSION03:String = "explosion 03"; public static const ASSET_LEVEL5BUTTON:String = "level 5 button"; public static const VERSION:String = "0.1"; public static const FONTFILTER00:Array = [new GlowFilter(Config.FONTCOLOR_BORDER, 1, 2, 2, 10), new DropShadowFilter(1, 90, Config.FONTCOLOR_BORDER, 1, 1, 1, 10)]; public static const ASSET_MIDPLX_DESERT:String = "mid parallax desert"; public static const ASSET_MONSTER30:String = "monster30"; public static const ID_BOSS01B:int = 247; public static const FONTSIZE_STRONG:int = 11; public static const ASSET_MIDPLX_KINGDOM:String = "mid parallax kingdom"; public static const ASSET_SUPERBULLETPALADIN_PARTICLE:String = "superbullet paladin particle"; public static const ASSET_NARRATION_END_01:String = "narration ending 01"; public static const ASSET_NARRATION_END_02:String = "narration ending 02"; public static const ASSET_NARRATION_END_03:String = "narration ending 03"; public static const ASSET_NARRATION_END_04:String = "narration ending 04"; public static const ASSET_NARRATION_END_05:String = "narration ending 05"; public static const ID_BOSS01C:int = 248; public static const ASSET_BULLETENEMY01:String = "bullet enemy 01"; public static const ASSET_MISS:String = "miss"; public static const FONTSIZE_ALERT:int = 11; public static const OBJTYPE_ENEMY_PROJECTILE:String = "enemy projectile"; public static const ASSET_KNIGHT_RESULT_LOSE:String = "knight result lose"; public static const ID_ENEMY23:int = 232; public static const ASSET_FOREPLX_KINGDOM:String = "fore parallax kingdom"; public static const FONTSIZE_HEADING2:int = 40; public static const ID_EXPLOSION03PARTICLE:int = 85; public static const FONTSIZE_HEADING1:int = 80; public static const FONTSIZE_HEADING3:int = 24; public static const ID_BOSS04B:int = 254; public static const ASSET_OPERATOR:String = "operator"; public static const ID_BOSS03B:int = 252; public static const BONUS_POINT:int = 2; public static const SPELL_TIME_HUNTER:int = 20; public static const ID_BOSS05B:int = 0x0100; public static const SCORE_PICKUP:int = 5; public static const DOMAIN:Array = ["kongregate.com", "www.kongregate.com", "chat.kongregate.com", "a.kongregate.com"]; public static const ID_BOSS06B:int = 258; public static const ASSET_HERO_PALADIN:String = "hero paladin"; public static const ASSET_BACKPLX_DESERT:String = "back parallax desert"; public static const ASSET_FONT_HEADING1:String = "font3"; public static const ID_BOSS02B:int = 250; public static const ID_HERO_TURRET_BULLET:int = 315; public static const ASSET_BOSS01B:String = "boss01b"; public static const ASSET_BOSS01C:String = "boss01c"; public static const ASSET_SFX_SUPERSHOTWARRIOR:String = "sfx supershot warrior"; public static const ASSET_SPONSOR_BUTTON:String = "sponsor button"; public static const ASSET_BULLET_HEROWARRIOR2:String = "bullet hero warrior2"; public static const ID_BOSS06C:int = 259; public static const ID_HEROPROJECTILE:int = 300; public static const ID_CHARM_PICKUPAREA_15:int = 157; public static const ID_IMPACTPARTICLE:int = 91; public static const ASSET_BOSS02B:String = "boss02b"; public static const ID_HERO_HUNTER_SUPERPROJECTILE:int = 311; public static const ASSET_HUNTER_RESULT_LOSE:String = "hunter result lose"; public static const ID_CHARM_PICKUPAREA_20:int = 158; public static const STAGE_WIDTH:int = 640; public static const ASSET_LEVEL4BUTTON:String = "level 4 button"; public static const ASSET_IMPACT:String = "impact"; public static const ASSET_BOSS03B:String = "boss03b"; public static const ASSET_WARRIOR_RESULT_WIN:String = "warrior result win"; public static const ASSET_FONT_STRONG:String = "font2"; public static const STAGE_HEIGHT:int = 480; public static const ASSET_FOREPLX_CLOUD:String = "fore parallax cloud"; public static const ID_CHARM_FREE_CAST_1:int = 166; public static const ID_CHARM_FREE_CAST_2:int = 167; public static const ASSET_BACKPLX_CLOUD:String = "back parallax cloud"; public static const ASSET_BOSS04B:String = "boss04b"; public static const CHAIN_TICK:int = (STAGE_FPS * 3); public static const ID_HERO_WARRIOR_SUPERPROJECTILE:int = 310; public static const ID_HEALTH_M:int = 8; public static const ID_BOSS02:int = 249; public static const ID_HEALTH_S:int = 7; public static const ID_BOSS04:int = 253; public static const ASSET_MIDPLX_CLOUD:String = "mid parallax cloud"; public static const ASSET_KNIGHT_RESULT_WIN:String = "knight result win"; public static const ASSET_BOSS05B:String = "boss05b"; public static const ID_BOSS03:int = 251; public static const ID_BOSS05:int = 0xFF; public static const ASSET_CRIT:String = "crit"; public static const ASSET_COMMONBUTTON:String = "common button"; public static const ID_BOSS06:int = 0x0101; public static const OBJTYPE_PICKUP:String = "pickup"; public static const ID_BOSS01:int = 246; public static const ASSET_BOSS06B:String = "boss06b"; public static const ASSET_BOSS06C:String = "boss06c"; public static const ASSET_AWARDS:String = "awards"; public static const ASSET_BULLET_HEROWARRIOR:String = "bullet hero warrior"; public static const SPELL_TIME_PALADIN:int = 60; public static const SCORE_GRAZING:int = 10; public static const ASSET_MINIBOSS01:String = "miniboss01"; public static const ASSET_MINIBOSS02:String = "miniboss02"; public static const ASSET_MINIBOSS04:String = "miniboss04"; public static const ASSET_MINIBOSS05:String = "miniboss05"; public static const ASSET_MINIBOSS06:String = "miniboss06"; public static const ASSET_BUTTON_SBG:String = "sbgbutton"; public static const ASSET_MINIBOSS03:String = "miniboss03"; public static const ASSET_BACKPLX_DESTROYED:String = "back parallax destroyed"; public static const ASSET_FONT_ALERT:String = "font5"; public static const ID_TOKEN_AWARD_1:int = 180; public static const ID_TOKEN_AWARD_3:int = 182; public static const ID_TOKEN_AWARD_5:int = 184; public static const ID_TOKEN_AWARD_6:int = 185; public static const ID_TOKEN_AWARD_7:int = 186; public static const ID_TOKEN_AWARD_8:int = 187; public static const ID_TOKEN_AWARD_2:int = 181; public static const ID_HERO_PALADIN_SUPERPROJECTILE:int = 313; public static const ID_TOKEN_AWARD_4:int = 183; public static const OBJTYPE_ENEMY:String = "enemy"; public static const ASSET_SFX_PICKUPGOLD:String = "sfx pickup gold"; public static const ID_EXPLOSION03EMITTER:int = 84; public static const LSO_SLOT_01:String = "__DRAGONRIDER_1"; public static const LSO_SLOT_02:String = "__DRAGONRIDER_2"; public static const LSO_SLOT_03:String = "__DRAGONRIDER_3"; public static const LSO_AWARDS:String = "__DRAGONRIDER_AWARDS"; public static const ASSET_LEVEL3BUTTON:String = "level 3 button"; public static const OBJTYPE_PICKUP_HEALTH:String = "health"; public static const ASSET_SUPERBULLET_HEROWARRIOR:String = "superbullet hero warrior"; public static const ASSET_SFX_CLICK:String = "sfx click"; public static const ASSET_WARRIOR_RESULT_LOSE:String = "warrior result lose"; public static const ID_EXPPARTICLE:int = 114; public static const ASSET_BACKPLX_VILLAGE:String = "back parallax village"; public static const FONTCOLOR_BORDER:int = 0x4C3200; public static const ID_HERO_TURRET_MISSILE:int = 316; public static const ASSET_COMMONBUTTONSMALL:String = "common button small"; public static const ASSET_BOSS01:String = "boss01"; public static const ASSET_BOSS03:String = "boss03"; public static const ASSET_BOSS05:String = "boss05"; public static const ASSET_BOSS02:String = "boss02"; public static const ASSET_BOSS04:String = "boss04"; public static const ASSET_BOSS06:String = "boss06"; public static const SPONSOR_URL:String = "http://gamesfree.com"; public static const FONTCOLOR_FILL:int = 16774855; public static const ID_HERO_KNIGHT_SUPERPROJECTILE:int = 312; public static const ID_DAMAGEPARTICLE:int = 112; public static const ASSET_COIN:String = "coin"; public static const ASSET_BUTTON_SFX:String = "sfxbutton"; public static const KEY_F9:int = Keyboard.F9; public static const ASSET_SFX_ENEMYHIT:String = "sfx enemy hit"; public static const ASSET_BULLET_HEROKNIGHT:String = "bullet hero knight"; public static const SCORE_CHAIN_MOD:int = 10; public static const ASSET_SUPERBULLET_HEROKNIGHT:String = "superbullet hero knight"; public static const LSO_SLOTS:String = "__DRAGONRIDER_ALL"; public static const ID_ENEMYPROJECTILE_S10:int = 366; public static const ASSET_FOREPLX_DESERT:String = "fore parallax desert"; public static const ID_PALADINSUPERBULLETPARTICLE:int = 86; public static const KEY_SPACE:int = Keyboard.SPACE; public static const OBJTYPE_HERO:String = "hero"; public static const ASSET_SOYBEANLOGO:String = "soybean logo"; public static const ID_MINIBOSS02:int = 241; public static const ID_MINIBOSS03:int = 242; public static const ASSET_HERO_WARRIOR:String = "hero warrior"; public static const ID_MINIBOSS05:int = 244; public static const ID_MINIBOSS06:int = 245; public static const ID_MINIBOSS04:int = 243; public static const ID_MAGIC_M:int = 10; public static const OBJTYPE_PICKUP_MAGIC:String = "magic"; public static const ASSET_COMMONTAB:String = "common tab"; public static const ID_MAGIC_S:int = 9; public static const ASSET_SFX_SHOTPALADIN:String = "sfx shot paladin"; public static const ID_MINIBOSS01:int = 240; public static const ID_CRITPARTICLE:int = 111; public static const ASSET_HUNTER_RESULT_WIN:String = "hunter result win"; public static const ASSET_LEVEL2BUTTON:String = "level 2 button"; public static const ASSET_GEMS:String = "gems"; public static const HERO_CHAR1:String = "warrior"; public static const HERO_CHAR2:String = "hunter"; public static const ID_EXPLOSION01PARTICLE:int = 81; public static const HERO_CHAR4:String = "paladin"; public static const HERO_CHAR3:String = "knight"; public static const ID_IMPACTEMITTER:int = 90; public static const ASSET_SFX_PICKUPHEALTHMAGIC:String = "sfx pickup health/magic"; public static const ID_COIN:int = 3; public static const FONTSIZE_NORMAL:int = 10; public static const ASSET_COMMONFRAME2:String = "common frame2"; public static const ASSET_COMMONFRAME3:String = "common frame3"; public static const ASSET_COMMONFRAME4:String = "common frame4"; public static const ASSET_PALADIN_RESULT_LOSE:String = "paladin result lose"; public static const ASSET_LEVEL7BUTTON:String = "level 7 button"; public static const KEY_ESC:int = Keyboard.ESCAPE; public static const ASSET_MIDPLX_VILLAGE:String = "mid parallax village"; public static const OBJTYPE_PICKUP_GEM:String = "gem"; public static const ASSET_SBG_1:String = "sbg 1"; public static const OBJTYLE_HERO_SUPERWEAPON:String = "hero super weapon"; public static const ASSET_SFX_SHOTKNIGHT:String = "sfx shot knight"; public static const ASSET_FOREPLX_BONUS:String = "fore parallax bonus"; public static const ID_CHARM_REVIVE:int = 159; public static const ASSET_HERO_KNIGHT:String = "hero knight"; public static const ASSET_FOREPLX_VILLAGE:String = "fore parallax village"; public static const SPELL_TIME_WARRIOR:int = 20; public static const SPELL_TIME_KNIGHT:int = 40; public static const ID_ENEMYPROJECTILE_S5:int = 361; public static const ID_ENEMYPROJECTILE_S6:int = 362; public static const ID_ENEMYPROJECTILE_S8:int = 364; public static const ASSET_MISSILE_TURRET:String = "missile turret"; public static const ID_ENEMYPROJECTILE_S4:int = 360; public static const ID_ENEMYPROJECTILE_S7:int = 363; public static const ASSET_BULLET_TURRET:String = "bullet turret"; public static const ID_ENEMYPROJECTILE_S9:int = 365; public static const OBJTYPE_HERO_PROJECTILE:String = "hero projectile"; public static const ASSET_BACKPLX_BONUS:String = "back parallax bonus"; public static const ASSET_BULLET_HEROHUNTER:String = "bullet hero hunter"; public static const ID_CHARM_CHAIN_10:int = 150; public static const ASSET_SUPERBULLET_HEROHUNTER:String = "superbullet hero hunter"; public static const ASSET_MAGIC_M:String = "magic m"; public static const ASSET_MAGIC_S:String = "magic s"; public static const ASSET_SFX_SUPERSHOTPALADIN:String = "sfx supershot paladin"; public static const ASSET_HEALTH_M:String = "health m"; public static const ASSET_MIDPLX_DESTROYED:String = "mid parallax destroyed"; public static const ASSET_HEALTH_S:String = "health s"; public static const ASSET_MIDPLX_BONUS:String = "mid parallax bonus"; public static const ASSET_COMMONBUTTON2:String = "common button2"; public static const ID_CHARM_CHAIN_20:int = 151; public static const ASSET_CHARMS:String = "charms"; public static const OBJTYPE_PICKUP_COIN:String = "coin"; public static const ASSET_LEVEL1BUTTON:String = "level 1 button"; public static const ID_CHARM_TURRET_2:int = 154; public static const ID_GOLD_L:int = 6; public static const ID_GOLD_M:int = 5; public static const ID_CHARM_TURRET_1:int = 153; public static const ID_GOLD_S:int = 4; public static const ASSET_SFX_SUPERSHOTKNIGHT:String = "sfx supershot knight"; public static const ID_CHARM_CHAIN_30:int = 152; public static const ASSET_FONT_NORMAL:String = "font1"; public static const STAGE_FPS:int = 30; public static const ASSET_SFX_EXPLODE:String = "sfx explode"; public static var isNewGame:Boolean = true; } }//package game
Section 310
//Profile (game.Profile) package game { import com.soybeansoft.manager.*; import flash.errors.*; public class Profile { public var name:String; public var STR:int; public var score:int; public var casts:int; public var currentLevel:int; public var levelsCompleted:Array; public var exp:int; public var dropsMissed:int; public var dropsCollect:int; public var misses:int; public var rank:int; public var tempGameData:Object; public var criticals:int; public var grazings:int; public var shots:int; public var hasFinished:Boolean; public var WIS:int; public var gem1:Boolean; public var equips:Array; public var gem4:Boolean; public var hits:int; public var gem7:Boolean; public var gem8:Boolean; public var gem2:Boolean; public var gem3:Boolean; public var gem5:Boolean; public var gem6:Boolean; public var chains:int; public var kills:int; public var char:int; public var gold:int; public var bonusPoints:int; public var AGI:int; public var enemyHits:int; public var slot1:int; public var slot2:int; public var slot3:int; public var lso_id:String; public var showTutorial:Boolean; public var deaths:int; private static var _instance:Profile; private static var allow:Boolean = false; public function Profile(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function get damage():int{ return (Math.round(((STR * 1.75) + (AGI * 0.5)))); } public function updateRank():void{ var _local1:int = checkRank(); if (_local1 > rank){ bonusPoints = (bonusPoints + (Config.BONUS_POINT * (_local1 - rank))); rank = _local1; }; save(); } public function get magicRegen():Number{ return ((WIS * 0.001)); } public function get magicCost():Number{ return (6); } public function get magic():int{ return ((WIS * 2)); } public function get criticalRate():Number{ return (((AGI / (AGI + STR)) * 0.25)); } final public function reset():void{ lso_id = ""; char = 0; name = ""; rank = 0; exp = 0; score = 0; gold = 0; bonusPoints = 0; levelsCompleted = []; currentLevel = 0; hasFinished = false; STR = 0; AGI = 0; WIS = 0; kills = 0; deaths = 0; casts = 0; criticals = 0; grazings = 0; hits = 0; shots = 0; enemyHits = 0; misses = 0; dropsCollect = 0; dropsMissed = 0; chains = 0; slot1 = -1; slot2 = -1; slot3 = -1; gem1 = false; gem2 = false; gem3 = false; gem4 = false; gem5 = false; gem6 = false; gem7 = false; gem8 = false; equips = []; showTutorial = true; tempGameData = {}; } public function get dodgeRate():Number{ return (((AGI * 0.2) / ((WIS + AGI) * 0.5))); } public function isFilled():Boolean{ if (((!((SharedObjects.instance.current == null))) && (!((SharedObjects.instance.current.data == null))))){ return (true); }; return (false); } public function expForNextRank(_arg1:int=-1):int{ var _local2:int; if (_arg1 > -1){ _local2 = _arg1; } else { _local2 = rank; }; return ((((_local2 + 1) / 5) * Math.pow(((_local2 + 1) * 15), 2))); } public function checkRank():int{ var _local4:int; var _local1:int = (rank + 10); var _local2:int = rank; var _local3:int = rank; while (_local3 < _local1) { _local4 = expForNextRank(_local3); if (exp >= _local4){ _local2 = (_local3 + 1); } else { break; }; _local3++; }; return (_local2); } final public function clear():void{ reset(); save(); } public function get health():int{ return ((STR * 5)); } final public function load():void{ reset(); var _local1:Object = SharedObjects.instance.current.data; char = _local1.basic.char; name = _local1.basic.name; rank = _local1.basic.rank; exp = _local1.basic.exp; score = _local1.basic.score; gold = _local1.basic.gold; bonusPoints = _local1.basic.bonusPoints; levelsCompleted = _local1.basic.levels; hasFinished = _local1.basic.hasFinished; STR = _local1.stat.STR; AGI = _local1.stat.AGI; WIS = _local1.stat.WIS; kills = _local1.track.kills; deaths = _local1.track.deaths; criticals = _local1.track.criticals; hits = _local1.track.hits; enemyHits = _local1.track.enemyHits; shots = _local1.track.shots; misses = _local1.track.misses; grazings = _local1.track.grazings; casts = _local1.track.casts; dropsCollect = _local1.track.dropsCollect; dropsMissed = _local1.track.dropsMissed; chains = _local1.track.chains; slot1 = _local1.equip.slot1; slot2 = _local1.equip.slot2; slot3 = _local1.equip.slot3; gem1 = _local1.inventory.gem1; gem2 = _local1.inventory.gem2; gem3 = _local1.inventory.gem3; gem4 = _local1.inventory.gem4; gem5 = _local1.inventory.gem5; gem6 = _local1.inventory.gem6; gem7 = _local1.inventory.gem7; gem8 = _local1.inventory.gem8; equips = _local1.inventory.equips; } public function get attackSpeed():int{ return (Math.round((5 - (4 * (AGI / (AGI + STR)))))); } final public function save():void{ var _local1:Object = SharedObjects.instance.current.data; _local1.basic = {char:char, name:name, rank:rank, exp:exp, score:score, gold:gold, bonusPoints:bonusPoints, levels:levelsCompleted, hasFinished:hasFinished}; _local1.stat = {STR:STR, AGI:AGI, WIS:WIS}; _local1.equip = {slot1:slot1, slot2:slot2, slot3:slot3}; _local1.track = {kills:kills, deaths:deaths, criticals:criticals, hits:hits, enemyHits:enemyHits, shots:shots, misses:misses, grazings:grazings, casts:casts, dropsCollect:dropsCollect, dropsMissed:dropsMissed, chains:chains}; _local1.inventory = {gem1:gem1, gem2:gem2, gem3:gem3, gem4:gem4, gem5:gem5, gem6:gem6, gem7:gem7, gem8:gem8}; SharedObjects.instance.update(); } public static function get instance():Profile{ if (!_instance){ allow = true; _instance = new (Profile); allow = false; }; return (_instance); } } }//package game
Section 311
//Words (game.Words) package game { public class Words { public static const LOUNGE_TRACK_HITS:String = "Hits: "; public static const LOUNGE_LEVEL1:String = "Level 1"; public static const STAT_DESC_TITLE:String = "Working Stat Rules"; public static const LOUNGE_LEVEL3:String = "Level 3"; public static const OPERATOR_TEXT_21:String = "Don't let the enemy hit to that area! We're sending you a wave of dummies to try it out. Be prepared!"; public static const TITLE_SCORES:String = "Scores"; public static const CHARM_05_DESC:String = "Expands your pickup area to x1.5. Easier to pickup drops from killed monsters. Doesn't stack with same charm."; public static const HIGHSCORE_SENDING:String = ". . . Sending . . ."; public static const LOUNGE_MAINMENU:String = "MAIN MENU"; public static const OPERATOR_TEXT_20:String = "Note that we've magically place your Fyre health source on the end of their weapon nozzle. It's 6x6 pixels by dimension."; public static const CHARM_TO_SELL:String = " Click to sell and unequip."; public static const CHARM_13_NAME:String = "Convert Magic to Health Lv.1"; public static const LOUNGE_RANK:String = "Rank: "; public static const OPERATOR_TEXT_30:String = "Good. That should give you an idea where you need to pay attention to."; public static const OPERATOR_TEXT_31:String = "Second lesson: attack. Press your LEFT BUTTON MOUSE to shoot. Hold to autofire."; public static const OPERATOR_TEXT_32:String = "Let's try'em out! We're sending you a second wave of dummies.."; public static const AWARD_04_DESC:String = "Finished using the Paladin fyre. To keep this badge to your profile, make sure you're using the same exact name."; public static const GEM_06_NAME:String = "Emerald"; public static const NARRATION_SKIP:String = "Press ESC to skip."; public static const CHARM_13_DESC:String = "Converts magic to health when health is equal or below 10%, costing 90% magic. Doesn't stack with same charm + group."; public static const LOUNGE_LEVEL:String = "Levels"; public static const CHARM_02_NAME:String = "Turrets Lv.2"; public static const GEM_06_DESC:String = "Gem dropped by Boss level 4 Collect all gems to unlock bonus level."; public static const CHARM_10_NAME:String = "Convert Health to Magic Lv.1"; public static const AWARD_01_DESC:String = "Finished using the Warrior fyre. To keep this badge to your profile, make sure you're using the same exact name."; public static const HIGHSCORE_SHOWSCORE:String = "Show Scores"; public static const CHARM_10_DESC:String = "Converts health to magic when magic is equal or below 10%, costing 90% health. Doesn't stack with same charm + group."; public static const LOUNGE_HP:String = "Health: "; public static const LOUNGE_LEVEL7_OPEN:String = "Bonus Level"; public static const COMMON_QUIT:String = "End Game"; public static const OPERATOR_TEXT_40:String = "Great. Last is the special attack. Cast using SPACE BAR. But also watch your magic bar, fully opaque means you have enough magic."; public static const OPERATOR_TEXT_41:String = "Sending you the third wave of dummies.. -- oh wait! We have monsters incoming!"; public static const CHARM_02_DESC:String = "Adds spreaded double turrets to assist the madness. A quarter of your damage, half your health point. Doesn't stack with same charm + group."; public static const CHARM_05_NAME:String = "Pickup Area x1.5"; public static const CHARM_TO_BUY:String = " Click to buy and equip."; public static const CREDITS_TITLE:String = "Credits"; public static const LOUNGE_TRACK_DROPCOLLECTS:String = "Drop collects: "; public static const LOUNGE_GOLD:String = "Gold: "; public static const LOUNGE_TRACK_CHAINS:String = "Chains: "; public static const GEM_03_NAME:String = "Garnet"; public static const CHARM_16_NAME:String = "Free cast +1"; public static const LOUNGE_TRACK_DROPMISSES:String = "Drop misses: "; public static const OPERATOR_TEXT_55:String = "Excellent. Just to let you know, when failing a level you are instantly teleported back to safe before you really end your life. This means you get to keep your exp and gold."; public static const OPERATOR_TEXT_56:String = "It's OK.. Failing a level is perfectly fine. We'll be able to teleport you back to safe before you really end your life. This means you get to keep your exp and gold."; public static const LOUNGE_DMG:String = "Damage: "; public static const LOUNGE_AWARDS:String = "Awards"; public static const LOUNGE_AGI:String = "AGI"; public static const AWARD_08_NAME:String = "Fyre Master"; public static const HIGHSCORE_SENT:String = "Score submitted!"; public static const OPERATOR_TEXT_61:String = "This is your Profile Panel. We have 3 tabs. We're in 'Levels' tab, you can go through a level/mission as much as you like. Once a level is complete, the next will unlock."; public static const OPERATOR_TEXT_62:String = "This is the 'Character' tab. You can view your stats, performance, and collections. Killing a monster will grant you EXP, and once you have enough you can rank up."; public static const AWARD_08_DESC:String = "Finished game with death count below / equals 10."; public static const CHARM_09_NAME:String = "Chain Time +30"; public static const AWARD_01_NAME:String = "True Warrior"; public static const CHARM_09_DESC:String = "Adds 30 extra time during a chain. Adds more possibility for doing chains. Doesn't stack with same charm + group."; public static const CHARM_17_NAME:String = "Free cast +2"; public static const CHARM_17_DESC:String = "Adds 2 extra casts when magic isn't sufficient to cast special attack. Doesn't stack with same charm."; public static const LOUNGE_PERFORMANCE:String = "Peformance"; public static const AWARD_04_NAME:String = "Wise Paladin"; public static const PAUSE_TITLE:String = "Paused"; public static const OPERATOR_TEXT_70:String = "Ranking up will allow you bonus points. You can allocate these points to your Stats. This will increase your Fyre ability."; public static const AWARD_05_DESC:String = "Finished all fyres"; public static const AWARD_05_NAME:String = "Great General"; public static const CHARM_06_NAME:String = "Pickup Area x2"; public static const PLAY_CHAIN_TITLE:String = "Chains"; public static const CHARM_14_NAME:String = "Convert Magic to Health Lv.2"; public static const GEM_03_DESC:String = "Gem dropped by Boss level 1 Collect all gems to unlock bonus level."; public static const CHARM_14_DESC:String = "Converts magic to health when health is equal or below 15%, costing 80% magic. Doesn't stack with same charm + group."; public static const AWARD_02_NAME:String = "Agile Hunter"; public static const CHARM_06_DESC:String = "Expands your pickup area to x2. Easier to pickup drops from killed monsters. Doesn't stack with same charm."; public static const AWARD_02_DESC:String = "Finished using the Hunter fyre. To keep this badge to your profile, make sure you're using the same exact name."; public static const OPERATOR_TEXT_80:String = "Now this is the 'Shops' tab, where you can buy and equip charms. Charms are used to extend your Fyre abilities. Click to buy (and equip) the charm from the charms list. Click to sell (and unequip) the charm from the equip list."; public static const TITLE_PLAYMORE:String = "Play More Games"; public static const SELECT_CHAR_NAME_03:String = "Knight"; public static const SELECT_CHAR_NAME_04:String = "Paladin"; public static const GEM_07_NAME:String = "Aquamarine"; public static const SELECT_CHAR_NAME_01:String = "Warrior"; public static const SELECT_CHAR_NAME_02:String = "Hunter"; public static const LOUNGE_MRC:String = "Magic Regen: "; public static const CHARM_11_NAME:String = "Convert Health to Magic Lv.2"; public static const NARRATION_CONTINUE:String = "Click to continue."; public static const CHARM_03_DESC:String = "Adds spreaded double with missile launcher to assist the massacre. A quarter of your damage, half your health point. Doesn't stack with same charm + group."; public static const CHARM_03_NAME:String = "Turrets Lv.3"; public static const LOUNGE_MP:String = "Magic: "; public static const COMMON_PREVIOUS:String = "Previous"; public static const GEM_07_DESC:String = "Gem dropped by Boss level 5 Collect all gems to unlock bonus level."; public static const TITLE_CONTINUE:String = "Continue"; public static const GEM_04_NAME:String = "Topaz"; public static const CHARM_11_DESC:String = "Converts health to magic when magic is equal or below 15%, costing 80% health. Doesn't stack with same charm + group."; public static const LOUNGE_TRACK_SCORE:String = "Score: "; public static const LOUNGE_SHOP:String = "Shop"; public static const OPERATOR_TEXT_90:String = "OK, I think that's all I can brief you. Good luck! The people of Aradu depends on you!"; public static const COMMON_NEXT:String = "Next"; public static const TITLE_PLAY:String = "New Game"; public static const GEM_04_DESC:String = "Gem dropped by Boss level 2 Collect all gems to unlock bonus level."; public static const SELECT_PROFILE_NONAME:String = "anonymous"; public static const TITLE_HELP:String = "Help"; public static const SELECT_CHAR_DESC_01:String = "Warrior Fyre. All-round fighter. STR: 4, AGI: 4, WIS: 4"; public static const SELECT_CHAR_DESC_02:String = "Fyre with highest AGI, good with dodging enemy bullets. STR: 2, AGI: 7, WIS: 3"; public static const SELECT_CHAR_DESC_03:String = "Knight Fyre, fighter with highest STR. Allows higher health and damage. STR: 6, AGI: 3, WIS: 3"; public static const SELECT_CHAR_DESC_04:String = "The Paladin with highest WIS, effecient caster among the rest. STR: 3, AGI: 2, WIS: 7"; public static const PAUSE_CONTENT:String = "Press ESC again to resume"; public static const LOUNGE_BONUSPOINT:String = "Bonus Pts: "; public static const LOUNGE_TRACK_DEATHS:String = "Deaths: "; public static const LOUNGE_MCT:String = "Casts Cost: "; public static const LOUNGE_TRACK_SHOTS:String = "Shots: "; public static const COMMON_RESUME:String = "Continue"; public static const LEVEL_SUMMARY_TITLE:String = "Results"; public static const GEM_01_NAME:String = "Amethyst"; public static const COMMON_EXIT:String = "Exit"; public static const LOUNGE_LEVEL7_LOCK:String = "???"; public static const COMMON_OK:String = "OK"; public static const SHOP_ITEMS:String = "Charms"; public static const CHARM_18_NAME:String = "Revive"; public static const LOUNGE_TRACK_KILLS:String = "Kills: "; public static const CHARM_18_DESC:String = "Preventing dealth for 1 time per level. Doesn't stack with same charm."; public static const LOUNGE_TRACK_MISSES:String = "Misses: "; public static const AWARD_06_DESC:String = "Unlocked bonus level"; public static const AWARD_06_NAME:String = "Guardian"; public static const GEM_01_DESC:String = "Gem dropped by MiniBoss level 5. Collect all gems to unlock bonus level."; public static const LOUNGE_SCORE:String = "Score: "; public static const CREDITS_DESC:String = ((((("<p><b>SoybeanSoft</b><br>Producer</p><br>" + "<p><b>GamesFree.com</b><br>Sponsor</p><br>") + "<p><b>Guntur Sarwohadi</b><br>Design, Code</p><br>") + "<p><b>Eri Setiyono</b><br>Design, Art</p><br>") + "<p><b>Fandry Indrayadi</b><br>Music</p><br>") + "<p><b>Special Thanks to</b><br>dmhdragon,<br>Volturi, Fandry, Cruxblack, Kecebong,<br>L_O_J, Azrael, Ultraman_Bastard, Jeff</p>"); public static const LOUNGE_STATS:String = "Stats"; public static const LOUNGE_CHAR:String = "Character"; public static const LOUNGE_WIS:String = "WIS"; public static const LOUNGE_CRT:String = "Critical Rate: "; public static const CHARM_07_DESC:String = "Adds 10 extra time during a chain. Adds more possibility for doing chains. Doesn't stack with same charm + group."; public static const LOUNGE_DDG:String = "Dodge Rate: "; public static const CHARM_15_NAME:String = "Convert Magic to Health Lv.3"; public static const HIGHSCORE_TITLE:String = "Top Fyre Riders"; public static const CHARM_07_NAME:String = "Chain Time +10"; public static const CHARM_15_DESC:String = "Converts magic to health when health is equal or below 20%, costing 70% magic. Doesn't stack with same charm + group."; public static const COMMON_CANCEL:String = "Cancel"; public static const OPERATOR_TEXT_APPEND:String = " [Click to continue, ESC to skip tutorial.]"; public static const AWARD_03_DESC:String = "Finished using the Knight fyre. To keep this badge to your profile, make sure you're using the same exact name."; public static const STAT_DESC_DESC:String = "Attack speed: interval between shots (lower is better). Magic cost: magic points need to cast (static value). Magic regen: percentage from magic point gained per second (higher is better). Critical rate: percentage of getting a critical hit (higher is better). Dodge rate: percentage of dodging monster bullets (higher is better)."; public static const CHARM_COST:String = "Cost: "; public static const LOUNGE_TRACK_CASTS:String = "Casts: "; public static const HIGHSCORE_SHOWALLSCORE:String = "Show All Scores"; public static const GEM_08_DESC:String = "Gem dropped by Boss level 6 Collect all gems to unlock bonus level."; public static const CHARM_12_NAME:String = "Convert Health to Magic Lv.3"; public static const GEM_08_NAME:String = "Ruby"; public static const CHARM_04_DESC:String = "Enhances turret damage to a double. Doesn't stack with same charm + requires a turret charm."; public static const CHARM_04_NAME:String = "Enhance Turrets"; public static const LOUNGE_TRACK_GRAZINGS:String = "Grazings: "; public static const TITLE_TITLE:String = "Dragon Rider"; public static const TITLE_CREDITS:String = "Credits"; public static const GEM_05_NAME:String = "Sunstone"; public static const CHARM_12_DESC:String = "Converts health to magic when magic is equal or below 20%, costing 70% health. Doesn't stack with same charm + group."; public static const LOUNGE_EXP:String = "Exp: "; public static const LOUNGE_TRACK_CRITICALS:String = "Criticals: "; public static const SELECT_PROFILE_EMPTYNAME:String = "- empty -"; public static const CHARM_01_NAME:String = "Turrets Lv.1"; public static const SHOP_EQUIP:String = "Equip"; public static const SELECT_PROFILE_ENTERNAME:String = "Enter name:"; public static const AWARD_03_NAME:String = "Valiant Knight"; public static const LOUNGE_STR:String = "STR"; public static const CHARM_01_DESC:String = "Adds double turrets to assist the shooting. A quarter of your damage, half your health point. Doesn't stack with same charm + group."; public static const LOUNGE_TRACK_ENEMYHITS:String = "Enemy hits: "; public static const GEM_05_DESC:String = "Gem dropped by Boss level 3 Collect all gems to unlock bonus level."; public static const GEM_02_NAME:String = "Sapphire"; public static const GEM_02_DESC:String = "Gem dropped by MiniBoss level 6 Collect all gems to unlock bonus level."; public static const SELECT_PROFILE_EMPTYTIME:String = "--/--/-- --:--"; public static const AWARD_07_DESC:String = "Achieved more than 1,000,000 chains."; public static const LOUNGE_SUBMITSCORE:String = "SUBMIT SCORE"; public static const OPERATOR_TEXT_10:String = "Rhinn, it's me, FyreTrainer Ana. We have an emergency and let me briefly guide you with these trainings."; public static const OPERATOR_TEXT_11:String = "First lesson: navigate. Use your MOUSE, and your Fyre will follow your moves."; public static const AWARD_07_NAME:String = "Mad Gunner"; public static const COMMON_SELECT:String = "Select"; public static const CHARM_08_NAME:String = "Chain Time +20"; public static const CHARM_16_DESC:String = "Adds an extra cast when magic isn't sufficient to cast special attack. Doesn't stack with same charm."; public static const SELECT_PROFILE_NAME:String = "Name:"; public static const CHARM_08_DESC:String = "Adds 20 extra time during a chain. Adds more possibility for doing chains. Doesn't stack with same charm + group."; public static const LOUNGE_COLLECTS:String = "Collections"; public static const SELECT_PROFILE_LAST:String = "Last: "; public static const LOUNGE_LEVEL2:String = "Level 2"; public static const HIGHSCORE_LOADING:String = ". . . Loading . . ."; public static const LOUNGE_LEVEL4:String = "Level 4"; public static const LOUNGE_LEVEL5:String = "Level 5"; public static const LOUNGE_LEVEL6:String = "Level 6"; public static const LOUNGE_ATK:String = "Attack Speed: "; public static const LOUNGE_ADD:String = "+"; public static const SELECT_PROFILE_TITLE:String = "Select Profile"; } }//package game
Section 312
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.geom.*; import flash.media.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _active:Boolean; public var tweens:Array; public var vars:Object; public var initTime:int; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 6.21; private static var _sprite:Sprite = new Sprite(); protected static var _all:Dictionary = new Dictionary(); public static var killDelayedCallsTo:Function = killTweensOf; protected static var _curTime:uint; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(); }; _all[_arg1][this] = this; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.target = _arg1; if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); _active = (((_arg2 == 0)) && ((this.delay == 0))); if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _classInitted = true; }; this.initTime = _curTime; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = _curTime; if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{ var _local6:String; var _local5:Object = {proxy:_arg1, target:_arg2, info:_arg4}; _subTweens.push(_local5); for (_local6 in _arg3) { if (_arg2.hasOwnProperty(_local6)){ if (typeof(_arg3[_local6]) == "number"){ this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5}); } else { this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5}); }; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local4:String; var _local5:int; var _local6:Array; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; var _local3 = (this.target is DisplayObject); if ((this.target is Array)){ _local6 = ((this.vars.endArray) || ([])); _local5 = 0; while (_local5 < _local6.length) { if (((!((this.target[_local5] == _local6[_local5]))) && (!((this.target[_local5] == undefined))))){ this.tweens.push({o:this.target, p:_local5.toString(), s:this.target[_local5], c:(_local6[_local5] - this.target[_local5])}); }; _local5++; }; } else { for (_local4 in this.vars) { if ((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "proxiedEase")))) || ((_local4 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){ } else { if ((((_local4 == "tint")) && (_local3))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (this.vars.alpha != undefined){ _local8.alphaMultiplier = this.vars.alpha; delete this.vars.alpha; _local5 = (this.tweens.length - 1); while (_local5 > -1) { if (this.tweens[_local5].p == "alpha"){ this.tweens.splice(_local5, 1); break; }; _local5--; }; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))) || ((this.vars[_local4] == 0)))){ _local8.color = this.vars[_local4]; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); } else { if ((((_local4 == "frame")) && (_local3))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target}); } else { if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target}); } else { if (this.target.hasOwnProperty(_local4)){ if (typeof(this.vars[_local4]) == "number"){ this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])}); } else { this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])}); }; }; }; }; }; }; }; }; if (this.vars.runBackwards == true){ _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local9 = this.tweens[_local5]; this.tweens[_local5].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); _local5--; }; }; if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0)))); }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local4:Object; var _local5:int; var _local2:Number = ((_arg1 - this.startTime) / 1000); if (_local2 > this.duration){ _local2 = this.duration; }; var _local3:Number = this.vars.ease(_local2, 0, 1, this.duration); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - (this.duration * 1000)); render(_curTime); return; }; if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){ this.target.visible = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams); }; removeTween(this); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ delete _all[_arg1.target][_arg1]; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local3:Dictionary; var _local4:Object; var _local5:Object; var _local2:uint = (_curTime = getTimer()); if (_listening){ _local3 = _all; for each (_local4 in _local3) { for (_local5 in _local4) { if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){ _local4[_local5].render(_local2); }; }; }; }; } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function killGarbage(_arg1:TimerEvent):void{ var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; var _local2:uint; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number = _arg1.target.progress; var _local3:Number = (1 - _local2); var _local4:Object = _arg1.info.color; var _local5:Object = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 313
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.0.0.0"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 314
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 315
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.left = _arg1; this.top = _arg2; this.right = _arg3; this.bottom = _arg4; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 316
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 317
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMovieClip(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 318
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 319
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 320
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 321
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 322
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 323
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 324
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.system.*; public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject { protected var initialHeight:Number;// = 0 private var loader:Loader;// = null private var initialized:Boolean;// = false protected var initialWidth:Number;// = 0 private var requestedHeight:Number; private var requestedWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipLoaderAsset(){ var _local1:LoaderContext = new LoaderContext(); _local1.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in _local1)){ _local1["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.loadBytes(movieClipData, _local1); addChild(loader); } override public function get width():Number{ if (!initialized){ return (initialWidth); }; return (super.width); } override public function set width(_arg1:Number):void{ if (!initialized){ requestedWidth = _arg1; } else { loader.width = _arg1; }; } override public function get measuredHeight():Number{ return (initialHeight); } private function completeHandler(_arg1:Event):void{ initialized = true; initialWidth = loader.width; initialHeight = loader.height; if (!isNaN(requestedWidth)){ loader.width = requestedWidth; }; if (!isNaN(requestedHeight)){ loader.height = requestedHeight; }; dispatchEvent(_arg1); } override public function set height(_arg1:Number):void{ if (!initialized){ requestedHeight = _arg1; } else { loader.height = _arg1; }; } override public function get measuredWidth():Number{ return (initialWidth); } override public function get height():Number{ if (!initialized){ return (initialHeight); }; return (super.height); } public function get movieClipData():ByteArray{ return (null); } } }//package mx.core
Section 325
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 326
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 327
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local4:String; var _local5:Array; var _local3:DisplayObject = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 328
//ScaleBitmap (org.bytearray.display.ScaleBitmap) package org.bytearray.display { import flash.display.*; import flash.geom.*; public class ScaleBitmap extends Bitmap { protected var _scale9Grid:Rectangle;// = null protected var _originalBitmap:BitmapData; public function ScaleBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); _originalBitmap = _arg1.clone(); } public function getOriginalBitmapData():BitmapData{ return (_originalBitmap); } private function validGrid(_arg1:Rectangle):Boolean{ return ((((_arg1.right <= _originalBitmap.width)) && ((_arg1.bottom <= _originalBitmap.height)))); } public function setSize(_arg1:Number, _arg2:Number):void{ if (_scale9Grid == null){ super.width = _arg1; super.height = _arg2; } else { _arg1 = Math.max(_arg1, (_originalBitmap.width - _scale9Grid.width)); _arg2 = Math.max(_arg2, (_originalBitmap.height - _scale9Grid.height)); resizeBitmap(_arg1, _arg2); }; } private function assignBitmapData(_arg1:BitmapData):void{ super.bitmapData.dispose(); super.bitmapData = _arg1; } override public function set scale9Grid(_arg1:Rectangle):void{ var _local2:Number; var _local3:Number; if ((((((_scale9Grid == null)) && (!((_arg1 == null))))) || (((!((_scale9Grid == null))) && (!(_scale9Grid.equals(_arg1))))))){ if (_arg1 == null){ _local2 = width; _local3 = height; _scale9Grid = null; assignBitmapData(_originalBitmap.clone()); setSize(_local2, _local3); } else { if (!validGrid(_arg1)){ throw (new Error("#001 - The _scale9Grid does not match the original BitmapData")); }; _scale9Grid = _arg1.clone(); resizeBitmap(width, height); scaleX = 1; scaleY = 1; }; }; } override public function set width(_arg1:Number):void{ if (_arg1 != width){ setSize(_arg1, height); }; } override public function set height(_arg1:Number):void{ if (_arg1 != height){ setSize(width, _arg1); }; } override public function set bitmapData(_arg1:BitmapData):void{ _originalBitmap = _arg1.clone(); if (_scale9Grid != null){ if (!validGrid(_scale9Grid)){ _scale9Grid = null; }; setSize(_arg1.width, _arg1.height); } else { assignBitmapData(_originalBitmap.clone()); }; } override public function get scale9Grid():Rectangle{ return (_scale9Grid); } protected function resizeBitmap(_arg1:Number, _arg2:Number):void{ var _local8:Rectangle; var _local9:Rectangle; var _local12:int; var _local3:BitmapData = new BitmapData(_arg1, _arg2, true, 0); var _local4:Array = [0, _scale9Grid.top, _scale9Grid.bottom, _originalBitmap.height]; var _local5:Array = [0, _scale9Grid.left, _scale9Grid.right, _originalBitmap.width]; var _local6:Array = [0, _scale9Grid.top, (_arg2 - (_originalBitmap.height - _scale9Grid.bottom)), _arg2]; var _local7:Array = [0, _scale9Grid.left, (_arg1 - (_originalBitmap.width - _scale9Grid.right)), _arg1]; var _local10:Matrix = new Matrix(); var _local11:int; while (_local11 < 3) { _local12 = 0; while (_local12 < 3) { _local8 = new Rectangle(_local5[_local11], _local4[_local12], (_local5[(_local11 + 1)] - _local5[_local11]), (_local4[(_local12 + 1)] - _local4[_local12])); _local9 = new Rectangle(_local7[_local11], _local6[_local12], (_local7[(_local11 + 1)] - _local7[_local11]), (_local6[(_local12 + 1)] - _local6[_local12])); _local10.identity(); _local10.a = (_local9.width / _local8.width); _local10.d = (_local9.height / _local8.height); _local10.tx = (_local9.x - (_local8.x * _local10.a)); _local10.ty = (_local9.y - (_local8.y * _local10.d)); _local3.draw(_originalBitmap, _local10, null, null, _local9, smoothing); _local12++; }; _local11++; }; assignBitmapData(_local3); } } }//package org.bytearray.display
Section 329
//SWFConsole (rl.dev.SWFConsole) package rl.dev { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; import flash.system.*; public class SWFConsole extends Sprite { private static const INPUT_BG_HEIGHT:int = 20; private static const _FPS_REFRESH_RATE:uint = 1000; private static const SCROLLHANDLE_COLOUR:int = 0xFFFFFF; private static const HEADER_HEIGHT:int = 20; private static const SCROLLHANDLE_WIDTH:int = 10; private static const TEXT_COLOUR:int = 0xFFFFFF; private static const HEADER_BG_ALPHA:Number = 0.6; private static const SCROLLTRACK_ALPHA:Number = 0.5; private static const SCROLLBUTTON_ALPHA:Number = 0.9; private static const _HISTORY_STATES:uint = 20; private static const BACKGROUND_HEIGHT:int = 200; private static const INPUTAREA_BG_HEIGHT:int = 30; private static const SCROLLHANDLE_HEIGHT:int = 60; private static const UPDATE_INTERVAL:int = 1000; private static const SCROLLTRACK_WIDTH:int = 10; private static const SCROLLTRACK_COLOUR:int = 0; private static const INPUT_BG_COLOUR:int = 0xFFFFFF; private static const SCROLLHANDLE_ALPHA:Number = 0.9; private static const VERSION:String = "1.1"; private static const INPUT_BG_ALPHA:Number = 0.2; private static const SHADOW_COLOUR:int = 0; private static const SCROLLBUTTON_COLOUR:int = 0xFFFFFF; private static const INPUTAREA_BG_ALPHA:Number = 0.7; private static const HEADER_BG_COLOUR:int = 0; private static const WELCOME_MESSAGE:String = "============================================================ New features: - Resource Monitor - type !resmon to activate ============================================================"; private static const BACKGROUND_ALPHA:Number = 0.7; private static const BACKGROUND_COLOUR:int = 0; private static const INPUTAREA_BG_COLOUR:int = 0; private static var _scrollButtonDown:Sprite; private static var _enabled:Boolean = false; private static var _stageHeight:Number; private static var _stageWidth:Number; private static var _headerText:TextField; private static var _percent:Number; private static var _text:TextField; private static var _lastcommands:Array; private static var _avg:Number = 0; private static var _traceEnabled:Boolean = false; private static var _textFormat:TextFormat; private static var _fpsBg:Shape; private static var _fps:Sprite; private static var _memUsage:Sprite; private static var _outputMask:Shape; private static var _scrollHandle:Sprite; private static var _fpsTimer:Timer; private static var _txt_avgfps:TextField; private static var _timer:Timer; private static var _txt_mem:TextField; public static var _activated:Boolean = false; private static var _history:Array; private static var _headerTextFormat:TextFormat; private static var _txt_fps:TextField; private static var _inputAreaBg:Shape; private static var _fpsValue:uint = 0; private static var _inputBg:Shape; private static var _headerTextShadow:TextField; private static var _scrollButtonUp:Sprite; private static var _scrollButtonDownShape:Shape; private static var _min:Number; private static var _max:Number; private static var _stageFrameRate:uint; private static var _scrollButtonUpShape:Shape; private static var _scrollTrack:Shape; private static var _offset:Number; private static var _inputText:TextField; private static var _scrollHandleShape:Shape; private static var _headerTextShadowFormat:TextFormat; private static var _frames:uint = 0; private static var _bg:Shape; private static var _headerbg:Shape; private static var _lastcommandsindex:Number; private static var _memBg:Shape; public function SWFConsole(_arg1:Number, _arg2:Number, _arg3:Boolean=false){ _stageWidth = _arg1; _stageHeight = _arg2; _traceEnabled = _arg3; if (stage){ _init(); } else { addEventListener(Event.ADDED_TO_STAGE, _init, false, 0, true); }; } private function _removeWhitespace(_arg1:String):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) != " "){ _local2 = (_local2 + _arg1.charAt(_local3)); }; _local3++; }; return (_local2); } private function _runProperty(_arg1:String):void{ var instanceSplit:Array; var propertySplit:Array; var instance:Object; var command = _arg1; if (_findChar(command, "=")){ propertySplit = command.split("="); if (_findChar(propertySplit[0], ".")){ instanceSplit = propertySplit[0].split("."); instance = _recurseChildren(stage, instanceSplit[0]); if (instance){ if (instance.hasOwnProperty(instanceSplit[1])){ if (propertySplit[1] == "false"){ propertySplit[1] = false; }; instance[instanceSplit[1]] = propertySplit[1]; } else { output(((("Property " + instanceSplit[1]) + " not found on ") + instanceSplit[0])); }; } else { output("Instance not found"); }; } else { if (stage.hasOwnProperty(propertySplit[0])){ if (propertySplit[1] == "false"){ propertySplit[1] = false; }; try { stage[propertySplit[0]] = propertySplit[1]; } catch(e:Error) { output("*** ERROR: this property of stage cannot be set ***"); }; } else { output((("Property " + propertySplit[0]) + " not found on stage")); }; }; } else { if (_findChar(command, ".")){ instanceSplit = command.split("."); instance = _recurseChildren(stage, instanceSplit[0]); if (instance){ if (instance.hasOwnProperty(instanceSplit[1])){ output(((((instance.name + ".") + instanceSplit[1]) + " = ") + instance[instanceSplit[1]])); } else { output(((("Property " + instanceSplit[1]) + " not found on ") + instanceSplit[0])); }; } else { output("Instance not found"); }; } else { if (stage.hasOwnProperty(command)){ output(((("stage." + command) + " = ") + stage[command])); } else { output((("Property " + command) + " not found on stage")); }; }; }; } private function _scrollButtonDownDown(_arg1:MouseEvent):void{ _percent = (_percent + 0.1); if (_percent > 1){ _percent = 1; }; _text.y = (_headerbg.height + (-(_percent) * (_text.height - _outputMask.height))); _scrollHandle.y = (_min + ((_max - _min) * _percent)); } private function _createHeader():void{ _headerbg = new Shape(); _headerbg.graphics.beginFill(HEADER_BG_COLOUR, HEADER_BG_ALPHA); _headerbg.graphics.drawRect(0, 0, stage.stageWidth, HEADER_HEIGHT); _headerbg.graphics.endFill(); _headerbg.cacheAsBitmap = true; addChild(_headerbg); _headerTextShadowFormat = new TextFormat(); _headerTextShadowFormat.font = "_typewriter"; _headerTextShadowFormat.color = SHADOW_COLOUR; _headerTextShadowFormat.italic = true; _headerTextShadow = new TextField(); _headerTextShadow.x = 12; _headerTextShadow.y = 2; _headerTextShadow.height = HEADER_HEIGHT; _headerTextShadow.autoSize = TextFieldAutoSize.LEFT; _headerTextShadow.multiline = false; _headerTextShadow.defaultTextFormat = _headerTextShadowFormat; _headerTextShadow.text = ("SWFConsole v" + VERSION); _headerTextFormat = new TextFormat(); _headerTextFormat.font = "_typewriter"; _headerTextFormat.color = TEXT_COLOUR; _headerTextFormat.bold; _headerTextFormat.italic = true; _headerText = new TextField(); _headerText.x = 10; _headerText.height = HEADER_HEIGHT; _headerText.autoSize = TextFieldAutoSize.LEFT; _headerText.multiline = false; _headerText.defaultTextFormat = _headerTextFormat; _headerText.text = ("SWFConsole v" + VERSION); addChild(_headerTextShadow); addChild(_headerText); } private function _handleUp(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE, _handleMove); } private function _scrollButtonUpDown(_arg1:MouseEvent):void{ _percent = (_percent - 0.1); if (_percent < 0){ _percent = 0; }; _text.y = (_headerbg.height + (-(_percent) * (_text.height - _outputMask.height))); _scrollHandle.y = (_min + ((_max - _min) * _percent)); } private function _findChar(_arg1:String, _arg2:String):Boolean{ var _local3:int; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == _arg2){ return (true); }; _local3++; }; return (false); } private function _scrollWheel(_arg1:MouseEvent):void{ if (_scrollButtonDown.visible){ if (_arg1.delta > 0){ _percent = (_percent - 0.1); if (_percent < 0){ _percent = 0; }; } else { if (_arg1.delta < 0){ _percent = (_percent + 0.1); if (_percent > 1){ _percent = 1; }; }; }; _text.y = (_headerbg.height + (-(_percent) * (_text.height - _outputMask.height))); _scrollHandle.y = (_min + ((_max - _min) * _percent)); }; } private function _createScrollHandle():void{ _scrollHandleShape = new Shape(); _scrollHandleShape.graphics.beginFill(SCROLLHANDLE_COLOUR, SCROLLHANDLE_ALPHA); _scrollHandleShape.graphics.drawRect(0, 0, SCROLLHANDLE_WIDTH, SCROLLHANDLE_HEIGHT); _scrollHandleShape.graphics.endFill(); _scrollHandleShape.cacheAsBitmap = true; _scrollHandle = new Sprite(); _scrollHandle.addChild(_scrollHandleShape); _scrollHandle.x = (_scrollTrack.x - (SCROLLHANDLE_WIDTH - SCROLLTRACK_WIDTH)); _scrollHandle.y = _scrollTrack.y; addChild(_scrollHandle); } private function _calculateFPS(_arg1:TimerEvent):void{ _fpsValue = ((_frames)>_stageFrameRate) ? _stageFrameRate : _frames; _txt_fps.text = ("FPS: " + String(_fpsValue)); _frames = 0; _history.unshift(_fpsValue); if (_history.length > _HISTORY_STATES){ _history.pop(); }; _avg = 0; var _local2:uint; while (_local2 < _history.length) { _avg = (_avg + _history[_local2]); _local2++; }; _txt_avgfps.text = ("AVG: " + String(Math.round((_avg / _history.length)))); } private function _handleDown(_arg1:MouseEvent):void{ stage.addEventListener(MouseEvent.MOUSE_MOVE, _handleMove, false, 0, true); _offset = (mouseY - _scrollHandle.y); } private function _removeChar(_arg1:String, _arg2:String):String{ var _local3 = ""; var _local4:int; while (_local4 < _arg1.length) { if (_arg1.charAt(_local4) != _arg2){ _local3 = (_local3 + _arg1.charAt(_local4)); }; _local4++; }; return (_local3); } public function hide():void{ alpha = 0; visible = false; } private function _initMemUsage():void{ _memUsage = new Sprite(); stage.addChild(_memUsage); _txt_mem = new TextField(); _txt_mem.width = 100; _txt_mem.height = 16; _txt_mem.border = false; _txt_mem.selectable = false; var _local1:TextFormat = new TextFormat(); _local1.font = "Verdana"; _local1.color = 6750054; _local1.size = 10; _txt_mem.defaultTextFormat = _local1; _txt_mem.text = "MEM: 0 MB"; _memUsage.addChild(_txt_mem); _memBg = new Shape(); _memBg.graphics.beginFill(0, 0.7); _memBg.graphics.drawRect(0, 0, _memUsage.width, _memUsage.height); _memBg.graphics.endFill(); _memUsage.addChildAt(_memBg, 0); _memUsage.x = Math.ceil(((-((stage.stageWidth - _stageWidth)) * 0.5) + (stage.stageWidth - _memUsage.width))); _memUsage.y = Math.ceil((((-((stage.stageHeight - _stageHeight)) * 0.5) + (stage.stageHeight - _memUsage.height)) - 32)); _timer = new Timer(UPDATE_INTERVAL); _timer.addEventListener(TimerEvent.TIMER, displayUsage, false, 0, true); _timer.start(); } private function _createInputArea():void{ _inputAreaBg = new Shape(); _inputAreaBg.graphics.beginFill(INPUTAREA_BG_COLOUR, INPUTAREA_BG_ALPHA); _inputAreaBg.graphics.drawRect(0, 0, stage.stageWidth, INPUTAREA_BG_HEIGHT); _inputAreaBg.graphics.endFill(); _inputAreaBg.y = (HEADER_HEIGHT + BACKGROUND_HEIGHT); addChild(_inputAreaBg); _inputBg = new Shape(); _inputBg.graphics.beginFill(INPUT_BG_COLOUR, INPUT_BG_ALPHA); _inputBg.graphics.drawRect(0, 0, (stage.stageWidth - 50), INPUT_BG_HEIGHT); _inputBg.graphics.endFill(); _inputBg.x = 10; _inputBg.y = (_inputAreaBg.y + 5); addChild(_inputBg); _inputText = new TextField(); _inputText.width = (stage.stageWidth - 50); _inputText.x = 10; _inputText.y = (_inputAreaBg.y + 5); _inputText.height = INPUT_BG_HEIGHT; _inputText.multiline = false; _inputText.type = TextFieldType.INPUT; _inputText.restrict = "^`"; _inputText.defaultTextFormat = _textFormat; addChild(_inputText); } private function _runCommand(_arg1:String):void{ if (_arg1.substr(0, 7).toLowerCase() == "!resmon"){ if (_arg1.charAt(7) == "0"){ if (_fps != null){ _fps.visible = false; }; if (_memUsage != null){ _memUsage.visible = false; }; output("*** RESOURCE MONITOR DISABLED ***"); } else { if (_fps == null){ _initFPS(); } else { _fps.visible = true; }; if (_memUsage == null){ _initMemUsage(); } else { _memUsage.visible = true; }; output("*** RESOURCE MONITOR ENABLED ***"); }; return; }; output("Invalid command"); } private function _createScrollButtons():void{ _scrollButtonUpShape = new Shape(); _scrollButtonDownShape = new Shape(); _createScrollButtonShape(_scrollButtonUpShape); _createScrollButtonShape(_scrollButtonDownShape); _scrollButtonUp = new Sprite(); _scrollButtonUp.addChild(_scrollButtonUpShape); _scrollButtonUp.x = (stage.stageWidth - 30); _scrollButtonUp.y = 40; _scrollButtonUp.buttonMode = true; _scrollButtonUp.addEventListener(MouseEvent.MOUSE_DOWN, _scrollButtonUpDown, false, 0, true); addChild(_scrollButtonUp); _scrollButtonDown = new Sprite(); _scrollButtonDown.addChild(_scrollButtonDownShape); _scrollButtonDown.scaleY = -1; _scrollButtonDown.x = (stage.stageWidth - 30); _scrollButtonDown.y = ((_scrollTrack.y + _scrollTrack.height) + 10); _scrollButtonDown.buttonMode = true; _scrollButtonDown.addEventListener(MouseEvent.MOUSE_DOWN, _scrollButtonDownDown, false, 0, true); addChild(_scrollButtonDown); } private function _createScrollTrack():void{ _scrollTrack = new Shape(); _scrollTrack.graphics.beginFill(SCROLLTRACK_COLOUR, SCROLLTRACK_ALPHA); _scrollTrack.graphics.drawRect(0, 0, SCROLLTRACK_WIDTH, (BACKGROUND_HEIGHT - 60)); _scrollTrack.graphics.endFill(); _scrollTrack.x = (stage.stageWidth - 30); _scrollTrack.y = (HEADER_HEIGHT + 30); _scrollTrack.cacheAsBitmap = true; addChild(_scrollTrack); } private function _relocate(_arg1:Event):void{ _headerbg.width = stage.stageWidth; _bg.width = stage.stageWidth; _text.width = (stage.stageWidth - 50); _outputMask.width = (stage.stageWidth - 50); _inputText.width = (stage.stageWidth - 50); _inputAreaBg.width = stage.stageWidth; _inputBg.width = (stage.stageWidth - 50); _scrollTrack.x = Math.ceil((stage.stageWidth - 30)); _scrollButtonUp.x = Math.ceil((stage.stageWidth - 30)); _scrollButtonDown.x = Math.ceil((stage.stageWidth - 30)); _scrollHandle.x = Math.ceil((stage.stageWidth - 30)); x = Math.ceil((-((stage.stageWidth - _stageWidth)) * 0.5)); y = Math.ceil((-((stage.stageHeight - _stageHeight)) * 0.5)); if (_fps){ _fps.x = Math.ceil(((-((stage.stageWidth - _stageWidth)) * 0.5) + (stage.stageWidth - _fps.width))); _fps.y = Math.ceil(((-((stage.stageHeight - _stageHeight)) * 0.5) + (stage.stageHeight - _fps.height))); }; if (_memUsage){ _memUsage.x = Math.ceil(((-((stage.stageWidth - _stageWidth)) * 0.5) + (stage.stageWidth - _memUsage.width))); _memUsage.y = Math.ceil((((-((stage.stageHeight - _stageHeight)) * 0.5) + (stage.stageHeight - _memUsage.height)) - 32)); }; } private function _recurseChildren(_arg1:Object, _arg2:String):Object{ var _local3:Object; if ((((((_arg1.hasOwnProperty("numChildren") == false)) || ((_arg1.numChildren == null)))) || ((_arg1.numChildren == 0)))){ return (_local3); }; var _local4:int; while (_local4 < _arg1.numChildren) { if (_arg1.getChildAt(_local4).name == _arg2){ return (_arg1.getChildAt(_local4)); }; if (_local3 == null){ _local3 = _recurseChildren((_arg1.getChildAt(_local4) as Object), _arg2); }; _local4++; }; return (_local3); } private function _createScrollButtonShape(_arg1:Shape):void{ _arg1.graphics.beginFill(SCROLLBUTTON_COLOUR, SCROLLBUTTON_ALPHA); _arg1.graphics.moveTo(0, 0); _arg1.graphics.lineTo(5, -8); _arg1.graphics.lineTo(10, 0); _arg1.graphics.lineTo(0, 0); _arg1.graphics.endFill(); _arg1.cacheAsBitmap = true; } private function _createOutputArea():void{ _text = new TextField(); _text.width = (stage.stageWidth - 50); _text.x = 10; _text.y = HEADER_HEIGHT; _text.height = BACKGROUND_HEIGHT; _text.multiline = true; _text.wordWrap = true; _text.autoSize = TextFieldAutoSize.LEFT; _textFormat = new TextFormat(); _textFormat.color = TEXT_COLOUR; _textFormat.font = "_typewriter"; _text.defaultTextFormat = _textFormat; addChild(_text); _outputMask = new Shape(); _outputMask.graphics.beginFill(0xFF00FF); _outputMask.graphics.drawRect(0, 0, (stage.stageWidth - 50), BACKGROUND_HEIGHT); _outputMask.graphics.endFill(); _outputMask.x = 10; _outputMask.y = HEADER_HEIGHT; addChild(_outputMask); _text.mask = _outputMask; } private function _createScrollBar():void{ _createScrollTrack(); _createScrollButtons(); _createScrollHandle(); _scrollTrack.visible = false; _scrollButtonUp.visible = false; _scrollButtonDown.visible = false; _scrollHandle.visible = false; _min = _scrollTrack.y; _max = ((_scrollTrack.y + _scrollTrack.height) - _scrollHandle.height); _scrollHandle.buttonMode = true; _scrollHandle.addEventListener(MouseEvent.MOUSE_DOWN, _handleDown, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, _handleUp, false, 0, true); addEventListener(MouseEvent.MOUSE_WHEEL, _scrollWheel, false, 0, true); } private function _updateFrames(_arg1:Event):void{ _frames++; } private function _init(_arg1:Event=null):void{ removeEventListener(Event.ADDED_TO_STAGE, _init); trace("SWFConsole Initialised - ( ` ) to activate"); hide(); _createHeader(); _createBackground(); _createOutputArea(); _createScrollBar(); _createInputArea(); x = -(Math.ceil(((stage.stageWidth - _stageWidth) * 0.5))); y = -(Math.ceil(((stage.stageHeight - _stageHeight) * 0.5))); _activated = true; _lastcommands = new Array(); _lastcommandsindex = 0; output(WELCOME_MESSAGE); stage.addEventListener(KeyboardEvent.KEY_UP, _keyListener, false, 0, true); stage.addEventListener(Event.RESIZE, _relocate, false, 0, true); } private function _createBackground():void{ _bg = new Shape(); _bg.graphics.beginFill(BACKGROUND_COLOUR, BACKGROUND_ALPHA); _bg.graphics.drawRect(0, 0, stage.stageWidth, BACKGROUND_HEIGHT); _bg.graphics.endFill(); _bg.cacheAsBitmap = true; _bg.y = HEADER_HEIGHT; addChild(_bg); } private function _keyListener(_arg1:KeyboardEvent):void{ if (_activated){ switch (_arg1.keyCode){ case 192: if (_enabled){ hide(); } else { _inputText.text = ""; show(); stage.focus = _inputText; }; _enabled = !(_enabled); break; case 13: _processCommand(_inputText.text); _inputText.text = ""; break; case 38: if (_lastcommands.length > 0){ _inputText.text = _lastcommands[_lastcommandsindex]; _inputText.setSelection(_inputText.length, _inputText.length); _lastcommandsindex--; if (_lastcommandsindex < 0){ _lastcommandsindex = 0; }; }; break; }; }; } private function _runFunc(_arg1:String):void{ var instanceSplit:Array; var functionSplit:Array; var parametersSplit:Array; var instance:Object; var command = _arg1; if (_findChar(command, ".")){ instanceSplit = command.split("."); instance = _recurseChildren(stage, instanceSplit[0]); functionSplit = instanceSplit[1].split("("); parametersSplit = functionSplit[1].split(")"); if (instance){ if (instance.hasOwnProperty(functionSplit[0])){ try { if (parametersSplit[0] == ""){ output(instance[functionSplit[0]]()); } else { if (_findChar(parametersSplit[0], "\"")){ parametersSplit[0] = _removeChar(parametersSplit[0], "\""); }; output(instance[functionSplit[0]](parametersSplit[0])); }; } catch(e:Error) { output(e); }; } else { output(((("Function " + functionSplit[0]) + " not found on ") + instanceSplit[0])); }; } else { output("Instance not found"); }; } else { functionSplit = command.split("("); parametersSplit = functionSplit[1].split(")"); if (stage.hasOwnProperty(functionSplit[0])){ try { if (parametersSplit[0] == ""){ output(stage[functionSplit[0]]()); } else { if (_findChar(parametersSplit[0], "\"")){ parametersSplit[0] = _removeChar(parametersSplit[0], "\""); }; output(stage[functionSplit[0]](parametersSplit[0])); }; } catch(e:Error) { output(e); }; } else { output(((("Function " + functionSplit[0]) + " not found on ") + instanceSplit[0])); }; }; } private function _handleMove(_arg1:MouseEvent):void{ _scrollHandle.y = (mouseY - _offset); if (_scrollHandle.y <= _min){ _scrollHandle.y = _min; }; if (_scrollHandle.y >= _max){ _scrollHandle.y = _max; }; _percent = ((_scrollHandle.y - _min) / (_max - _min)); if (_text.height > _outputMask.height){ _text.y = (_headerbg.height + (-(_percent) * (_text.height - _outputMask.height))); }; _arg1.updateAfterEvent(); } private function _initFPS():void{ _fps = new Sprite(); stage.addChild(_fps); _stageFrameRate = stage.frameRate; _history = new Array(); _txt_fps = new TextField(); _txt_fps.width = 100; _txt_fps.height = 16; _txt_fps.border = false; _txt_fps.selectable = false; _txt_avgfps = new TextField(); _txt_avgfps.width = 100; _txt_avgfps.height = 16; _txt_avgfps.border = false; _txt_avgfps.selectable = false; var _local1:TextFormat = new TextFormat(); _local1.font = "Verdana"; _local1.color = 0xFFCC00; _local1.size = 10; _txt_fps.defaultTextFormat = _local1; _txt_avgfps.defaultTextFormat = _local1; _txt_fps.text = ("FPS: " + _stageFrameRate); _txt_avgfps.text = ("AVG: " + _stageFrameRate); _txt_fps.x = (_txt_fps.width - _txt_avgfps.width); _txt_avgfps.x = 0; _txt_avgfps.y = _txt_fps.height; _fps.addChild(_txt_fps); _fps.addChild(_txt_avgfps); _fpsBg = new Shape(); _fpsBg.graphics.beginFill(0, 0.7); _fpsBg.graphics.drawRect(0, 0, _fps.width, _fps.height); _fpsBg.graphics.endFill(); _fps.addChildAt(_fpsBg, 0); _fps.x = Math.ceil(((-((stage.stageWidth - _stageWidth)) * 0.5) + (stage.stageWidth - _fps.width))); _fps.y = Math.ceil(((-((stage.stageHeight - _stageHeight)) * 0.5) + (stage.stageHeight - _fps.height))); _fpsTimer = new Timer(_FPS_REFRESH_RATE); _fpsTimer.addEventListener(TimerEvent.TIMER, _calculateFPS, false, 0, true); _fpsTimer.start(); addEventListener(Event.ENTER_FRAME, _updateFrames, false, 0, true); } private function _processCommand(_arg1:String):void{ output(("> " + _arg1)); _lastcommands.push(_arg1); _lastcommandsindex = (_lastcommands.length - 1); _arg1 = _removeWhitespace(_arg1); if (_arg1 == ""){ return; }; if (_arg1.charAt(0) == "!"){ _runCommand(_arg1); }; } public function show():void{ alpha = 1; visible = true; stage.focus = _inputText; } private function displayUsage(_arg1:TimerEvent):void{ _txt_mem.text = ("MEM: " + String((Number(((System.totalMemory / 0x0400) / 0x0400)).toFixed(2) + "MB"))); } public static function init(_arg1:Object, _arg2:Boolean=false):void{ _arg1.stage.addChild(new SWFConsole(_arg1.stage.width, _arg1.stage.height, _arg2)); } public static function output(_arg1:Object):void{ if (_activated){ _text.appendText((String(_arg1) + "\n")); if (_text.height > _outputMask.height){ _text.y = (_headerbg.height - (_text.height - _outputMask.height)); _scrollHandle.y = _max; _percent = 1; if (!_scrollButtonDown.visible){ _scrollTrack.visible = true; _scrollButtonUp.visible = true; _scrollButtonDown.visible = true; _scrollHandle.visible = true; }; }; }; if (_traceEnabled){ trace(String(_arg1)); }; } } }//package rl.dev
Section 330
//Main (Main) package { import flash.display.*; import com.soybeansoft.*; import com.soybeansoft.manager.*; import game.screens.*; import game.*; import rl.dev.*; public class Main { private var TitleLogo:Class; private var Boss04B:Class; private var GoldMedium:Class; private var SFXClick:Class; private var SponsorSplashSprite:Class; private var ForeParallaxField:Class; private var HeroPaladin:Class; private var Level1ButtonPic:Class; private var FontAlert:Class; private var Boss05B:Class; private var FontNormal:Class; private var SuperBulletHeroHunter:Class; private var ForeParallaxKingdom:Class; private var HeroHunter:Class; private var Boss02:Class; private var CommonFrame2:Class; private var CommonFrame3:Class; private var CommonFrame4:Class; private var Boss06:Class; private var Boss01:Class; private var Boss03:Class; private var Boss04:Class; private var MidParallaxField:Class; private var SFXPickupGem:Class; private var Boss06B:Class; private var Boss06C:Class; private var Boss05:Class; private var GoldSmall:Class; private var Level3ButtonPic:Class; private var ResultKnightWin:Class; private var SFXShotKnight:Class; private var SFXEnemyHit:Class; private var TitleBG:Class; private var ResultHunterWin:Class; private var ResultHunterLoose:Class; private var ForeParallaxDesert:Class; private var ForeParallaxVillage:Class; private var GoldLarge:Class; private var NarationOpening01:Class; private var NarationOpening03:Class; private var NarationOpening04:Class; private var Level5ButtonPic:Class; private var NarationOpening02:Class; private var BackParallaxKingdom:Class; private var NarationOpening05:Class; private var SFXPickupHealthMagic:Class; private var Coin:Class; private var CommonButton2:Class; private var BulletTurret:Class; private var SFXExplode:Class; private var ForeParallaxDestroyed:Class; private var Operator:Class; private var MidParallaxDesert:Class; private var SFXSupershotKnight:Class; private var NarationEnding01:Class; private var NarationEnding02:Class; private var NarationEnding03:Class; private var NarationEnding04:Class; private var NarationEnding05:Class; private var BulletHeroHunter:Class; private var SponsorButton:Class; private var Level7ButtonPic:Class; private var MidParallaxDestroyed:Class; private var BackParallaxBonus:Class; private var BackParallaxVillage:Class; private var HealthMedium:Class; private var Miss:Class; private var CommonButton:Class; private var BackParallaxCloud:Class; private var SFXSupershotWarrior:Class; private var SFXHeroHit:Class; private var Gems:Class; private var Monster00:Class; private var Monster01:Class; private var Monster02:Class; private var Monster03:Class; private var Monster04:Class; private var Monster05:Class; private var Monster06:Class; private var Monster07:Class; private var Monster08:Class; private var Monster09:Class; private var UnknownHero:Class; private var HeroKnight:Class; private var Level2ButtonPic:Class; private var SuperBulletHeroKnight:Class; private var ForeParallaxBonus:Class; private var SFXPickupGold:Class; private var SFXShotWarrior:Class; private var ResultPaladinWin:Class; private var ResultWarriorWin:Class; private var Monster10:Class; private var Monster12:Class; private var Monster13:Class; private var Monster14:Class; private var Monster15:Class; private var Monster16:Class; private var Monster17:Class; private var Monster11:Class; private var BulletHeroWarrior:Class; private var Monster18:Class; private var ForeParallaxCloud:Class; private var SuperBulletHeroWarrior:Class; private var MidParallaxKingdom:Class; private var Impact:Class; private var SuperBulletPaladinParticle:Class; private var MagicMedium:Class; private var BulletEnemy1:Class; private var BackParallaxDesert:Class; private var SoybeanSplash:Class; private var SFXShotHunter:Class; private var Monster20:Class; private var Monster21:Class; private var MagicSmall:Class; private var Monster23:Class; private var Monster24:Class; private var Monster25:Class; private var Monster26:Class; private var Monster27:Class; private var MidParallaxBonus:Class; private var Monster22:Class; private var Monster19:Class; private var MiniBoss01:Class; private var MiniBoss02:Class; private var MiniBoss03:Class; private var Level4ButtonPic:Class; private var MiniBoss05:Class; private var CommonTab:Class; private var SFXSupershotPaladin:Class; private var MiniBoss06:Class; private var SoundButtons:Class; private var ResultKnightLoose:Class; private var MidParallaxCloud:Class; private var Monster30:Class; private var Monster28:Class; private var Monster29:Class; private var Charms:Class; private var MissileTurret:Class; private var MiniBoss04:Class; private var SFXShotPaladin:Class; private var ResultPaladinLoose:Class; private var FontSponsor:Class; private var ResultWarriorLoose:Class; private var Boss01B:Class; private var Boss01C:Class; private var SFXSupershotHunter:Class; private var Level6ButtonPic:Class; private var BulletHeroPaladin:Class; private var HeroWarrior:Class; private var SuperBulletHeroPaladin:Class; private var MidParallaxVillage:Class; private var Explosion03:Class; private var Boss02B:Class; private var Awards:Class; private var BackParallaxField:Class; private var FontStrong:Class; private var BulletHeroKnight:Class; private var CommonButtonSmall:Class; private var HealthSmall:Class; private var SBG1:Class; private var Boss03B:Class; private var SoybeanLogo:Class; private var Crit:Class; private var BackParallaxDestroyed:Class; private var FontHeading1:Class; public function Main(_arg1:MovieClip){ CommonButton = Main_CommonButton; CommonButton2 = Main_CommonButton2; CommonButtonSmall = Main_CommonButtonSmall; CommonTab = Main_CommonTab; CommonFrame2 = Main_CommonFrame2; CommonFrame3 = Main_CommonFrame3; CommonFrame4 = Main_CommonFrame4; SoundButtons = Main_SoundButtons; BackParallaxVillage = Main_BackParallaxVillage; MidParallaxVillage = Main_MidParallaxVillage; ForeParallaxVillage = Main_ForeParallaxVillage; BackParallaxKingdom = Main_BackParallaxKingdom; MidParallaxKingdom = Main_MidParallaxKingdom; ForeParallaxKingdom = Main_ForeParallaxKingdom; BackParallaxField = Main_BackParallaxField; MidParallaxField = Main_MidParallaxField; ForeParallaxField = Main_ForeParallaxField; BackParallaxDestroyed = Main_BackParallaxDestroyed; MidParallaxDestroyed = Main_MidParallaxDestroyed; ForeParallaxDestroyed = Main_ForeParallaxDestroyed; BackParallaxDesert = Main_BackParallaxDesert; MidParallaxDesert = Main_MidParallaxDesert; ForeParallaxDesert = Main_ForeParallaxDesert; BackParallaxCloud = Main_BackParallaxCloud; MidParallaxCloud = Main_MidParallaxCloud; ForeParallaxCloud = Main_ForeParallaxCloud; BackParallaxBonus = Main_BackParallaxBonus; MidParallaxBonus = Main_MidParallaxBonus; ForeParallaxBonus = Main_ForeParallaxBonus; Level1ButtonPic = Main_Level1ButtonPic; Level2ButtonPic = Main_Level2ButtonPic; Level3ButtonPic = Main_Level3ButtonPic; Level4ButtonPic = Main_Level4ButtonPic; Level5ButtonPic = Main_Level5ButtonPic; Level6ButtonPic = Main_Level6ButtonPic; Level7ButtonPic = Main_Level7ButtonPic; TitleLogo = Main_TitleLogo; TitleBG = Main_TitleBG; Coin = Main_Coin; GoldSmall = Main_GoldSmall; GoldMedium = Main_GoldMedium; GoldLarge = Main_GoldLarge; HealthSmall = Main_HealthSmall; HealthMedium = Main_HealthMedium; MagicSmall = Main_MagicSmall; MagicMedium = Main_MagicMedium; Charms = Main_Charms; Awards = Main_Awards; Gems = Main_Gems; Miss = Main_Miss; Crit = Main_Crit; HeroWarrior = Main_HeroWarrior; HeroHunter = Main_HeroHunter; HeroKnight = Main_HeroKnight; HeroPaladin = Main_HeroPaladin; UnknownHero = Main_UnknownHero; Operator = Main_Operator; NarationOpening01 = Main_NarationOpening01; NarationOpening02 = Main_NarationOpening02; NarationOpening03 = Main_NarationOpening03; NarationOpening04 = Main_NarationOpening04; NarationOpening05 = Main_NarationOpening05; NarationEnding01 = Main_NarationEnding01; NarationEnding02 = Main_NarationEnding02; NarationEnding03 = Main_NarationEnding03; NarationEnding04 = Main_NarationEnding04; NarationEnding05 = Main_NarationEnding05; Monster00 = Main_Monster00; Monster01 = Main_Monster01; Monster02 = Main_Monster02; Monster03 = Main_Monster03; Monster04 = Main_Monster04; Monster05 = Main_Monster05; Monster06 = Main_Monster06; Monster07 = Main_Monster07; Monster08 = Main_Monster08; Monster09 = Main_Monster09; Monster10 = Main_Monster10; Monster11 = Main_Monster11; Monster12 = Main_Monster12; Monster13 = Main_Monster13; Monster14 = Main_Monster14; Monster15 = Main_Monster15; Monster16 = Main_Monster16; Monster17 = Main_Monster17; Monster18 = Main_Monster18; Monster19 = Main_Monster19; Monster20 = Main_Monster20; Monster21 = Main_Monster21; Monster22 = Main_Monster22; Monster23 = Main_Monster23; Monster24 = Main_Monster24; Monster25 = Main_Monster25; Monster26 = Main_Monster26; Monster27 = Main_Monster27; Monster28 = Main_Monster28; Monster29 = Main_Monster29; Monster30 = Main_Monster30; MiniBoss01 = Main_MiniBoss01; MiniBoss02 = Main_MiniBoss02; MiniBoss03 = Main_MiniBoss03; MiniBoss04 = Main_MiniBoss04; MiniBoss05 = Main_MiniBoss05; MiniBoss06 = Main_MiniBoss06; Boss01 = Main_Boss01; Boss01B = Main_Boss01B; Boss01C = Main_Boss01C; Boss02 = Main_Boss02; Boss02B = Main_Boss02B; Boss03 = Main_Boss03; Boss03B = Main_Boss03B; Boss04 = Main_Boss04; Boss04B = Main_Boss04B; Boss05 = Main_Boss05; Boss05B = Main_Boss05B; Boss06 = Main_Boss06; Boss06B = Main_Boss06B; Boss06C = Main_Boss06C; BulletHeroKnight = Main_BulletHeroKnight; BulletHeroHunter = Main_BulletHeroHunter; BulletHeroPaladin = Main_BulletHeroPaladin; BulletHeroWarrior = Main_BulletHeroWarrior; BulletTurret = Main_BulletTurret; MissileTurret = Main_MissileTurret; SuperBulletHeroWarrior = Main_SuperBulletHeroWarrior; SuperBulletHeroKnight = Main_SuperBulletHeroKnight; SuperBulletHeroHunter = Main_SuperBulletHeroHunter; SuperBulletHeroPaladin = Main_SuperBulletHeroPaladin; BulletEnemy1 = Main_BulletEnemy1; SuperBulletPaladinParticle = Main_SuperBulletPaladinParticle; Explosion03 = Main_Explosion03; Impact = Main_Impact; ResultHunterLoose = Main_ResultHunterLoose; ResultHunterWin = Main_ResultHunterWin; ResultWarriorLoose = Main_ResultWarriorLoose; ResultWarriorWin = Main_ResultWarriorWin; ResultKnightLoose = Main_ResultKnightLoose; ResultKnightWin = Main_ResultKnightWin; ResultPaladinLoose = Main_ResultPaladinLoose; ResultPaladinWin = Main_ResultPaladinWin; SoybeanLogo = Main_SoybeanLogo; SoybeanSplash = Main_SoybeanSplash; FontNormal = Main_FontNormal; FontStrong = Main_FontStrong; FontHeading1 = Main_FontHeading1; FontAlert = Main_FontAlert; FontSponsor = Main_FontSponsor; SponsorButton = Main_SponsorButton; SponsorSplashSprite = Main_SponsorSplashSprite; SFXClick = Main_SFXClick; SFXEnemyHit = Main_SFXEnemyHit; SFXExplode = Main_SFXExplode; SFXHeroHit = Main_SFXHeroHit; SFXPickupGem = Main_SFXPickupGem; SFXPickupGold = Main_SFXPickupGold; SFXPickupHealthMagic = Main_SFXPickupHealthMagic; SFXShotHunter = Main_SFXShotHunter; SFXShotKnight = Main_SFXShotKnight; SFXShotPaladin = Main_SFXShotPaladin; SFXShotWarrior = Main_SFXShotWarrior; SFXSupershotHunter = Main_SFXSupershotHunter; SFXSupershotKnight = Main_SFXSupershotKnight; SFXSupershotPaladin = Main_SFXSupershotPaladin; SFXSupershotWarrior = Main_SFXSupershotWarrior; SBG1 = Main_SBG1; super(); SWFConsole.output("--------------------------------------------"); SWFConsole.output(" @@@ Welcome to SkyFyre v1.3 @@@ "); SWFConsole.output("--------------------------------------------"); setupAssets(); var _local2:App = new App(_arg1, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); _arg1.addChild(_local2.sprite); _arg1.addChild(_local2.showSoundControl(Config.ASSET_SOUNDBUTTONS, (Config.STAGE_WIDTH - (32 + 4)))); _arg1.addChild(new SWFConsole(Config.STAGE_WIDTH, Config.STAGE_HEIGHT)); SharedObjects.instance.setup(Config.LSO_SLOTS); SharedObjects.instance.setup(Config.LSO_AWARDS); SharedObjects.instance.setup(Config.LSO_SLOT_01); SharedObjects.instance.setup(Config.LSO_SLOT_02); SharedObjects.instance.setup(Config.LSO_SLOT_03); setupSharedObjects(); setupSounds(); _local2.addScreen(SponsorSplash.name, new SponsorSplash(_local2)); _local2.addScreen(SoySplash.name, new SoySplash(_local2)); _local2.addScreen(Title.name, new Title(_local2)); _local2.addScreen(Naration.name, new Naration(_local2)); _local2.addScreen(SelectProfile.name, new SelectProfile(_local2)); _local2.addScreen(Lounge.name, new Lounge(_local2)); _local2.addScreen(Play.name, new Play(_local2)); _local2.addScreen(LevelSummary.name, new LevelSummary(_local2)); _local2.addScreen(Credits.name, new Credits(_local2)); _local2.displayScreen(SponsorSplash.name); } private function setupSounds():void{ Sounds.instance.addFX(Config.ASSET_SFX_CLICK, 1000, 1); Sounds.instance.addFX(Config.ASSET_SFX_ENEMYHIT, 1000, 1); Sounds.instance.addFX(Config.ASSET_SFX_EXPLODE, 1500, 1); Sounds.instance.addFX(Config.ASSET_SFX_HEROHIT, 1000, 1); Sounds.instance.addFX(Config.ASSET_SFX_PICKUPGEM, 0, 0); Sounds.instance.addFX(Config.ASSET_SFX_PICKUPGOLD, 1000, 1); Sounds.instance.addFX(Config.ASSET_SFX_PICKUPHEALTHMAGIC, 1000, 1); Sounds.instance.addFX(Config.ASSET_SFX_SHOTHUNTER, 1000, 2); Sounds.instance.addFX(Config.ASSET_SFX_SHOTKNIGHT, 1000, 2); Sounds.instance.addFX(Config.ASSET_SFX_SHOTPALADIN, 1000, 2); Sounds.instance.addFX(Config.ASSET_SFX_SHOTWARRIOR, 1000, 2); Sounds.instance.addFX(Config.ASSET_SFX_SUPERSHOTHUNTER, 0, 0); Sounds.instance.addFX(Config.ASSET_SFX_SUPERSHOTKNIGHT, 0, 0); Sounds.instance.addFX(Config.ASSET_SFX_SUPERSHOTPALADIN, 1000, 2); Sounds.instance.addFX(Config.ASSET_SFX_SUPERSHOTWARRIOR, 0, 0); } private function setupAssets():void{ Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONBUTTON, new CommonButton()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONBUTTON2, new CommonButton2()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONBUTTONSMALL, new CommonButtonSmall()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONTAB, new CommonTab()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONFRAME2, new CommonFrame2()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONFRAME3, new CommonFrame3()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COMMONFRAME4, new CommonFrame4()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SOUNDBUTTONS, new SoundButtons()); Assets.instance.add(Assets.BITMAP, Config.ASSET_MISS, new Miss()); Assets.instance.add(Assets.BITMAP, Config.ASSET_CRIT, new Crit()); Assets.instance.add(Assets.BITMAP, Config.ASSET_TITLE_LOGO, new TitleLogo()); Assets.instance.add(Assets.BITMAP, Config.ASSET_TITLE_BG, new TitleBG()); Assets.instance.add(Assets.BITMAP, Config.ASSET_COIN, new Coin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_GOLD_S, new GoldSmall()); Assets.instance.add(Assets.BITMAP, Config.ASSET_GOLD_M, new GoldMedium()); Assets.instance.add(Assets.BITMAP, Config.ASSET_GOLD_L, new GoldLarge()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HEALTH_M, new HealthMedium()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HEALTH_S, new HealthSmall()); Assets.instance.add(Assets.BITMAP, Config.ASSET_MAGIC_M, new MagicMedium()); Assets.instance.add(Assets.BITMAP, Config.ASSET_MAGIC_S, new MagicSmall()); Assets.instance.add(Assets.BITMAP, Config.ASSET_CHARMS, new Charms()); Assets.instance.add(Assets.BITMAP, Config.ASSET_AWARDS, new Awards()); Assets.instance.add(Assets.BITMAP, Config.ASSET_GEMS, new Gems()); Assets.instance.add(Assets.BITMAP, Config.ASSET_UNKNOWNHERO, new UnknownHero()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HERO_WARRIOR, new HeroWarrior()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HERO_HUNTER, new HeroHunter()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HERO_KNIGHT, new HeroKnight()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HERO_PALADIN, new HeroPaladin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_OPERATOR, new Operator()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL1BUTTON, new Level1ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL2BUTTON, new Level2ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL3BUTTON, new Level3ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL4BUTTON, new Level4ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL5BUTTON, new Level5ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL6BUTTON, new Level6ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_LEVEL7BUTTON, new Level7ButtonPic()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_01, new NarationOpening01()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_02, new NarationOpening02()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_03, new NarationOpening03()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_04, new NarationOpening04()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_OPEN_05, new NarationOpening05()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_END_01, new NarationEnding01()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_END_02, new NarationEnding02()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_END_03, new NarationEnding03()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_END_04, new NarationEnding04()); Assets.instance.add(Assets.BITMAP, Config.ASSET_NARRATION_END_05, new NarationEnding05()); Assets.instance.register(Config.ASSET_BACKPLX_VILLAGE, BackParallaxVillage); Assets.instance.register(Config.ASSET_MIDPLX_VILLAGE, MidParallaxVillage); Assets.instance.register(Config.ASSET_FOREPLX_VILLAGE, ForeParallaxVillage); Assets.instance.register(Config.ASSET_BACKPLX_KINGDOM, BackParallaxKingdom); Assets.instance.register(Config.ASSET_MIDPLX_KINGDOM, MidParallaxKingdom); Assets.instance.register(Config.ASSET_FOREPLX_KINGDOM, ForeParallaxKingdom); Assets.instance.register(Config.ASSET_BACKPLX_FIELD, BackParallaxField); Assets.instance.register(Config.ASSET_MIDPLX_FIELD, MidParallaxField); Assets.instance.register(Config.ASSET_FOREPLX_FIELD, ForeParallaxField); Assets.instance.register(Config.ASSET_BACKPLX_DESTROYED, BackParallaxDestroyed); Assets.instance.register(Config.ASSET_MIDPLX_DESTROYED, MidParallaxDestroyed); Assets.instance.register(Config.ASSET_FOREPLX_DESTROYED, ForeParallaxDestroyed); Assets.instance.register(Config.ASSET_BACKPLX_DESERT, BackParallaxDesert); Assets.instance.register(Config.ASSET_MIDPLX_DESERT, MidParallaxDesert); Assets.instance.register(Config.ASSET_FOREPLX_DESERT, ForeParallaxDesert); Assets.instance.register(Config.ASSET_BACKPLX_CLOUD, BackParallaxCloud); Assets.instance.register(Config.ASSET_MIDPLX_CLOUD, MidParallaxCloud); Assets.instance.register(Config.ASSET_FOREPLX_CLOUD, ForeParallaxCloud); Assets.instance.register(Config.ASSET_BACKPLX_BONUS, BackParallaxBonus); Assets.instance.register(Config.ASSET_MIDPLX_BONUS, MidParallaxBonus); Assets.instance.register(Config.ASSET_FOREPLX_BONUS, ForeParallaxBonus); Assets.instance.register(Config.ASSET_MONSTER00, Monster00); Assets.instance.register(Config.ASSET_MONSTER01, Monster01); Assets.instance.register(Config.ASSET_MONSTER02, Monster02); Assets.instance.register(Config.ASSET_MONSTER03, Monster03); Assets.instance.register(Config.ASSET_MONSTER04, Monster04); Assets.instance.register(Config.ASSET_MONSTER05, Monster05); Assets.instance.register(Config.ASSET_MONSTER06, Monster06); Assets.instance.register(Config.ASSET_MONSTER07, Monster07); Assets.instance.register(Config.ASSET_MONSTER08, Monster08); Assets.instance.register(Config.ASSET_MONSTER09, Monster09); Assets.instance.register(Config.ASSET_MONSTER10, Monster10); Assets.instance.register(Config.ASSET_MONSTER11, Monster11); Assets.instance.register(Config.ASSET_MONSTER12, Monster12); Assets.instance.register(Config.ASSET_MONSTER13, Monster13); Assets.instance.register(Config.ASSET_MONSTER14, Monster14); Assets.instance.register(Config.ASSET_MONSTER15, Monster15); Assets.instance.register(Config.ASSET_MONSTER16, Monster16); Assets.instance.register(Config.ASSET_MONSTER17, Monster17); Assets.instance.register(Config.ASSET_MONSTER18, Monster18); Assets.instance.register(Config.ASSET_MONSTER19, Monster19); Assets.instance.register(Config.ASSET_MONSTER20, Monster20); Assets.instance.register(Config.ASSET_MONSTER21, Monster21); Assets.instance.register(Config.ASSET_MONSTER22, Monster22); Assets.instance.register(Config.ASSET_MONSTER23, Monster23); Assets.instance.register(Config.ASSET_MONSTER24, Monster24); Assets.instance.register(Config.ASSET_MONSTER25, Monster25); Assets.instance.register(Config.ASSET_MONSTER26, Monster26); Assets.instance.register(Config.ASSET_MONSTER27, Monster27); Assets.instance.register(Config.ASSET_MONSTER28, Monster28); Assets.instance.register(Config.ASSET_MONSTER29, Monster29); Assets.instance.register(Config.ASSET_MONSTER30, Monster30); Assets.instance.register(Config.ASSET_MINIBOSS01, MiniBoss01); Assets.instance.register(Config.ASSET_MINIBOSS02, MiniBoss02); Assets.instance.register(Config.ASSET_MINIBOSS03, MiniBoss03); Assets.instance.register(Config.ASSET_MINIBOSS04, MiniBoss04); Assets.instance.register(Config.ASSET_MINIBOSS05, MiniBoss05); Assets.instance.register(Config.ASSET_MINIBOSS06, MiniBoss06); Assets.instance.register(Config.ASSET_BOSS01, Boss01); Assets.instance.register(Config.ASSET_BOSS01B, Boss01B); Assets.instance.register(Config.ASSET_BOSS01C, Boss01C); Assets.instance.register(Config.ASSET_BOSS02, Boss02); Assets.instance.register(Config.ASSET_BOSS02B, Boss02B); Assets.instance.register(Config.ASSET_BOSS03, Boss03); Assets.instance.register(Config.ASSET_BOSS03B, Boss03B); Assets.instance.register(Config.ASSET_BOSS04, Boss04); Assets.instance.register(Config.ASSET_BOSS04B, Boss04B); Assets.instance.register(Config.ASSET_BOSS05, Boss05); Assets.instance.register(Config.ASSET_BOSS05B, Boss05B); Assets.instance.register(Config.ASSET_BOSS06, Boss06); Assets.instance.register(Config.ASSET_BOSS06B, Boss06B); Assets.instance.register(Config.ASSET_BOSS06C, Boss06C); Assets.instance.add(Assets.BITMAP, Config.ASSET_HUNTER_RESULT_LOSE, new ResultHunterLoose()); Assets.instance.add(Assets.BITMAP, Config.ASSET_HUNTER_RESULT_WIN, new ResultHunterWin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_KNIGHT_RESULT_LOSE, new ResultKnightLoose()); Assets.instance.add(Assets.BITMAP, Config.ASSET_KNIGHT_RESULT_WIN, new ResultKnightWin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_WARRIOR_RESULT_LOSE, new ResultWarriorLoose()); Assets.instance.add(Assets.BITMAP, Config.ASSET_WARRIOR_RESULT_WIN, new ResultWarriorWin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_PALADIN_RESULT_LOSE, new ResultPaladinLoose()); Assets.instance.add(Assets.BITMAP, Config.ASSET_PALADIN_RESULT_WIN, new ResultPaladinWin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLET_HEROWARRIOR, new BulletHeroWarrior()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLET_HEROHUNTER, new BulletHeroHunter()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLET_HEROKNIGHT, new BulletHeroKnight()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLET_HEROPALADIN, new BulletHeroPaladin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLET_TURRET, new BulletTurret()); Assets.instance.add(Assets.BITMAP, Config.ASSET_MISSILE_TURRET, new MissileTurret()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SUPERBULLET_HEROWARRIOR, new SuperBulletHeroWarrior()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SUPERBULLET_HEROHUNTER, new SuperBulletHeroHunter()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SUPERBULLET_HEROKNIGHT, new SuperBulletHeroKnight()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SUPERBULLET_HEROPALADIN, new SuperBulletHeroPaladin()); Assets.instance.add(Assets.BITMAP, Config.ASSET_BULLETENEMY01, new BulletEnemy1()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SUPERBULLETPALADIN_PARTICLE, new SuperBulletPaladinParticle()); Assets.instance.add(Assets.BITMAP, Config.ASSET_EXPLOSION03, new Explosion03()); Assets.instance.add(Assets.BITMAP, Config.ASSET_IMPACT, new Impact()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SOYBEANLOGO, new SoybeanLogo()); Assets.instance.add(Assets.BITMAP, Config.ASSET_SOYBEANSPLASH, new SoybeanSplash()); Assets.instance.add(Assets.VECTOR, Config.ASSET_SPONSOR_BUTTON, new SponsorButton()); Assets.instance.add(Assets.VECTOR, Config.ASSET_SPONSOR_SPLASH, new SponsorSplashSprite()); Assets.instance.add(Assets.FONT, Config.ASSET_FONT_NORMAL, new FontNormal()); Assets.instance.add(Assets.FONT, Config.ASSET_FONT_STRONG, new FontStrong()); Assets.instance.add(Assets.FONT, Config.ASSET_FONT_HEADING1, new FontHeading1()); Assets.instance.add(Assets.FONT, Config.ASSET_FONT_ALERT, new FontAlert()); Assets.instance.add(Assets.FONT, Config.ASSET_FONT_SPONSOR, new FontSponsor()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_CLICK, new SFXClick()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_ENEMYHIT, new SFXEnemyHit()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_EXPLODE, new SFXExplode()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_HEROHIT, new SFXHeroHit()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_PICKUPGEM, new SFXPickupGem()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_PICKUPGOLD, new SFXPickupGold()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_PICKUPHEALTHMAGIC, new SFXPickupHealthMagic()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SHOTHUNTER, new SFXShotHunter()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SHOTKNIGHT, new SFXShotKnight()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SHOTPALADIN, new SFXShotPaladin()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SHOTWARRIOR, new SFXShotWarrior()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SUPERSHOTHUNTER, new SFXSupershotHunter()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SUPERSHOTKNIGHT, new SFXSupershotKnight()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SUPERSHOTPALADIN, new SFXSupershotPaladin()); Assets.instance.add(Assets.SOUND, Config.ASSET_SFX_SUPERSHOTWARRIOR, new SFXSupershotWarrior()); Assets.instance.add(Assets.SOUND, Config.ASSET_SBG_1, new SBG1()); } private function setupSharedObjects():void{ var _local1:Object; if (SharedObjects.instance.apply(Config.LSO_SLOTS)){ _local1 = SharedObjects.instance.current.data; if (_local1[Config.LSO_SLOT_01] == null){ _local1[Config.LSO_SLOT_01] = {name:Words.SELECT_PROFILE_EMPTYNAME, last:Words.SELECT_PROFILE_EMPTYTIME, char:0}; }; if (_local1[Config.LSO_SLOT_02] == null){ _local1[Config.LSO_SLOT_02] = {name:Words.SELECT_PROFILE_EMPTYNAME, last:Words.SELECT_PROFILE_EMPTYTIME, char:0}; }; if (_local1[Config.LSO_SLOT_03] == null){ _local1[Config.LSO_SLOT_03] = {name:Words.SELECT_PROFILE_EMPTYNAME, last:Words.SELECT_PROFILE_EMPTYTIME, char:0}; }; SharedObjects.instance.update(); }; } } }//package
Section 331
//Main_Awards (Main_Awards) package { import mx.core.*; public class Main_Awards extends BitmapAsset { } }//package
Section 332
//Main_BackParallaxBonus (Main_BackParallaxBonus) package { import mx.core.*; public class Main_BackParallaxBonus extends BitmapAsset { } }//package
Section 333
//Main_BackParallaxCloud (Main_BackParallaxCloud) package { import mx.core.*; public class Main_BackParallaxCloud extends BitmapAsset { } }//package
Section 334
//Main_BackParallaxDesert (Main_BackParallaxDesert) package { import mx.core.*; public class Main_BackParallaxDesert extends BitmapAsset { } }//package
Section 335
//Main_BackParallaxDestroyed (Main_BackParallaxDestroyed) package { import mx.core.*; public class Main_BackParallaxDestroyed extends BitmapAsset { } }//package
Section 336
//Main_BackParallaxField (Main_BackParallaxField) package { import mx.core.*; public class Main_BackParallaxField extends BitmapAsset { } }//package
Section 337
//Main_BackParallaxKingdom (Main_BackParallaxKingdom) package { import mx.core.*; public class Main_BackParallaxKingdom extends BitmapAsset { } }//package
Section 338
//Main_BackParallaxVillage (Main_BackParallaxVillage) package { import mx.core.*; public class Main_BackParallaxVillage extends BitmapAsset { } }//package
Section 339
//Main_Boss01 (Main_Boss01) package { import mx.core.*; public class Main_Boss01 extends BitmapAsset { } }//package
Section 340
//Main_Boss01B (Main_Boss01B) package { import mx.core.*; public class Main_Boss01B extends BitmapAsset { } }//package
Section 341
//Main_Boss01C (Main_Boss01C) package { import mx.core.*; public class Main_Boss01C extends BitmapAsset { } }//package
Section 342
//Main_Boss02 (Main_Boss02) package { import mx.core.*; public class Main_Boss02 extends BitmapAsset { } }//package
Section 343
//Main_Boss02B (Main_Boss02B) package { import mx.core.*; public class Main_Boss02B extends BitmapAsset { } }//package
Section 344
//Main_Boss03 (Main_Boss03) package { import mx.core.*; public class Main_Boss03 extends BitmapAsset { } }//package
Section 345
//Main_Boss03B (Main_Boss03B) package { import mx.core.*; public class Main_Boss03B extends BitmapAsset { } }//package
Section 346
//Main_Boss04 (Main_Boss04) package { import mx.core.*; public class Main_Boss04 extends BitmapAsset { } }//package
Section 347
//Main_Boss04B (Main_Boss04B) package { import mx.core.*; public class Main_Boss04B extends BitmapAsset { } }//package
Section 348
//Main_Boss05 (Main_Boss05) package { import mx.core.*; public class Main_Boss05 extends BitmapAsset { } }//package
Section 349
//Main_Boss05B (Main_Boss05B) package { import mx.core.*; public class Main_Boss05B extends BitmapAsset { } }//package
Section 350
//Main_Boss06 (Main_Boss06) package { import mx.core.*; public class Main_Boss06 extends BitmapAsset { } }//package
Section 351
//Main_Boss06B (Main_Boss06B) package { import mx.core.*; public class Main_Boss06B extends BitmapAsset { } }//package
Section 352
//Main_Boss06C (Main_Boss06C) package { import mx.core.*; public class Main_Boss06C extends BitmapAsset { } }//package
Section 353
//Main_BulletEnemy1 (Main_BulletEnemy1) package { import mx.core.*; public class Main_BulletEnemy1 extends BitmapAsset { } }//package
Section 354
//Main_BulletHeroHunter (Main_BulletHeroHunter) package { import mx.core.*; public class Main_BulletHeroHunter extends BitmapAsset { } }//package
Section 355
//Main_BulletHeroKnight (Main_BulletHeroKnight) package { import mx.core.*; public class Main_BulletHeroKnight extends BitmapAsset { } }//package
Section 356
//Main_BulletHeroPaladin (Main_BulletHeroPaladin) package { import mx.core.*; public class Main_BulletHeroPaladin extends BitmapAsset { } }//package
Section 357
//Main_BulletHeroWarrior (Main_BulletHeroWarrior) package { import mx.core.*; public class Main_BulletHeroWarrior extends BitmapAsset { } }//package
Section 358
//Main_BulletTurret (Main_BulletTurret) package { import mx.core.*; public class Main_BulletTurret extends BitmapAsset { } }//package
Section 359
//Main_Charms (Main_Charms) package { import mx.core.*; public class Main_Charms extends BitmapAsset { } }//package
Section 360
//Main_Coin (Main_Coin) package { import mx.core.*; public class Main_Coin extends BitmapAsset { } }//package
Section 361
//Main_CommonButton (Main_CommonButton) package { import mx.core.*; public class Main_CommonButton extends BitmapAsset { } }//package
Section 362
//Main_CommonButton2 (Main_CommonButton2) package { import mx.core.*; public class Main_CommonButton2 extends BitmapAsset { } }//package
Section 363
//Main_CommonButtonSmall (Main_CommonButtonSmall) package { import mx.core.*; public class Main_CommonButtonSmall extends BitmapAsset { } }//package
Section 364
//Main_CommonFrame2 (Main_CommonFrame2) package { import mx.core.*; public class Main_CommonFrame2 extends BitmapAsset { } }//package
Section 365
//Main_CommonFrame3 (Main_CommonFrame3) package { import mx.core.*; public class Main_CommonFrame3 extends BitmapAsset { } }//package
Section 366
//Main_CommonFrame4 (Main_CommonFrame4) package { import mx.core.*; public class Main_CommonFrame4 extends BitmapAsset { } }//package
Section 367
//Main_CommonTab (Main_CommonTab) package { import mx.core.*; public class Main_CommonTab extends BitmapAsset { } }//package
Section 368
//Main_Crit (Main_Crit) package { import mx.core.*; public class Main_Crit extends BitmapAsset { } }//package
Section 369
//Main_Explosion03 (Main_Explosion03) package { import mx.core.*; public class Main_Explosion03 extends BitmapAsset { } }//package
Section 370
//Main_FontAlert (Main_FontAlert) package { import mx.core.*; public class Main_FontAlert extends FontAsset { } }//package
Section 371
//Main_FontHeading1 (Main_FontHeading1) package { import mx.core.*; public class Main_FontHeading1 extends FontAsset { } }//package
Section 372
//Main_FontNormal (Main_FontNormal) package { import mx.core.*; public class Main_FontNormal extends FontAsset { } }//package
Section 373
//Main_FontSponsor (Main_FontSponsor) package { import mx.core.*; public class Main_FontSponsor extends FontAsset { } }//package
Section 374
//Main_FontStrong (Main_FontStrong) package { import mx.core.*; public class Main_FontStrong extends FontAsset { } }//package
Section 375
//Main_ForeParallaxBonus (Main_ForeParallaxBonus) package { import mx.core.*; public class Main_ForeParallaxBonus extends BitmapAsset { } }//package
Section 376
//Main_ForeParallaxCloud (Main_ForeParallaxCloud) package { import mx.core.*; public class Main_ForeParallaxCloud extends BitmapAsset { } }//package
Section 377
//Main_ForeParallaxDesert (Main_ForeParallaxDesert) package { import mx.core.*; public class Main_ForeParallaxDesert extends BitmapAsset { } }//package
Section 378
//Main_ForeParallaxDestroyed (Main_ForeParallaxDestroyed) package { import mx.core.*; public class Main_ForeParallaxDestroyed extends BitmapAsset { } }//package
Section 379
//Main_ForeParallaxField (Main_ForeParallaxField) package { import mx.core.*; public class Main_ForeParallaxField extends BitmapAsset { } }//package
Section 380
//Main_ForeParallaxKingdom (Main_ForeParallaxKingdom) package { import mx.core.*; public class Main_ForeParallaxKingdom extends BitmapAsset { } }//package
Section 381
//Main_ForeParallaxVillage (Main_ForeParallaxVillage) package { import mx.core.*; public class Main_ForeParallaxVillage extends BitmapAsset { } }//package
Section 382
//Main_Gems (Main_Gems) package { import mx.core.*; public class Main_Gems extends BitmapAsset { } }//package
Section 383
//Main_GoldLarge (Main_GoldLarge) package { import mx.core.*; public class Main_GoldLarge extends BitmapAsset { } }//package
Section 384
//Main_GoldMedium (Main_GoldMedium) package { import mx.core.*; public class Main_GoldMedium extends BitmapAsset { } }//package
Section 385
//Main_GoldSmall (Main_GoldSmall) package { import mx.core.*; public class Main_GoldSmall extends BitmapAsset { } }//package
Section 386
//Main_HealthMedium (Main_HealthMedium) package { import mx.core.*; public class Main_HealthMedium extends BitmapAsset { } }//package
Section 387
//Main_HealthSmall (Main_HealthSmall) package { import mx.core.*; public class Main_HealthSmall extends BitmapAsset { } }//package
Section 388
//Main_HeroHunter (Main_HeroHunter) package { import mx.core.*; public class Main_HeroHunter extends BitmapAsset { } }//package
Section 389
//Main_HeroKnight (Main_HeroKnight) package { import mx.core.*; public class Main_HeroKnight extends BitmapAsset { } }//package
Section 390
//Main_HeroPaladin (Main_HeroPaladin) package { import mx.core.*; public class Main_HeroPaladin extends BitmapAsset { } }//package
Section 391
//Main_HeroWarrior (Main_HeroWarrior) package { import mx.core.*; public class Main_HeroWarrior extends BitmapAsset { } }//package
Section 392
//Main_Impact (Main_Impact) package { import mx.core.*; public class Main_Impact extends BitmapAsset { } }//package
Section 393
//Main_Level1ButtonPic (Main_Level1ButtonPic) package { import mx.core.*; public class Main_Level1ButtonPic extends BitmapAsset { } }//package
Section 394
//Main_Level2ButtonPic (Main_Level2ButtonPic) package { import mx.core.*; public class Main_Level2ButtonPic extends BitmapAsset { } }//package
Section 395
//Main_Level3ButtonPic (Main_Level3ButtonPic) package { import mx.core.*; public class Main_Level3ButtonPic extends BitmapAsset { } }//package
Section 396
//Main_Level4ButtonPic (Main_Level4ButtonPic) package { import mx.core.*; public class Main_Level4ButtonPic extends BitmapAsset { } }//package
Section 397
//Main_Level5ButtonPic (Main_Level5ButtonPic) package { import mx.core.*; public class Main_Level5ButtonPic extends BitmapAsset { } }//package
Section 398
//Main_Level6ButtonPic (Main_Level6ButtonPic) package { import mx.core.*; public class Main_Level6ButtonPic extends BitmapAsset { } }//package
Section 399
//Main_Level7ButtonPic (Main_Level7ButtonPic) package { import mx.core.*; public class Main_Level7ButtonPic extends BitmapAsset { } }//package
Section 400
//Main_MagicMedium (Main_MagicMedium) package { import mx.core.*; public class Main_MagicMedium extends BitmapAsset { } }//package
Section 401
//Main_MagicSmall (Main_MagicSmall) package { import mx.core.*; public class Main_MagicSmall extends BitmapAsset { } }//package
Section 402
//Main_MidParallaxBonus (Main_MidParallaxBonus) package { import mx.core.*; public class Main_MidParallaxBonus extends BitmapAsset { } }//package
Section 403
//Main_MidParallaxCloud (Main_MidParallaxCloud) package { import mx.core.*; public class Main_MidParallaxCloud extends BitmapAsset { } }//package
Section 404
//Main_MidParallaxDesert (Main_MidParallaxDesert) package { import mx.core.*; public class Main_MidParallaxDesert extends BitmapAsset { } }//package
Section 405
//Main_MidParallaxDestroyed (Main_MidParallaxDestroyed) package { import mx.core.*; public class Main_MidParallaxDestroyed extends BitmapAsset { } }//package
Section 406
//Main_MidParallaxField (Main_MidParallaxField) package { import mx.core.*; public class Main_MidParallaxField extends BitmapAsset { } }//package
Section 407
//Main_MidParallaxKingdom (Main_MidParallaxKingdom) package { import mx.core.*; public class Main_MidParallaxKingdom extends BitmapAsset { } }//package
Section 408
//Main_MidParallaxVillage (Main_MidParallaxVillage) package { import mx.core.*; public class Main_MidParallaxVillage extends BitmapAsset { } }//package
Section 409
//Main_MiniBoss01 (Main_MiniBoss01) package { import mx.core.*; public class Main_MiniBoss01 extends BitmapAsset { } }//package
Section 410
//Main_MiniBoss02 (Main_MiniBoss02) package { import mx.core.*; public class Main_MiniBoss02 extends BitmapAsset { } }//package
Section 411
//Main_MiniBoss03 (Main_MiniBoss03) package { import mx.core.*; public class Main_MiniBoss03 extends BitmapAsset { } }//package
Section 412
//Main_MiniBoss04 (Main_MiniBoss04) package { import mx.core.*; public class Main_MiniBoss04 extends BitmapAsset { } }//package
Section 413
//Main_MiniBoss05 (Main_MiniBoss05) package { import mx.core.*; public class Main_MiniBoss05 extends BitmapAsset { } }//package
Section 414
//Main_MiniBoss06 (Main_MiniBoss06) package { import mx.core.*; public class Main_MiniBoss06 extends BitmapAsset { } }//package
Section 415
//Main_Miss (Main_Miss) package { import mx.core.*; public class Main_Miss extends BitmapAsset { } }//package
Section 416
//Main_MissileTurret (Main_MissileTurret) package { import mx.core.*; public class Main_MissileTurret extends BitmapAsset { } }//package
Section 417
//Main_Monster00 (Main_Monster00) package { import mx.core.*; public class Main_Monster00 extends BitmapAsset { } }//package
Section 418
//Main_Monster01 (Main_Monster01) package { import mx.core.*; public class Main_Monster01 extends BitmapAsset { } }//package
Section 419
//Main_Monster02 (Main_Monster02) package { import mx.core.*; public class Main_Monster02 extends BitmapAsset { } }//package
Section 420
//Main_Monster03 (Main_Monster03) package { import mx.core.*; public class Main_Monster03 extends BitmapAsset { } }//package
Section 421
//Main_Monster04 (Main_Monster04) package { import mx.core.*; public class Main_Monster04 extends BitmapAsset { } }//package
Section 422
//Main_Monster05 (Main_Monster05) package { import mx.core.*; public class Main_Monster05 extends BitmapAsset { } }//package
Section 423
//Main_Monster06 (Main_Monster06) package { import mx.core.*; public class Main_Monster06 extends BitmapAsset { } }//package
Section 424
//Main_Monster07 (Main_Monster07) package { import mx.core.*; public class Main_Monster07 extends BitmapAsset { } }//package
Section 425
//Main_Monster08 (Main_Monster08) package { import mx.core.*; public class Main_Monster08 extends BitmapAsset { } }//package
Section 426
//Main_Monster09 (Main_Monster09) package { import mx.core.*; public class Main_Monster09 extends BitmapAsset { } }//package
Section 427
//Main_Monster10 (Main_Monster10) package { import mx.core.*; public class Main_Monster10 extends BitmapAsset { } }//package
Section 428
//Main_Monster11 (Main_Monster11) package { import mx.core.*; public class Main_Monster11 extends BitmapAsset { } }//package
Section 429
//Main_Monster12 (Main_Monster12) package { import mx.core.*; public class Main_Monster12 extends BitmapAsset { } }//package
Section 430
//Main_Monster13 (Main_Monster13) package { import mx.core.*; public class Main_Monster13 extends BitmapAsset { } }//package
Section 431
//Main_Monster14 (Main_Monster14) package { import mx.core.*; public class Main_Monster14 extends BitmapAsset { } }//package
Section 432
//Main_Monster15 (Main_Monster15) package { import mx.core.*; public class Main_Monster15 extends BitmapAsset { } }//package
Section 433
//Main_Monster16 (Main_Monster16) package { import mx.core.*; public class Main_Monster16 extends BitmapAsset { } }//package
Section 434
//Main_Monster17 (Main_Monster17) package { import mx.core.*; public class Main_Monster17 extends BitmapAsset { } }//package
Section 435
//Main_Monster18 (Main_Monster18) package { import mx.core.*; public class Main_Monster18 extends BitmapAsset { } }//package
Section 436
//Main_Monster19 (Main_Monster19) package { import mx.core.*; public class Main_Monster19 extends BitmapAsset { } }//package
Section 437
//Main_Monster20 (Main_Monster20) package { import mx.core.*; public class Main_Monster20 extends BitmapAsset { } }//package
Section 438
//Main_Monster21 (Main_Monster21) package { import mx.core.*; public class Main_Monster21 extends BitmapAsset { } }//package
Section 439
//Main_Monster22 (Main_Monster22) package { import mx.core.*; public class Main_Monster22 extends BitmapAsset { } }//package
Section 440
//Main_Monster23 (Main_Monster23) package { import mx.core.*; public class Main_Monster23 extends BitmapAsset { } }//package
Section 441
//Main_Monster24 (Main_Monster24) package { import mx.core.*; public class Main_Monster24 extends BitmapAsset { } }//package
Section 442
//Main_Monster25 (Main_Monster25) package { import mx.core.*; public class Main_Monster25 extends BitmapAsset { } }//package
Section 443
//Main_Monster26 (Main_Monster26) package { import mx.core.*; public class Main_Monster26 extends BitmapAsset { } }//package
Section 444
//Main_Monster27 (Main_Monster27) package { import mx.core.*; public class Main_Monster27 extends BitmapAsset { } }//package
Section 445
//Main_Monster28 (Main_Monster28) package { import mx.core.*; public class Main_Monster28 extends BitmapAsset { } }//package
Section 446
//Main_Monster29 (Main_Monster29) package { import mx.core.*; public class Main_Monster29 extends BitmapAsset { } }//package
Section 447
//Main_Monster30 (Main_Monster30) package { import mx.core.*; public class Main_Monster30 extends BitmapAsset { } }//package
Section 448
//Main_NarationEnding01 (Main_NarationEnding01) package { import mx.core.*; public class Main_NarationEnding01 extends BitmapAsset { } }//package
Section 449
//Main_NarationEnding02 (Main_NarationEnding02) package { import mx.core.*; public class Main_NarationEnding02 extends BitmapAsset { } }//package
Section 450
//Main_NarationEnding03 (Main_NarationEnding03) package { import mx.core.*; public class Main_NarationEnding03 extends BitmapAsset { } }//package
Section 451
//Main_NarationEnding04 (Main_NarationEnding04) package { import mx.core.*; public class Main_NarationEnding04 extends BitmapAsset { } }//package
Section 452
//Main_NarationEnding05 (Main_NarationEnding05) package { import mx.core.*; public class Main_NarationEnding05 extends BitmapAsset { } }//package
Section 453
//Main_NarationOpening01 (Main_NarationOpening01) package { import mx.core.*; public class Main_NarationOpening01 extends BitmapAsset { } }//package
Section 454
//Main_NarationOpening02 (Main_NarationOpening02) package { import mx.core.*; public class Main_NarationOpening02 extends BitmapAsset { } }//package
Section 455
//Main_NarationOpening03 (Main_NarationOpening03) package { import mx.core.*; public class Main_NarationOpening03 extends BitmapAsset { } }//package
Section 456
//Main_NarationOpening04 (Main_NarationOpening04) package { import mx.core.*; public class Main_NarationOpening04 extends BitmapAsset { } }//package
Section 457
//Main_NarationOpening05 (Main_NarationOpening05) package { import mx.core.*; public class Main_NarationOpening05 extends BitmapAsset { } }//package
Section 458
//Main_Operator (Main_Operator) package { import mx.core.*; public class Main_Operator extends BitmapAsset { } }//package
Section 459
//Main_ResultHunterLoose (Main_ResultHunterLoose) package { import mx.core.*; public class Main_ResultHunterLoose extends BitmapAsset { } }//package
Section 460
//Main_ResultHunterWin (Main_ResultHunterWin) package { import mx.core.*; public class Main_ResultHunterWin extends BitmapAsset { } }//package
Section 461
//Main_ResultKnightLoose (Main_ResultKnightLoose) package { import mx.core.*; public class Main_ResultKnightLoose extends BitmapAsset { } }//package
Section 462
//Main_ResultKnightWin (Main_ResultKnightWin) package { import mx.core.*; public class Main_ResultKnightWin extends BitmapAsset { } }//package
Section 463
//Main_ResultPaladinLoose (Main_ResultPaladinLoose) package { import mx.core.*; public class Main_ResultPaladinLoose extends BitmapAsset { } }//package
Section 464
//Main_ResultPaladinWin (Main_ResultPaladinWin) package { import mx.core.*; public class Main_ResultPaladinWin extends BitmapAsset { } }//package
Section 465
//Main_ResultWarriorLoose (Main_ResultWarriorLoose) package { import mx.core.*; public class Main_ResultWarriorLoose extends BitmapAsset { } }//package
Section 466
//Main_ResultWarriorWin (Main_ResultWarriorWin) package { import mx.core.*; public class Main_ResultWarriorWin extends BitmapAsset { } }//package
Section 467
//Main_SBG1 (Main_SBG1) package { import mx.core.*; public class Main_SBG1 extends SoundAsset { } }//package
Section 468
//Main_SFXClick (Main_SFXClick) package { import mx.core.*; public class Main_SFXClick extends SoundAsset { } }//package
Section 469
//Main_SFXEnemyHit (Main_SFXEnemyHit) package { import mx.core.*; public class Main_SFXEnemyHit extends SoundAsset { } }//package
Section 470
//Main_SFXExplode (Main_SFXExplode) package { import mx.core.*; public class Main_SFXExplode extends SoundAsset { } }//package
Section 471
//Main_SFXHeroHit (Main_SFXHeroHit) package { import mx.core.*; public class Main_SFXHeroHit extends SoundAsset { } }//package
Section 472
//Main_SFXPickupGem (Main_SFXPickupGem) package { import mx.core.*; public class Main_SFXPickupGem extends SoundAsset { } }//package
Section 473
//Main_SFXPickupGold (Main_SFXPickupGold) package { import mx.core.*; public class Main_SFXPickupGold extends SoundAsset { } }//package
Section 474
//Main_SFXPickupHealthMagic (Main_SFXPickupHealthMagic) package { import mx.core.*; public class Main_SFXPickupHealthMagic extends SoundAsset { } }//package
Section 475
//Main_SFXShotHunter (Main_SFXShotHunter) package { import mx.core.*; public class Main_SFXShotHunter extends SoundAsset { } }//package
Section 476
//Main_SFXShotKnight (Main_SFXShotKnight) package { import mx.core.*; public class Main_SFXShotKnight extends SoundAsset { } }//package
Section 477
//Main_SFXShotPaladin (Main_SFXShotPaladin) package { import mx.core.*; public class Main_SFXShotPaladin extends SoundAsset { } }//package
Section 478
//Main_SFXShotWarrior (Main_SFXShotWarrior) package { import mx.core.*; public class Main_SFXShotWarrior extends SoundAsset { } }//package
Section 479
//Main_SFXSupershotHunter (Main_SFXSupershotHunter) package { import mx.core.*; public class Main_SFXSupershotHunter extends SoundAsset { } }//package
Section 480
//Main_SFXSupershotKnight (Main_SFXSupershotKnight) package { import mx.core.*; public class Main_SFXSupershotKnight extends SoundAsset { } }//package
Section 481
//Main_SFXSupershotPaladin (Main_SFXSupershotPaladin) package { import mx.core.*; public class Main_SFXSupershotPaladin extends SoundAsset { } }//package
Section 482
//Main_SFXSupershotWarrior (Main_SFXSupershotWarrior) package { import mx.core.*; public class Main_SFXSupershotWarrior extends SoundAsset { } }//package
Section 483
//Main_SoundButtons (Main_SoundButtons) package { import mx.core.*; public class Main_SoundButtons extends BitmapAsset { } }//package
Section 484
//Main_SoybeanLogo (Main_SoybeanLogo) package { import mx.core.*; public class Main_SoybeanLogo extends BitmapAsset { } }//package
Section 485
//Main_SoybeanSplash (Main_SoybeanSplash) package { import mx.core.*; public class Main_SoybeanSplash extends BitmapAsset { } }//package
Section 486
//Main_SponsorButton (Main_SponsorButton) package { import flash.utils.*; import mx.core.*; public class Main_SponsorButton extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Main_SponsorButton(){ dataClass = Main_SponsorButton_dataClass; super(); initialWidth = (3120 / 20); initialHeight = (860 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 487
//Main_SponsorButton_dataClass (Main_SponsorButton_dataClass) package { import mx.core.*; public class Main_SponsorButton_dataClass extends ByteArrayAsset { } }//package
Section 488
//Main_SponsorSplashSprite (Main_SponsorSplashSprite) package { import flash.utils.*; import mx.core.*; public class Main_SponsorSplashSprite extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Main_SponsorSplashSprite(){ dataClass = Main_SponsorSplashSprite_dataClass; super(); initialWidth = (0x3200 / 20); initialHeight = (9600 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 489
//Main_SponsorSplashSprite_dataClass (Main_SponsorSplashSprite_dataClass) package { import mx.core.*; public class Main_SponsorSplashSprite_dataClass extends ByteArrayAsset { } }//package
Section 490
//Main_SuperBulletHeroHunter (Main_SuperBulletHeroHunter) package { import mx.core.*; public class Main_SuperBulletHeroHunter extends BitmapAsset { } }//package
Section 491
//Main_SuperBulletHeroKnight (Main_SuperBulletHeroKnight) package { import mx.core.*; public class Main_SuperBulletHeroKnight extends BitmapAsset { } }//package
Section 492
//Main_SuperBulletHeroPaladin (Main_SuperBulletHeroPaladin) package { import mx.core.*; public class Main_SuperBulletHeroPaladin extends BitmapAsset { } }//package
Section 493
//Main_SuperBulletHeroWarrior (Main_SuperBulletHeroWarrior) package { import mx.core.*; public class Main_SuperBulletHeroWarrior extends BitmapAsset { } }//package
Section 494
//Main_SuperBulletPaladinParticle (Main_SuperBulletPaladinParticle) package { import mx.core.*; public class Main_SuperBulletPaladinParticle extends BitmapAsset { } }//package
Section 495
//Main_TitleBG (Main_TitleBG) package { import mx.core.*; public class Main_TitleBG extends BitmapAsset { } }//package
Section 496
//Main_TitleLogo (Main_TitleLogo) package { import mx.core.*; public class Main_TitleLogo extends BitmapAsset { } }//package
Section 497
//Main_UnknownHero (Main_UnknownHero) package { import mx.core.*; public class Main_UnknownHero extends BitmapAsset { } }//package
Section 498
//NewgroundsAPI (NewgroundsAPI) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; public class NewgroundsAPI { public static const ADS_APPROVED:Number = 3; public static const bridge:Sprite = new Sprite(); private static const STAT_NEW_VERSION:Number = 4; private static const STAT_AUTHOR_SITE:Number = 2; private static const GATEWAY_URL:String = "http://www.ngads.com/gateway.php"; private static const NEWGROUNDS_URL:String = "http://www.newgrounds.com"; private static const STAT_CUSTOM_STATS:Number = 50; private static const STAT_MOVIE_VIEWS:Number = 1; private static const STAT_NEWGROUNDS:Number = 3; public static const NEW_VERSION:Number = 2; public static const DENY_HOST:Number = 1; private static var tracker_id:Number; private static var movie_options:Object = new Object(); private static var connected:Boolean; private static var custom_events:Object = new Object(); private static var host:String; private static var linked:Boolean; private static var events:Object = new Object(); private static var debug:Boolean; private static var version:String; private static var custom_links:Object = new Object(); public static function getNewVersionURL(){ return (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + STAT_NEW_VERSION)); } private static function ReadGatewayData(_arg1:Object){ var _local2:*; var _local3:String; var _local4:*; var _local5:URLLoader; for (_local2 in _arg1) { _arg1[_local2] = unescape(_arg1[_local2]); movie_options[_local2] = _arg1[_local2]; }; if (_arg1["settings_loaded"]){ SendMessage("You have successfully connected to the Newgrounds API gateway!"); SendMessage((("Movie Identified as '" + movie_options["movie_name"]) + "'")); if (movie_options["message"]){ SendMessage(movie_options["message"]); }; if (movie_options["ad_url"]){ SendMessage("Your movie has been approved to run Flash Ads"); if (events[ADS_APPROVED]){ var _local6 = events; _local6[ADS_APPROVED](movie_options["ad_url"]); } else { onAdsApproved(movie_options["ad_url"]); }; }; if (((movie_options["movie_version"]) && (!((String(movie_options["movie_version"]) == String(version)))))){ SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!"); if (events[NEW_VERSION]){ _local6 = events; _local6[NEW_VERSION]({version:movie_options["movie_version"], real_url:getMovieURL(), redirect_url:getNewVersionURL()}); } else { onNewVersionAvailable(movie_options["movie_version"], getMovieURL(), getNewVersionURL()); }; }; if (movie_options["deny_host"]){ SendMessage("You have blocked 'localHost' in your API settings."); SendMessage("If you wish to test your movie you will need to remove this block."); if (events[DENY_HOST]){ _local6 = events; _local6[DENY_HOST]({host:host, real_url:getMovieURL(), redirect_url:getNewVersionURL()}); } else { onDenyHost(host, getMovieURL(), getNewVersionURL()); }; }; if (movie_options["request_portal_url"]){ _local3 = bridge.root.loaderInfo.url; _local4 = ((((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_local3)); _local5 = new URLLoader(new URLRequest(_local4)); }; if (events[69]){ _local6 = events; _local6[69](); }; } else { if (!movie_options["settings_loaded"]){ SendError("Could not establish connection to the API gateway."); }; }; } public static function setMovieVersion(_arg1){ if (!_arg1){ SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)"); } else { version = String(_arg1); }; } public static function loadCustomLink(_arg1:String){ if (!_arg1){ SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)"); } else { if (!custom_links[_arg1]){ SendError(("Attempted to open undefined custom link: " + _arg1)); } else { SendLink(custom_links[_arg1]); }; }; } public static function addCustomLink(_arg1:Number, _arg2:String){ if (!_arg1){ SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else { if (!_arg2){ SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else { custom_links[_arg2] = (STAT_CUSTOM_STATS + _arg1); SendMessage(((("Created custom link " + _arg1) + ": ") + _arg2)); }; }; } public static function getMovieURL(){ if (movie_options["movie_url"]){ return (movie_options["movie_url"]); }; return ("Newgrounds.com"); } public static function debugMode(){ debug = true; } public static function getAdURL(){ return (movie_options["ad_url"]); } private static function SendStat(_arg1:Number, _arg2:Boolean, _arg3=null){ var target_url:*; var x:*; var request:URLRequest; var gateway_loader:URLLoader; var stat_id = _arg1; var open_in_browser = _arg2; var extra = _arg3; if (!tracker_id){ SendError("You must call NewgroundsAPI.connectMovie() with a valid movie id before using API features!"); } else { var XML_Loaded:* = function (_arg1:Event){ var _local5:XML; var _local6:*; var _local7:*; XML.ignoreWhitespace = true; var _local2:XML = XML(_arg1.target.data); var _local3:Object = new Object(); var _local4:XMLList = _local2.children(); for each (_local5 in _local4) { _local6 = _local5.localName(); _local7 = _local5.attribute("value"); if (_local7 == Number(_local7)){ _local7 = Number(_local7); }; _local3[_local6] = _local7; }; ReadGatewayData(_local3); }; target_url = (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id) + addSeed()); if (extra){ for (x in extra) { target_url = (target_url + ((("&" + escape(x)) + "=") + escape(extra[x]))); }; }; if (debug){ target_url = (target_url + "&debug=1"); }; if (open_in_browser){ request = new URLRequest((target_url + addSeed())); navigateToURL(request, "_blank"); } else { gateway_loader = new URLLoader(new URLRequest((target_url + addSeed()))); gateway_loader.addEventListener(Event.COMPLETE, XML_Loaded); }; }; } public static function onAdsApproved(_arg1:String){ } public static function loadMySite(_arg1:Event=null){ SendLink(STAT_AUTHOR_SITE); } private static function SendMessage(_arg1:String){ trace(("[NEWGROUNDS API] :: " + _arg1)); } public static function linkAPI(_arg1){ _arg1.addChild(bridge); linked = true; } public static function loadNewgrounds(_arg1:Event=null, _arg2:String=null){ var _local3:URLRequest; var _local4:*; if (!tracker_id){ _local3 = new URLRequest(((NEWGROUNDS_URL + "/") + _arg2)); navigateToURL(_local3, "_blank"); } else { _local4 = null; if (_arg2){ _local4 = new Object(); _local4.page = _arg2; }; SendLink(STAT_NEWGROUNDS, _local4); }; } private static function SendLink(_arg1, _arg2=null){ SendStat(_arg1, true, _arg2); } public static function logCustomEvent(_arg1:String){ if (!_arg1){ SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)"); } else { if (!custom_events[_arg1]){ SendError(("Attempted to log undefined custom event: " + _arg1)); } else { SendEvent(custom_events[_arg1]); }; }; } private static function SendError(_arg1:String){ trace(("[NEWGROUNDS API ERROR] :: " + _arg1)); } public static function addCustomEvent(_arg1:Number, _arg2:String){ if (!_arg1){ SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else { if (!_arg2){ SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else { custom_events[_arg2] = (STAT_CUSTOM_STATS + _arg1); SendMessage(("Created custom event: " + _arg2)); }; }; } private static function addSeed(){ return (("&seed=" + Math.random())); } public static function addEventListener(_arg1:Number, _arg2:Function){ events[_arg1] = _arg2; } private static function SendEvent(_arg1){ SendStat(_arg1, false); } public static function onNewVersionAvailable(_arg1:String, _arg2:String, _arg3:String){ var _root:*; var overlay:MovieClip; var version = _arg1; var movie_url = _arg2; var redirect_url = _arg3; var sw:* = bridge.stage.stageWidth; var sh:* = bridge.stage.stageHeight; var tw:* = 350; var th:* = 160; var mg:* = 20; _root = bridge.root; overlay = new MovieClip(); overlay.graphics.beginFill(0, 0.6); overlay.graphics.lineStyle(0, 0); overlay.graphics.drawRect(0, 0, sw, sh); overlay.graphics.endFill(); var overlay_x:* = Math.round(((sw - tw) / 2)); var overlay_y:* = Math.round(((sh - th) / 2)); overlay.graphics.beginFill(102); overlay.graphics.lineStyle(10, 0); overlay.graphics.drawRect((overlay_x - mg), (overlay_y - mg), (tw + mg), (th + mg)); overlay.graphics.endFill(); overlay.close = function (_arg1:Event){ _root.removeChild(overlay); }; var close_x:* = new MovieClip(); close_x.graphics.beginFill(0, 0.1); close_x.graphics.lineStyle(3, 22015); close_x.graphics.drawRect(0, 0, 16, 16); close_x.graphics.endFill(); close_x.graphics.moveTo(4, 4); close_x.graphics.lineTo(13, 13); close_x.graphics.moveTo(13, 4); close_x.graphics.lineTo(4, 13); close_x.x = ((overlay_x + tw) - 26); close_x.y = (overlay_y - 10); close_x.addEventListener(MouseEvent.CLICK, overlay.close); var blankarea:TextField = new TextField(); blankarea.x = (overlay_x - mg); blankarea.y = (overlay_y - mg); blankarea.width = (tw + mg); blankarea.height = (th + mg); blankarea.selectable = false; var header:TextField = new TextField(); header.width = tw; header.x = overlay_x; header.y = overlay_y; header.height = 100; header.selectable = false; var header_format:TextFormat = new TextFormat(); header_format.font = "Arial Black"; header_format.color = 0xFFFFFF; header_format.size = 20; header.defaultTextFormat = header_format; header.text = "New Version Available!"; var msgtext:TextField = new TextField(); msgtext.x = overlay_x; msgtext.y = (overlay_y + 70); msgtext.width = tw; msgtext.height = 60; msgtext.selectable = false; var msgtext_format:TextFormat = new TextFormat(); msgtext_format.font = "Arial"; msgtext_format.color = 0xFFFFFF; msgtext_format.size = 12; msgtext_format.bold = true; var msgtext_link:TextFormat = new TextFormat(); msgtext_link.font = "Arial"; msgtext_link.color = 0xFFFF00; msgtext_link.size = 12; msgtext_link.bold = true; msgtext_link.url = redirect_url; msgtext_link.target = "_blank"; if (version){ version = ("Version " + version); } else { version = "A new version"; }; msgtext.defaultTextFormat = msgtext_format; msgtext.appendText((version + " is now available")); if (movie_url){ msgtext.appendText(" at:\n"); msgtext.defaultTextFormat = msgtext_link; msgtext.appendText(movie_url); } else { msgtext.appendText("!"); }; _root.addChild(overlay); overlay.addChild(blankarea); overlay.addChild(header); overlay.addChild(msgtext); overlay.addChild(close_x); } public static function onDenyHost(_arg1:String, _arg2:String, _arg3:String){ var _local4:* = bridge.stage.stageWidth; var _local5:* = bridge.stage.stageHeight; var _local6:* = 350; var _local7:* = 160; var _local8:* = bridge.root; var _local9:MovieClip = new MovieClip(); _local9.graphics.beginFill(0x660000); _local9.graphics.lineStyle(20, 0); _local9.graphics.drawRect(0, 0, _local4, _local5); _local9.graphics.endFill(); var _local10:TextField = new TextField(); _local10.x = 0; _local10.y = 0; _local10.width = _local4; _local10.height = _local5; _local10.selectable = false; var _local11:TextField = new TextField(); _local11.x = Math.round(((_local4 - _local6) / 2)); _local11.y = Math.round(((_local5 - _local7) / 2.5)); _local11.width = _local6; _local11.height = 100; _local11.selectable = false; var _local12:TextFormat = new TextFormat(); _local12.font = "Arial Black"; _local12.color = 0xFF0000; _local12.size = 38; _local11.defaultTextFormat = _local12; _local11.text = "ERROR!"; var _local13:TextField = new TextField(); _local13.x = Math.round(((_local4 - _local6) / 2)); _local13.y = (Math.round(((_local5 - _local7) / 2.5)) + 80); _local13.width = _local6; _local13.height = 80; _local13.selectable = false; var _local14:TextFormat = new TextFormat(); _local14.font = "Arial"; _local14.color = 0xFFFFFF; _local14.size = 12; _local14.bold = true; var _local15:TextFormat = new TextFormat(); _local15.font = "Arial"; _local15.color = 0xFFFF00; _local15.size = 12; _local15.bold = true; _local15.url = _arg3; _local15.target = "_blank"; _local13.defaultTextFormat = _local14; _local13.appendText((("This movie has not been approved for use on " + _arg1) + "\n")); _local13.appendText("For an approved copy, please visit:\n"); _local13.defaultTextFormat = _local15; _local13.appendText(_arg2); _local8.addChild(_local9); _local9.addChild(_local10); _local9.addChild(_local11); _local9.addChild(_local13); } public static function connectMovie(_arg1:Number){ var _local2:String; var _local3:*; if (!_arg1){ SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)"); } else { if (!linked){ SendError("Attempted to call MewgroundsAPI.connectMovie() without first calling NewgroundsAPI.linkAPI(this)"); } else { if (!tracker_id){ SendMessage("Connecting to API gateway..."); tracker_id = _arg1; _local2 = bridge.root.loaderInfo.url; host = _local2.split("/")[2].toLowerCase(); if (host.length < 1){ host = "localhost"; }; _local3 = new Object(); SendEvent(STAT_MOVIE_VIEWS); }; }; }; } public static function isInstalled(){ return (true); } } }//package
Section 499
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.utils.*; import com.soybeansoft.ui.widget.*; import flash.text.*; import com.soybeansoft.util.*; import game.*; import flash.filters.*; import flash.net.*; public dynamic class Preloader extends MovieClip { private var PreloaderFont:Class; private var fyre:BitmapMovie; private var preloaderbarborder:Sprite; private var NGAdsSWF:Class; private var SponsorButton:Class; private var startTime:int; private var preloaderbar:Sprite; private var PreloaderBitmap:Class; private var Fyre:Class; private var loadingLabel:Label; private var sponsorButton:Sprite; private var preloaderbitmap:Bitmap; private var preloadGroup:Sprite; private var NGAds:MovieClip; private var minimumTime:int; public function Preloader(){ PreloaderBitmap = Preloader_PreloaderBitmap; Fyre = Preloader_Fyre; PreloaderFont = Preloader_PreloaderFont; SponsorButton = Preloader_SponsorButton; NGAdsSWF = Preloader_NGAdsSWF; super(); stage.showDefaultContextMenu = false; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.quality = StageQuality.HIGH; stage.frameRate = Config.STAGE_FPS; startTime = getTimer(); minimumTime = (startTime + (10 * 1000)); launch(); } private function onEnterFrame(_arg1:Event):void{ var _local2:Number = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); var _local3:Number = (getTimer() / minimumTime); loadingLabel.update((int((_local2 * 100)).toString() + "%")); preloaderbar.scaleX = _local2; fyre.x = ((preloadGroup.x + preloaderbar.width) - 32); if ((((_local2 == 1)) && ((_local3 >= 1)))){ sponsorButton.removeEventListener(MouseEvent.CLICK, onClickSponsor); removeEventListener(Event.ENTER_FRAME, onEnterFrame); removeChild(fyre); removeChild(sponsorButton); removeChild(preloadGroup); removeChild(NGAds); removeChild(preloaderbitmap); init(); }; } private function init():void{ var _local2:Object; buttonMode = false; var _local1:Class = Class(getDefinitionByName("Main")); if (_local1){ _local2 = new _local1(this); }; } private function launch():void{ preloadGroup = new Sprite(); preloaderbitmap = new PreloaderBitmap(); preloaderbar = new Sprite(); preloaderbar.graphics.beginFill(0); preloaderbar.graphics.drawRect(0, 0, 0x0200, 8); preloaderbar.x = (preloaderbar.y = 2); preloaderbar.scaleX = 0; preloaderbarborder = new Sprite(); preloaderbarborder.graphics.lineStyle(2, 0); preloaderbarborder.graphics.drawRect(0, 0, 516, 12); preloaderbarborder.addChild(preloaderbar); preloaderbarborder.alpha = 0.3; var _local1:LabelStyle = new LabelStyle().setAlign(LabelStyle.ALIGN_CENTER).setColor(0).setEmbed(true).setSize(11).setFont(Font(new PreloaderFont()).fontName).setLeading(4).setMultiLine(true).setWordWrap(true); loadingLabel = new Label((((int((root.loaderInfo.bytesLoaded / 0x0400)) + "k / ") + int((root.loaderInfo.bytesTotal / 0x0400))) + "k (0%)"), _local1); loadingLabel.element.width = preloaderbarborder.width; loadingLabel.element.height = 12; loadingLabel.element.alpha = 0.6; loadingLabel.element.y = (preloaderbarborder.height + 4); preloadGroup.addChild(preloaderbarborder); preloadGroup.addChild(loadingLabel.element); sponsorButton = (new SponsorButton() as Sprite); sponsorButton.filters = [new GlowFilter(0, 1, 5, 5, 1.4)]; NewgroundsAPI.linkAPI(this); NewgroundsAPI.connectMovie(9294); NewgroundsAPI.addCustomEvent(1, "Warrior"); NewgroundsAPI.addCustomEvent(2, "Hunter"); NewgroundsAPI.addCustomEvent(3, "Knight"); NewgroundsAPI.addCustomEvent(4, "Paladin"); NGAds = (new NGAdsSWF() as MovieClip); preloadGroup.x = 68; preloadGroup.y = ((Config.STAGE_HEIGHT - preloadGroup.height) - 64); sponsorButton.x = ((Config.STAGE_WIDTH - sponsorButton.width) * 0.5); sponsorButton.y = ((Config.STAGE_HEIGHT - sponsorButton.height) - 24); NGAds.x = ((Config.STAGE_WIDTH - NGAds.width) * 0.5); NGAds.y = int(((preloadGroup.y - NGAds.height) * 0.5)); var _local2:Bitmap = new Bitmap(new BitmapData(320, 64, true, 0xFFFFFF)); _local2.bitmapData.copyPixels(Bitmap(new Fyre()).bitmapData, new Rectangle(0, 0, 320, 64), new Point()); fyre = new BitmapMovie(_local2.bitmapData, 64, 64); fyre.x = (preloadGroup.x - 32); fyre.y = (preloadGroup.y - 64); fyre.delay = 8; fyre.play(); addChild(preloaderbitmap); addChild(NGAds); addChild(preloadGroup); addChild(sponsorButton); addChild(fyre); sponsorButton.addEventListener(MouseEvent.CLICK, onClickSponsor); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.gamesfree.com/"), "_blank"); } } }//package
Section 500
//Preloader_Fyre (Preloader_Fyre) package { import mx.core.*; public class Preloader_Fyre extends BitmapAsset { } }//package
Section 501
//Preloader_NGAdsSWF (Preloader_NGAdsSWF) package { import mx.core.*; import flash.utils.*; public class Preloader_NGAdsSWF extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Preloader_NGAdsSWF(){ dataClass = Preloader_NGAdsSWF_dataClass; super(); initialWidth = (6160 / 20); initialHeight = (5880 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 502
//Preloader_NGAdsSWF_dataClass (Preloader_NGAdsSWF_dataClass) package { import mx.core.*; public class Preloader_NGAdsSWF_dataClass extends ByteArrayAsset { } }//package
Section 503
//Preloader_PreloaderBitmap (Preloader_PreloaderBitmap) package { import mx.core.*; public class Preloader_PreloaderBitmap extends BitmapAsset { } }//package
Section 504
//Preloader_PreloaderFont (Preloader_PreloaderFont) package { import mx.core.*; public class Preloader_PreloaderFont extends FontAsset { } }//package
Section 505
//Preloader_SponsorButton (Preloader_SponsorButton) package { import mx.core.*; import flash.utils.*; public class Preloader_SponsorButton extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Preloader_SponsorButton(){ dataClass = Preloader_SponsorButton_dataClass; super(); initialWidth = (3120 / 20); initialHeight = (860 / 20); } override public function get movieClipData():ByteArray{ if (bytes == null){ bytes = ByteArray(new dataClass()); }; return (bytes); } } }//package
Section 506
//Preloader_SponsorButton_dataClass (Preloader_SponsorButton_dataClass) package { import mx.core.*; public class Preloader_SponsorButton_dataClass extends ByteArrayAsset { } }//package

Library Items

Symbol 1 MovieClip {Main_SponsorSplashSprite}
Symbol 2 BinaryData {Preloader_NGAdsSWF_dataClass}
Symbol 3 BinaryData {Main_SponsorButton_dataClass}
Symbol 4 Bitmap {Main_HeroWarrior}
Symbol 5 Font {Preloader_PreloaderFont}
Symbol 6 Bitmap {Preloader_PreloaderBitmap}
Symbol 7 Sound {Main_SFXSupershotPaladin} [Main_SFXSupershotPaladin]
Symbol 8 Sound {Main_SFXClick} [Main_SFXClick]
Symbol 9 Sound {Main_SFXPickupGem} [Main_SFXPickupGem]
Symbol 10 Sound {Main_SFXHeroHit} [Main_SFXHeroHit]
Symbol 11 Sound {Main_SFXEnemyHit} [Main_SFXEnemyHit]
Symbol 12 Sound {Main_SBG1} [Main_SBG1]
Symbol 13 Sound {Main_SFXShotHunter} [Main_SFXShotHunter]
Symbol 14 Sound {Main_SFXShotKnight} [Main_SFXShotKnight]
Symbol 15 Sound {Main_SFXSupershotWarrior} [Main_SFXSupershotWarrior]
Symbol 16 Sound {Main_SFXShotPaladin} [Main_SFXShotPaladin]
Symbol 17 Sound {Main_SFXSupershotHunter} [Main_SFXSupershotHunter]
Symbol 18 Sound {Main_SFXPickupHealthMagic} [Main_SFXPickupHealthMagic]
Symbol 19 Sound {Main_SFXSupershotKnight} [Main_SFXSupershotKnight]
Symbol 20 Sound {Main_SFXExplode} [Main_SFXExplode]
Symbol 21 Sound {Main_SFXPickupGold} [Main_SFXPickupGold]
Symbol 22 Sound {Main_SFXShotWarrior} [Main_SFXShotWarrior]
Symbol 23 Sound {game.screens.SoySplash_SoySplashSound} [game.screens.SoySplash_SoySplashSound]
Symbol 24 Bitmap {Main_HeroKnight}
Symbol 25 Bitmap {Main_CommonButtonSmall}
Symbol 26 Bitmap {Main_Boss04B}
Symbol 27 Bitmap {Main_UnknownHero}
Symbol 28 Bitmap {Main_Monster06}
Symbol 29 Bitmap {Main_ForeParallaxKingdom}
Symbol 30 Bitmap {Main_Monster07}
Symbol 31 Bitmap {Main_NarationOpening01}
Symbol 32 Bitmap {Main_Monster04}
Symbol 33 Bitmap {Main_NarationOpening02}
Symbol 34 Bitmap {Main_Monster05}
Symbol 35 Bitmap {Main_NarationOpening03}
Symbol 36 Bitmap {Main_MidParallaxField}
Symbol 37 Bitmap {Main_Monster08}
Symbol 38 Bitmap {Main_Level6ButtonPic}
Symbol 39 Bitmap {Main_Monster09}
Symbol 40 Bitmap {Main_HeroHunter}
Symbol 41 Bitmap {Main_BackParallaxBonus}
Symbol 42 Font {Main_FontStrong}
Symbol 43 Bitmap {Main_Monster02}
Symbol 44 Bitmap {Main_Monster03}
Symbol 45 Bitmap {Main_Monster00}
Symbol 46 Bitmap {Main_Monster01}
Symbol 47 Bitmap {Main_MiniBoss02}
Symbol 48 Bitmap {Main_Operator}
Symbol 49 Bitmap {Main_MiniBoss03}
Symbol 50 Bitmap {Main_MiniBoss04}
Symbol 51 Bitmap {Main_MiniBoss05}
Symbol 52 Bitmap {Main_MidParallaxDestroyed}
Symbol 53 Bitmap {Main_MidParallaxCloud}
Symbol 54 Bitmap {Main_Charms}
Symbol 55 Bitmap {Main_MiniBoss01}
Symbol 56 Bitmap {Main_BackParallaxVillage}
Symbol 57 Bitmap {Main_MagicMedium}
Symbol 58 Bitmap {Main_Boss03B}
Symbol 59 Bitmap {Main_BulletTurret}
Symbol 60 Bitmap {Main_Monster15}
Symbol 61 Bitmap {Main_Monster16}
Symbol 62 Bitmap {Main_TitleLogo}
Symbol 63 Bitmap {Main_SuperBulletHeroKnight}
Symbol 64 Bitmap {Main_Monster17}
Symbol 65 Bitmap {Main_Monster18}
Symbol 66 Bitmap {Main_GoldMedium}
Symbol 67 Bitmap {Main_Monster19}
Symbol 68 Bitmap {Main_Monster10}
Symbol 69 Bitmap {Main_Monster11}
Symbol 70 Bitmap {Main_Monster12}
Symbol 71 Bitmap {Main_MiniBoss06}
Symbol 72 Bitmap {Main_Monster13}
Symbol 73 Bitmap {Main_Monster14}
Symbol 74 Bitmap {Main_CommonButton2}
Symbol 75 Bitmap {Main_CommonFrame2}
Symbol 76 Bitmap {Main_CommonFrame3}
Symbol 77 Bitmap {Main_BulletHeroPaladin}
Symbol 78 Bitmap {Main_ResultPaladinWin}
Symbol 79 Bitmap {Main_CommonTab}
Symbol 80 Bitmap {Main_Boss06B}
Symbol 81 Bitmap {Main_Boss06C}
Symbol 82 Bitmap {Main_CommonFrame4}
Symbol 83 Bitmap {Main_ResultHunterLoose}
Symbol 84 Bitmap {Main_ResultHunterWin}
Symbol 85 Bitmap {Main_BackParallaxCloud}
Symbol 86 Bitmap {Main_BulletEnemy1}
Symbol 87 Bitmap {Main_Awards}
Symbol 88 Bitmap {Main_SuperBulletHeroHunter}
Symbol 89 Bitmap {Main_SuperBulletPaladinParticle}
Symbol 90 Bitmap {Main_ForeParallaxDesert}
Symbol 91 Bitmap {Main_Boss05B}
Symbol 92 Bitmap {Main_NarationOpening05}
Symbol 93 Bitmap {Main_NarationOpening04}
Symbol 94 Bitmap {Main_Level1ButtonPic}
Symbol 95 Bitmap {Main_BackParallaxDesert}
Symbol 96 Bitmap {Main_Gems}
Symbol 97 Bitmap {Main_ResultPaladinLoose}
Symbol 98 Bitmap {Main_GoldLarge}
Symbol 99 Bitmap {Main_ResultWarriorLoose}
Symbol 100 Bitmap {Main_CommonButton}
Symbol 101 Font {Main_FontHeading1}
Symbol 102 Bitmap {Main_ForeParallaxField}
Symbol 103 Bitmap {Main_BackParallaxKingdom}
Symbol 104 Bitmap {Main_TitleBG}
Symbol 105 Bitmap {Main_MissileTurret}
Symbol 106 BinaryData {Main_SponsorSplashSprite_dataClass}
Symbol 107 Font {Main_FontSponsor}
Symbol 108 Bitmap {Main_ResultWarriorWin}
Symbol 109 Bitmap {Main_BulletHeroKnight}
Symbol 110 Bitmap {Main_BulletHeroWarrior}
Symbol 111 Bitmap {Main_SuperBulletHeroPaladin}
Symbol 112 Bitmap {Main_SoundButtons}
Symbol 113 Bitmap {Main_ResultKnightWin}
Symbol 114 Bitmap {Main_ForeParallaxVillage}
Symbol 115 Bitmap {Main_Miss}
Symbol 116 Bitmap {Main_Level4ButtonPic}
Symbol 117 Bitmap {Main_ResultKnightLoose}
Symbol 118 Bitmap {Main_BulletHeroHunter}
Symbol 119 Bitmap {Main_SoybeanSplash}
Symbol 120 Bitmap {Main_MidParallaxKingdom}
Symbol 121 Bitmap {Main_Boss02B}
Symbol 122 Bitmap {Main_HeroPaladin}
Symbol 123 Bitmap {Main_Monster25}
Symbol 124 Bitmap {Main_NarationEnding02}
Symbol 125 Bitmap {Main_Coin}
Symbol 126 Bitmap {Main_Monster24}
Symbol 127 Bitmap {Main_NarationEnding01}
Symbol 128 Bitmap {Main_Monster23}
Symbol 129 Bitmap {Main_NarationEnding04}
Symbol 130 Bitmap {Main_Monster22}
Symbol 131 Bitmap {Main_NarationEnding03}
Symbol 132 Bitmap {Main_SuperBulletHeroWarrior}
Symbol 133 Bitmap {Main_Monster21}
Symbol 134 Bitmap {Main_Monster20}
Symbol 135 Bitmap {Main_ForeParallaxBonus}
Symbol 136 Bitmap {Main_Level3ButtonPic}
Symbol 137 Bitmap {Main_Explosion03}
Symbol 138 Bitmap {Main_ForeParallaxDestroyed}
Symbol 139 Bitmap {Main_MidParallaxVillage}
Symbol 140 Bitmap {Main_MagicSmall}
Symbol 141 Bitmap {Main_Monster29}
Symbol 142 Bitmap {Main_Monster28}
Symbol 143 Bitmap {Main_NarationEnding05}
Symbol 144 Bitmap {Main_Monster27}
Symbol 145 Bitmap {Main_Monster26}
Symbol 146 Bitmap {Main_Crit}
Symbol 147 Bitmap {Main_GoldSmall}
Symbol 148 Bitmap {Main_HealthMedium}
Symbol 149 Bitmap {Main_Boss01B}
Symbol 150 Bitmap {Main_Boss05}
Symbol 151 Bitmap {Main_Level2ButtonPic}
Symbol 152 Bitmap {Main_Boss01C}
Symbol 153 Bitmap {Main_Boss06}
Symbol 154 Font {Main_FontNormal}
Symbol 155 Bitmap {Main_Boss01}
Symbol 156 Bitmap {Main_Boss02}
Symbol 157 Bitmap {Main_Boss03}
Symbol 158 Bitmap {Main_Boss04}
Symbol 159 Bitmap {Main_BackParallaxField}
Symbol 160 Bitmap {Main_Level5ButtonPic}
Symbol 161 Font {Main_FontAlert}
Symbol 162 Bitmap {Main_SoybeanLogo}
Symbol 163 Bitmap {Main_Monster30}
Symbol 164 Bitmap {Main_HealthSmall}
Symbol 165 Bitmap {Main_Level7ButtonPic}
Symbol 166 Bitmap {Main_BackParallaxDestroyed}
Symbol 167 Bitmap {Main_ForeParallaxCloud}
Symbol 168 Bitmap {Main_MidParallaxBonus}
Symbol 169 Bitmap {Main_Impact}
Symbol 170 Bitmap {Main_MidParallaxDesert}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 2Symbol 7 as "Main_SFXSupershotPaladin"
ExportAssets (56)Timeline Frame 2Symbol 8 as "Main_SFXClick"
ExportAssets (56)Timeline Frame 2Symbol 9 as "Main_SFXPickupGem"
ExportAssets (56)Timeline Frame 2Symbol 10 as "Main_SFXHeroHit"
ExportAssets (56)Timeline Frame 2Symbol 11 as "Main_SFXEnemyHit"
ExportAssets (56)Timeline Frame 2Symbol 12 as "Main_SBG1"
ExportAssets (56)Timeline Frame 2Symbol 13 as "Main_SFXShotHunter"
ExportAssets (56)Timeline Frame 2Symbol 14 as "Main_SFXShotKnight"
ExportAssets (56)Timeline Frame 2Symbol 15 as "Main_SFXSupershotWarrior"
ExportAssets (56)Timeline Frame 2Symbol 16 as "Main_SFXShotPaladin"
ExportAssets (56)Timeline Frame 2Symbol 17 as "Main_SFXSupershotHunter"
ExportAssets (56)Timeline Frame 2Symbol 18 as "Main_SFXPickupHealthMagic"
ExportAssets (56)Timeline Frame 2Symbol 19 as "Main_SFXSupershotKnight"
ExportAssets (56)Timeline Frame 2Symbol 20 as "Main_SFXExplode"
ExportAssets (56)Timeline Frame 2Symbol 21 as "Main_SFXPickupGold"
ExportAssets (56)Timeline Frame 2Symbol 22 as "Main_SFXShotWarrior"
ExportAssets (56)Timeline Frame 2Symbol 23 as "game.screens.SoySplash_SoySplashSound"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"Main"Frame 2




http://swfchan.com/23/111494/info.shtml
Created: 13/3 -2019 02:43:23 Last modified: 13/3 -2019 02:43:23 Server time: 02/05 -2024 00:37:26