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

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

Epsilon Strain.swf

This is the info page for
Flash #132167

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


ActionScript [AS3]
Section 1
//BitmapObject (engine.blit.entities.BitmapObject) package engine.blit.entities { import flash.display.*; public class BitmapObject extends RenderObject { private var bd:BitmapData; public function BitmapObject(_arg1:BitmapData){ bd = _arg1; renderHelper = new BitmapRenderer(bd); } public function get bitmapdata():BitmapData{ return (bd); } override public function toString():String{ return ("BitmapObject"); } } }//package engine.blit.entities
Section 2
//BitmapRenderer (engine.blit.entities.BitmapRenderer) package engine.blit.entities { import flash.display.*; import flash.geom.*; import engine.blit.*; public class BitmapRenderer implements IRenderer { private var bitmapData:BitmapData; public function BitmapRenderer(_arg1:BitmapData){ this.bitmapData = _arg1; } public function getBitmapData():BitmapData{ return (bitmapData); } public function isVisible():Boolean{ return (true); } public function getRect():Rectangle{ return (Kamera.instance.frame.clone()); } public function getPoint():Point{ return (new Point()); } } }//package engine.blit.entities
Section 3
//IRenderer (engine.blit.entities.IRenderer) package engine.blit.entities { import flash.display.*; import flash.geom.*; public interface IRenderer { function isVisible():Boolean; function getPoint():Point; function getRect():Rectangle; function getBitmapData():BitmapData; } }//package engine.blit.entities
Section 4
//PlayObject (engine.blit.entities.PlayObject) package engine.blit.entities { import flash.geom.*; public class PlayObject extends RenderObject { protected var vector:Point; protected var speed:Number; protected var isActive:Boolean; protected var hit:Rectangle; protected var facePos:Point; protected var assetName:String; protected var face:RectTiles; public function PlayObject(_arg1:Point){ vector = new Point(); hit = new Rectangle(); super(); this.position = _arg1; build(); } public function hitTest(_arg1:PlayObject):Boolean{ return (hitbox.intersects(_arg1.hitbox)); } public function update():void{ } 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); } override public function toString():String{ return ("PlayObject"); } protected function build():void{ } public function get hitbox():Rectangle{ return (new Rectangle((position.x + hit.x), (position.y + hit.y), hit.width, hit.height)); } public function get active():Boolean{ return (isActive); } } }//package engine.blit.entities
Section 5
//RectTiles (engine.blit.entities.RectTiles) package engine.blit.entities { 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) ? true : false); } 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 engine.blit.entities
Section 6
//RectTilesRenderer (engine.blit.entities.RectTilesRenderer) package engine.blit.entities { import flash.display.*; import flash.geom.*; import engine.managers.*; import engine.blit.*; 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) - Kamera.instance.frame.x)), Math.ceil(((position.y + facePos.y) - Kamera.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.width); if (Kamera.instance.frame.intersects(_local1)){ return (true); }; return (false); } public function getBitmapData():BitmapData{ return (AssetManager.instance.getBitmapAsset(assetName).bitmapData); } } }//package engine.blit.entities
Section 7
//RenderObject (engine.blit.entities.RenderObject) package engine.blit.entities { import flash.geom.*; import engine.blit.*; public class RenderObject { protected var renderHelper:IRenderer; protected var renderable:Boolean;// = true public var position:Point; public function RenderObject(){ position = new Point(); super(); } public function render(_arg1:Render):void{ if (((renderHelper.isVisible()) && (renderable))){ _arg1.bitmapData.copyPixels(renderHelper.getBitmapData(), renderHelper.getRect(), renderHelper.getPoint(), null, null, true); }; } public function toString():String{ return ("RenderObject"); } } }//package engine.blit.entities
Section 8
//ILayer (engine.blit.ILayer) package engine.blit { public interface ILayer { function get renderer():Render; function render():void; function set renderer(_arg1:Render):void; } }//package engine.blit
Section 9
//Kamera (engine.blit.Kamera) package engine.blit { import flash.geom.*; import flash.errors.*; public class Kamera { public var target:Point; private var dist:Point; public var borders:Rectangle; public var frame:Rectangle; private static var _instance:Kamera; private static var allow:Boolean = false; public function Kamera(){ 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)))){ 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)))){ 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():Kamera{ if (!_instance){ allow = true; _instance = new (Kamera); allow = false; }; return (_instance); } } }//package engine.blit
Section 10
//Layer (engine.blit.Layer) package engine.blit { import flash.geom.*; import engine.blit.entities.*; public class Layer implements ILayer { private var _renderer:Render; private var isVisible:Boolean; private var pos:Point; private var objects:Array; private var useParallax:Boolean; public function Layer(_arg1:Boolean=true, _arg2:Boolean=false){ objects = []; pos = new Point(); super(); this.isVisible = _arg1; this.useParallax = _arg2; } 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 removeObject(_arg1:RenderObject):Boolean{ if (objects.indexOf(_arg1) > -1){ objects.splice(objects.indexOf(_arg1), 1); return (true); }; return (false); } public function set renderer(_arg1:Render):void{ _renderer = _arg1; } 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; var _local1:int; while (_local1 < objects.length) { _local2 = objects[_local1]; _local2.render(_renderer); _local1++; }; } } }//package engine.blit
Section 11
//Render (engine.blit.Render) package engine.blit { import flash.display.*; import flash.geom.*; public class Render extends Bitmap { private const ZEROPOINT:Point; private var layers:Array; private var rect:Rectangle; private var paralaxes:Array; public function Render(_arg1:int, _arg2:int){ layers = []; paralaxes = []; ZEROPOINT = new Point(); super(); bitmapData = new BitmapData(_arg1, _arg2, false, 0); rect = bitmapData.rect; } public function set cameraTarget(_arg1:Point):void{ Kamera.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(_arg1:Boolean=false):void{ var _local3:Layer; Kamera.instance.update(); bitmapData.lock(); if (_arg1){ bitmapData.fillRect(rect, 0); }; var _local2:int; while (_local2 < layers.length) { _local3 = layers[_local2]; _local3.render(); _local2++; }; bitmapData.unlock(); } public function addLayer(_arg1:Layer):void{ layers.push(_arg1); _arg1.renderer = this; } public function get cameraBorders():Rectangle{ return (Kamera.instance.borders); } public function set cameraBorders(_arg1:Rectangle):void{ _arg1.x = (rect.width >> 1); _arg1.y = (rect.height >> 1); _arg1.width = (_arg1.width - rect.width); _arg1.height = (_arg1.height - rect.height); Kamera.instance.borders = _arg1; Kamera.instance.frame = new Rectangle(_arg1.left, _arg1.top, rect.width, rect.height); } public function get cameraTarget():Point{ return (Kamera.instance.target); } } }//package engine.blit
Section 12
//AssetManager (engine.managers.AssetManager) package engine.managers { import flash.text.*; import flash.display.*; import flash.media.*; import flash.errors.*; public class AssetManager { private var soundAssets:Array; private var swfAssets:Array; private var fontAssets:Array; private var bitmapAssets:Array; private var registeredClasses:Array; private static var _instance:AssetManager; private static var allow:Boolean = false; public function AssetManager(){ registeredClasses = new Array(); bitmapAssets = new Array(); swfAssets = new Array(); soundAssets = new Array(); fontAssets = new Array(); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function setSWFAssets(_arg1:String, _arg2:MovieClip):void{ swfAssets[_arg1] = _arg2; } public function hasBitmapAsset(_arg1:String):Boolean{ return ((bitmapAssets.indexOf(_arg1) > -1)); } public function getFontAsset(_arg1:String):Font{ if (fontAssets[_arg1] == null){ throw (new IllegalOperationError((("engine.managers.AssetManager: invalid FONT, non-existed asset \"" + _arg1) + "\""))); }; return (fontAssets[_arg1]); } public function setSoundAssets(_arg1:String, _arg2:Sound):void{ soundAssets[_arg1] = _arg2; } public function getSWFAsset(_arg1:String):MovieClip{ if (swfAssets[_arg1] == null){ throw (new IllegalOperationError((("engine.managers.AssetManager: invalid SWF, non-existed asset \"" + _arg1) + "\""))); }; return (swfAssets[_arg1]); } public function setFontAssets(_arg1:String, _arg2:Font):void{ fontAssets[_arg1] = _arg2; } public function registerClass(_arg1:String, _arg2:Class):void{ registeredClasses[_arg1] = _arg2; } public function deleteBitmapAsset(_arg1:String):void{ bitmapAssets.splice(bitmapAssets.indexOf(_arg1), 1); } public function getSoundAsset(_arg1:String):Sound{ if (soundAssets[_arg1] == null){ throw (new IllegalOperationError((("engine.managers.AssetManager: invalid SOUND, non-existed asset \"" + _arg1) + "\""))); }; return (soundAssets[_arg1]); } public function getBitmapAsset(_arg1:String):Bitmap{ if (bitmapAssets[_arg1] == null){ throw (new IllegalOperationError((("engine.managers.AssetManager: invalid BITMAP, non-existed asset \"" + _arg1) + "\""))); }; return (bitmapAssets[_arg1]); } public function loadBitmapAsset(_arg1:String):void{ var _local2:Bitmap; var _local3:Class; if (!_instance.hasBitmapAsset(_arg1)){ _local3 = registeredClasses[_arg1]; _local2 = (new (_local3) as Bitmap); _instance.setBitmapAsset(_arg1, _local2); }; } public function cleanupBitmapAssets():void{ var _local2:Bitmap; var _local1:int = (bitmapAssets.length - 1); while (_local1 >= 0) { _local2 = getBitmapAsset(bitmapAssets[_local1]); _local2.bitmapData.dispose(); deleteBitmapAsset(bitmapAssets[_local1]); _local1--; }; } public function setBitmapAsset(_arg1:String, _arg2:Bitmap):void{ bitmapAssets[_arg1] = _arg2; } public static function get instance():AssetManager{ if (_instance == null){ allow = true; _instance = new (AssetManager); allow = false; }; return (_instance); } } }//package engine.managers
Section 13
//InputManager (engine.managers.InputManager) package engine.managers { import flash.display.*; import flash.events.*; import flash.errors.*; public class InputManager { private var upMouseRegisters:Array; private var wheelMouseRegisters:Array; private var downMouseRegisters:Array; private var downKeyRegisters:Array; private var upKeyRegisters:Array; private var clickMouseRegisters:Array; private var moveMouseRegisters:Array; private var stage:Stage; public static const CLICK:String = "click"; public static const DOWN:String = "down"; public static const MOVE:String = "move"; public static const UP:String = "up"; private static var allow:Boolean = false; private static var _instance:InputManager; public function InputManager(){ upKeyRegisters = new Array(); downKeyRegisters = new Array(); clickMouseRegisters = new Array(); upMouseRegisters = new Array(); downMouseRegisters = new Array(); moveMouseRegisters = new Array(); wheelMouseRegisters = new Array(); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } private function onMouseUp(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (upMouseRegisters.length > 0){ _local2 = 0; while (_local2 < upMouseRegisters.length) { if ((upMouseRegisters[_local2] is Function)){ _local3 = upMouseRegisters[_local2]; _local3(); }; _local2++; }; }; } private function onKeyDown(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:Function; if (((Boolean(downKeyRegisters[_arg1.keyCode])) && ((downKeyRegisters[_arg1.keyCode] is Array)))){ _local2 = 0; while (_local2 < downKeyRegisters[_arg1.keyCode].length) { if ((downKeyRegisters[_arg1.keyCode][_local2] is Function)){ _local3 = downKeyRegisters[_arg1.keyCode][_local2]; _local3(); }; _local2++; }; }; } public function registerKey(_arg1:String, _arg2:int, _arg3:Function):void{ switch (_arg1.toLowerCase()){ case UP: if (!Boolean(upKeyRegisters[_arg2])){ upKeyRegisters[_arg2] = new Array(); }; upKeyRegisters[_arg2].push(_arg3); break; case DOWN: if (!Boolean(downKeyRegisters[_arg2])){ downKeyRegisters[_arg2] = new Array(); }; downKeyRegisters[_arg2].push(_arg3); break; }; } private function onMouseDown(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (downMouseRegisters.length > 0){ _local2 = 0; while (_local2 < downMouseRegisters.length) { if ((downMouseRegisters[_local2] is Function)){ _local3 = downMouseRegisters[_local2]; _local3(); }; _local2++; }; }; } public function unregisterMouse(_arg1:String, _arg2:Function):void{ var _local3:int; switch (_arg1.toLowerCase()){ case CLICK: _local3 = 0; while (_local3 < clickMouseRegisters.length) { if (clickMouseRegisters[_local3] == _arg2){ clickMouseRegisters.splice(_local3, 1); }; _local3++; }; break; case UP: _local3 = 0; while (_local3 < upMouseRegisters.length) { if (upMouseRegisters[_local3] == _arg2){ upMouseRegisters.splice(_local3, 1); }; _local3++; }; break; case DOWN: _local3 = 0; while (_local3 < downMouseRegisters.length) { if (downMouseRegisters[_local3] == _arg2){ downMouseRegisters.splice(_local3, 1); }; _local3++; }; break; case MOVE: _local3 = 0; while (_local3 < moveMouseRegisters.length) { if (moveMouseRegisters[_local3] == _arg2){ moveMouseRegisters.splice(_local3, 1); }; _local3++; }; break; }; } public function unregisterKey(_arg1:String, _arg2:int, _arg3:Function):void{ var _local4:int; switch (_arg1.toLowerCase()){ case UP: if (Boolean(upKeyRegisters[_arg2])){ _local4 = 0; while (_local4 < upKeyRegisters[_arg2].length) { if (upKeyRegisters[_arg2][_local4] == _arg3){ upKeyRegisters[_arg2].splice(_local4, 1); }; _local4++; }; }; break; case DOWN: if (Boolean(downKeyRegisters[_arg2])){ _local4 = 0; while (_local4 < downKeyRegisters[_arg2].length) { if (downKeyRegisters[_arg2][_local4] == _arg3){ downKeyRegisters[_arg2].splice(_local4, 1); }; _local4++; }; }; break; }; } public function registerMouse(_arg1:String, _arg2:Function):void{ switch (_arg1.toLowerCase()){ case CLICK: clickMouseRegisters.push(_arg2); break; case UP: upMouseRegisters.push(_arg2); break; case DOWN: downMouseRegisters.push(_arg2); break; case MOVE: moveMouseRegisters.push(_arg2); break; }; } private function onMouseClick(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (clickMouseRegisters.length > 0){ _local2 = 0; while (_local2 < clickMouseRegisters.length) { if ((clickMouseRegisters[_local2] is Function)){ _local3 = clickMouseRegisters[_local2]; _local3(); }; _local2++; }; }; } private function onMouseMove(_arg1:MouseEvent):void{ var _local2:int; var _local3:Function; if (moveMouseRegisters.length > 0){ _local2 = 0; while (_local2 < moveMouseRegisters.length) { if ((moveMouseRegisters[_local2] is Function)){ _local3 = moveMouseRegisters[_local2]; _local3(); }; _local2++; }; }; } private function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:Function; if (((Boolean(upKeyRegisters[_arg1.keyCode])) && ((upKeyRegisters[_arg1.keyCode] is Array)))){ _local2 = 0; while (_local2 < upKeyRegisters[_arg1.keyCode].length) { if ((upKeyRegisters[_arg1.keyCode][_local2] is Function)){ _local3 = upKeyRegisters[_arg1.keyCode][_local2]; _local3(); }; _local2++; }; }; } public function setup(_arg1:Stage):void{ this.stage = _arg1; this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); this.stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); this.stage.addEventListener(MouseEvent.CLICK, onMouseClick); this.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } public static function get instance():InputManager{ if (!_instance){ allow = true; _instance = new (InputManager); allow = false; }; return (_instance); } } }//package engine.managers
Section 14
//ScreenManager (engine.managers.ScreenManager) package engine.managers { import flash.display.*; import engine.ui.*; import flash.filters.*; import flash.errors.*; public class ScreenManager { private var currentScreen:IScreen; private var dialogList:Array; private var transitionList:Array; private var contentLayer:Sprite; private var cursorLayer:Sprite; private var currentDialog:IScreen; private var root:Sprite; private var dialogLayer:Sprite; private var screenList:Array; private var currentTransition:Transition; private var nextScreenName:String; private var screenBlur:BlurFilter; private var currentScreenName:String; private var transitionLayer:Sprite; private var stage:Stage; private var nextScreen:IScreen; private static var _instance:ScreenManager; private static var allow:Boolean = false; public function ScreenManager(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } private function switchScreen():void{ if (((!((currentScreen == null))) && (contentLayer.contains(currentScreen.sprite)))){ contentLayer.removeChild(currentScreen.sprite); }; currentScreen = nextScreen; currentScreenName = nextScreenName; contentLayer.addChild(currentScreen.sprite); currentTransition.open(); } private function reFocus():void{ root.stage.focus = root; } public function addDialog(_arg1:String, _arg2:IScreen):void{ if (dialogList[_arg1] == null){ dialogList[_arg1] = _arg2; }; } public function getScreen(_arg1:String):IScreen{ if (screenList[_arg1] == null){ throw (new IllegalOperationError((("Screen " + _arg1) + " doesn't exist"))); }; return (screenList[_arg1]); } public function showScreen(_arg1:String, _arg2:String=""):void{ if (currentScreen != null){ currentScreen.cleanup(); }; nextScreenName = _arg1; transitionLayer.mouseEnabled = true; transitionLayer.visible = true; if (_arg2 == ""){ currentTransition = new BasicTransition(); } else { currentTransition = (transitionList[_arg2] as Transition); }; currentTransition.setup(transitionLayer, prepareScreen, runScreen); currentTransition.close(); } public function addTransition(_arg1:String, _arg2:Transition):void{ if (transitionList[_arg1] == null){ transitionList[_arg1] = _arg2; }; } private function runScreen():void{ currentScreen.start(); reFocus(); transitionLayer.mouseEnabled = false; transitionLayer.visible = false; } private function prepareScreen():void{ nextScreen = screenList[nextScreenName]; if (nextScreen.init()){ switchScreen(); }; } public function showDialog(_arg1:String, _arg2:Boolean=true):void{ hideDialog(); currentDialog = dialogList[_arg1]; dialogLayer.addChild(currentDialog.sprite); contentLayer.filters = (_arg2) ? [screenBlur] : []; currentDialog.init(); currentDialog.start(); } public function getCursorLayer():Sprite{ return (cursorLayer); } public function addScreen(_arg1:String, _arg2:IScreen):void{ if (screenList[_arg1] == null){ screenList[_arg1] = _arg2; }; } public function hideDialog():void{ if (((!((currentDialog == null))) && (dialogLayer.contains(currentDialog.sprite)))){ currentDialog.cleanup(); dialogLayer.removeChild(currentDialog.sprite); }; contentLayer.filters = []; reFocus(); } public function setup(_arg1:Sprite, _arg2:Stage):void{ this.root = _arg1; this.stage = _arg2; _arg2.stageFocusRect = false; contentLayer = new Sprite(); dialogLayer = new Sprite(); cursorLayer = new Sprite(); transitionLayer = new Sprite(); currentScreenName = ""; cursorLayer.buttonMode = false; cursorLayer.mouseEnabled = false; screenBlur = new BlurFilter(3, 3, 3); _arg1.addChild(contentLayer); _arg1.addChild(dialogLayer); _arg1.addChild(transitionLayer); _arg1.addChild(cursorLayer); screenList = []; dialogList = []; transitionList = []; } public static function get instance():ScreenManager{ if (_instance == null){ allow = true; _instance = new (ScreenManager); allow = false; }; return (_instance); } } }//package engine.managers
Section 15
//SharedObjectManager (engine.managers.SharedObjectManager) package engine.managers { import flash.net.*; import flash.errors.*; public class SharedObjectManager { private var listSO:Object; private var SO:SharedObject; private static var _instance:SharedObjectManager; private static var allow:Boolean = false; public function SharedObjectManager(){ 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 current():SharedObject{ return (SO); } public function setup(_arg1:String):void{ var _local2:SharedObject = SharedObject.getLocal(_arg1); listSO[_arg1] = _local2; } public function apply(_arg1:String):Boolean{ if (listSO[_arg1] != null){ SO = listSO[_arg1]; return (true); }; return (false); } public static function get instance():SharedObjectManager{ if (!_instance){ allow = true; _instance = new (SharedObjectManager); allow = false; }; return (_instance); } } }//package engine.managers
Section 16
//SoundManager (engine.managers.SoundManager) package engine.managers { import flash.events.*; import flash.media.*; import flash.errors.*; public class SoundManager { private var bgmId:String; private var bgmTransform:SoundTransform; private var isBGMPlaying:Boolean;// = false private var isSFXmute:Boolean;// = false private var isBGMmute:Boolean;// = false private var bgmChannel:SoundChannel; private var bgmSound:Sound; private var sfxTransform:SoundTransform; private static var _instance:SoundManager; private static var allow:Boolean = false; public function SoundManager(){ bgmTransform = new SoundTransform(); sfxTransform = new SoundTransform(); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function setBGMVolume(_arg1:Number):void{ bgmTransform.volume = _arg1; bgmChannel.soundTransform = bgmTransform; } public function set BGMMute(_arg1:Boolean):void{ isBGMmute = _arg1; if (_arg1){ stopBGM(); } else { playBGM(bgmId); }; } public function isPlayingBGM(_arg1:String):Boolean{ return (isBGMPlaying); } private function stopSFXChannelEvent(_arg1:Event):void{ stopSFX((_arg1.currentTarget as SoundChannel)); } public function stopSFX(_arg1:SoundChannel):void{ _arg1.stop(); if (_arg1.hasEventListener(Event.SOUND_COMPLETE)){ _arg1.removeEventListener(Event.SOUND_COMPLETE, stopSFXChannelEvent); }; } public function stopBGM():void{ isBGMPlaying = false; if (bgmChannel != null){ bgmChannel.stop(); if (bgmChannel.hasEventListener(Event.SOUND_COMPLETE)){ bgmChannel.removeEventListener(Event.SOUND_COMPLETE, onCompleteBGM); }; }; bgmChannel = null; } private function onCompleteBGM(_arg1:Event):void{ playBGM(bgmId); } public function playSFX(_arg1:String):void{ var _local2:Sound; var _local3:SoundChannel; if (!isSFXmute){ _local2 = AssetManager.instance.getSoundAsset(_arg1); _local3 = _local2.play(0, 1, sfxTransform); _local3.addEventListener(Event.SOUND_COMPLETE, stopSFXChannelEvent); }; } public function playBGM(_arg1:String):void{ stopBGM(); this.bgmId = _arg1; if (!isBGMmute){ bgmSound = AssetManager.instance.getSoundAsset(_arg1); bgmChannel = bgmSound.play(0, int.MAX_VALUE, bgmTransform); isBGMPlaying = true; if (!bgmChannel.hasEventListener(Event.SOUND_COMPLETE)){ bgmChannel.addEventListener(Event.SOUND_COMPLETE, onCompleteBGM); }; }; } public function set SFXMute(_arg1:Boolean):void{ isSFXmute = _arg1; } public function setSFXVolume(_arg1:Number):void{ sfxTransform.volume = _arg1; } public static function get instance():SoundManager{ if (_instance == null){ allow = true; _instance = new (SoundManager); allow = false; }; return (_instance); } } }//package engine.managers
Section 17
//BasicTransition (engine.ui.BasicTransition) package engine.ui { import game.*; import gs.*; public class BasicTransition extends Transition { override protected function doOpen():void{ TweenLite.to(layer, 0.5, {alpha:0, delay:0.5, onComplete:start, overwrite:false}); } override protected function doClose():void{ TweenLite.to(layer, 0.5, {alpha:1, onComplete:prepare}); } override protected function postSetup():void{ layer.graphics.beginFill(0); layer.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); } } }//package engine.ui
Section 18
//IScreen (engine.ui.IScreen) package engine.ui { import flash.display.*; public interface IScreen { function init():Boolean; function start():void; function cleanup():void; function get sprite():Sprite; function pause():void; function releaseInputs():void; function captureInputs():void; } }//package engine.ui
Section 19
//Screen (engine.ui.Screen) package engine.ui { import flash.display.*; import flash.errors.*; public class Screen implements IScreen { protected var container:Sprite; private var usageWarning:String;// = "Abstract method: must be overridden in a subclass" public function pause():void{ throw (new IllegalOperationError(usageWarning)); } public function start():void{ throw (new IllegalOperationError(usageWarning)); } public function cleanup():void{ throw (new IllegalOperationError(usageWarning)); } public function get sprite():Sprite{ if (container == null){ container = new Sprite(); }; return (container); } public function captureInputs():void{ throw (new IllegalOperationError(usageWarning)); } public function init():Boolean{ throw (new IllegalOperationError(usageWarning)); } public function releaseInputs():void{ throw (new IllegalOperationError(usageWarning)); } } }//package engine.ui
Section 20
//Transition (engine.ui.Transition) package engine.ui { import flash.display.*; public class Transition { protected var prepare:Function; protected var start:Function; protected var layer:Sprite; public function open():void{ if (start != null){ doOpen(); }; } public function setup(_arg1:Sprite, _arg2:Function, _arg3:Function):void{ this.layer = _arg1; this.prepare = _arg2; this.start = _arg3; postSetup(); } protected function doClose():void{ } protected function doOpen():void{ } public function close():void{ if (prepare != null){ doClose(); }; } protected function postSetup():void{ } } }//package engine.ui
Section 21
//EnemyBulky01 (game.entities.enemies.EnemyBulky01) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyBulky01 extends Enemy { public function EnemyBulky01(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyBulky01Weapon(); } override protected function get maxHealth():int{ return (70); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100])); } override public function get damage():int{ return (30); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2, 2.4, 0.1)); } override protected function get rangeOfSight():int{ return (300); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYBULKY01); } override public function get exp():int{ return (85); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYBULKY01); } } }//package game.entities.enemies
Section 22
//EnemyBulky02 (game.entities.enemies.EnemyBulky02) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyBulky02 extends Enemy { public function EnemyBulky02(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyBulky02Weapon(); } override protected function get maxHealth():int{ return (78); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100, Config.ITEM_WEAPONENERGYPACKLET200, Config.ITEM_ARMORENERGYPACKLET150])); } override public function get damage():int{ return (36); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2.2, 2.6, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYBULKY02); } override public function get exp():int{ return (90); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYBULKY02); } } }//package game.entities.enemies
Section 23
//EnemyBulky03 (game.entities.enemies.EnemyBulky03) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyBulky03 extends Enemy { public function EnemyBulky03(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyBulky03Weapon(); } override protected function get maxHealth():int{ return (84); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100, Config.ITEM_WEAPONENERGYPACKLET200, Config.ITEM_ARMORENERGYPACKLET150])); } override public function get damage():int{ return (40); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2.2, 2.6, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (240); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYBULKY03); } override public function get exp():int{ return (95); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYBULKY03); } } }//package game.entities.enemies
Section 24
//EnemyBulky04 (game.entities.enemies.EnemyBulky04) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyBulky04 extends Enemy { public function EnemyBulky04(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyBulky04Weapon(); } override protected function get maxHealth():int{ return (90); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100, Config.ITEM_WEAPONENERGYPACKLET200, Config.ITEM_ARMORENERGYPACKLET150])); } override public function get damage():int{ return (44); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2.2, 2.6, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (280); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYBULKY04); } override public function get exp():int{ return (100); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYBULKY04); } } }//package game.entities.enemies
Section 25
//EnemyBulky05 (game.entities.enemies.EnemyBulky05) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyBulky05 extends Enemy { public function EnemyBulky05(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyBulky05Weapon(); } override protected function get maxHealth():int{ return (100); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100, Config.ITEM_WEAPONENERGYPACKLET200, Config.ITEM_ARMORENERGYPACKLET150])); } override public function get damage():int{ return (50); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2.2, 2.6, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (280); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYBULKY05); } override public function get exp():int{ return (120); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(1, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYBULKY05); } } }//package game.entities.enemies
Section 26
//EnemyFat01 (game.entities.enemies.EnemyFat01) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyFat01 extends Enemy { public function EnemyFat01(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyFat01Weapon(); } override protected function get maxHealth():int{ return (46); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override public function get damage():int{ return (15); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.7, 2.1, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (120); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYFAT01); } override public function get exp():int{ return (70); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYFAT01); } } }//package game.entities.enemies
Section 27
//EnemyFat02 (game.entities.enemies.EnemyFat02) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyFat02 extends Enemy { public function EnemyFat02(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyFat02Weapon(); } override protected function get maxHealth():int{ return (46); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override public function get damage():int{ return (15); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.7, 2.1, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (120); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYFAT02); } override public function get exp():int{ return (75); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYFAT02); } } }//package game.entities.enemies
Section 28
//EnemyFat03 (game.entities.enemies.EnemyFat03) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyFat03 extends Enemy { public function EnemyFat03(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyFat03Weapon(); } override protected function get maxHealth():int{ return (48); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100])); } override public function get damage():int{ return (20); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.7, 2.1, 0.1)); } override protected function get rangeOfSight():int{ return (450); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYFAT03); } override public function get exp():int{ return (80); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYFAT03); } } }//package game.entities.enemies
Section 29
//EnemyFat04 (game.entities.enemies.EnemyFat04) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyFat04 extends Enemy { public function EnemyFat04(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyFat04Weapon(); } override protected function get maxHealth():int{ return (48); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100])); } override public function get damage():int{ return (20); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.7, 2.1, 0.1)); } override protected function get rangeOfSight():int{ return (450); } override protected function get rangeOfAttack():int{ return (180); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYFAT04); } override public function get exp():int{ return (85); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYFAT04); } } }//package game.entities.enemies
Section 30
//EnemyFat05 (game.entities.enemies.EnemyFat05) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyFat05 extends Enemy { public function EnemyFat05(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyFat05Weapon(); } override protected function get maxHealth():int{ return (80); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100])); } override public function get damage():int{ return (20); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.8, 2.2, 0.1)); } override protected function get rangeOfSight():int{ return (450); } override protected function get rangeOfAttack():int{ return (120); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYFAT05); } override public function get exp():int{ return (90); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYFAT05); } } }//package game.entities.enemies
Section 31
//EnemyLimp01 (game.entities.enemies.EnemyLimp01) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyLimp01 extends Enemy { public function EnemyLimp01(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyLimp01Weapon(); } override protected function get maxHealth():int{ return (8); } override protected function get lootList():Array{ return (_lootList.concat([])); } override public function get damage():int{ return (5); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(0.5, 1, 0.1)); } override protected function get rangeOfSight():int{ return (150); } override protected function get rangeOfAttack():int{ return (Config.ENEMY_MELEE_RANGE); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYLIMP01); } override public function get exp():int{ return (10); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 2)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYLIMP01); } } }//package game.entities.enemies
Section 32
//EnemyLimp02 (game.entities.enemies.EnemyLimp02) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyLimp02 extends Enemy { public function EnemyLimp02(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyLimp02Weapon(); } override protected function get maxHealth():int{ return (16); } override protected function get lootList():Array{ return (super._lootList.concat([])); } override public function get damage():int{ return (10); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1, 1.4, 0.1)); } override protected function get rangeOfSight():int{ return (150); } override protected function get rangeOfAttack():int{ return (Config.ENEMY_MELEE_RANGE); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYLIMP02); } override public function get exp():int{ return (20); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 2)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYLIMP02); } } }//package game.entities.enemies
Section 33
//EnemyLimp03 (game.entities.enemies.EnemyLimp03) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyLimp03 extends Enemy { public function EnemyLimp03(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyLimp03Weapon(); } override protected function get maxHealth():int{ return (20); } override protected function get lootList():Array{ return (super._lootList.concat([])); } override public function get damage():int{ return (15); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.2, 1.6, 0.1)); } override protected function get rangeOfSight():int{ return (150); } override protected function get rangeOfAttack():int{ return (160); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYLIMP03); } override public function get exp():int{ return (25); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYLIMP03); } } }//package game.entities.enemies
Section 34
//EnemyLimp04 (game.entities.enemies.EnemyLimp04) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyLimp04 extends Enemy { public function EnemyLimp04(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyLimp04Weapon(); } override protected function get maxHealth():int{ return (22); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET50])); } override public function get damage():int{ return (15); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.2, 1.6, 0.1)); } override protected function get rangeOfSight():int{ return (200); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYLIMP04); } override public function get exp():int{ return (30); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYLIMP04); } } }//package game.entities.enemies
Section 35
//EnemyLimp05 (game.entities.enemies.EnemyLimp05) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyLimp05 extends Enemy { public function EnemyLimp05(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyLimp05Weapon(); } override protected function get maxHealth():int{ return (24); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET50])); } override public function get damage():int{ return (20); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.4, 1.8, 0.1)); } override protected function get rangeOfSight():int{ return (200); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYLIMP05); } override public function get exp():int{ return (35); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYLIMP05); } } }//package game.entities.enemies
Section 36
//EnemyMedium01 (game.entities.enemies.EnemyMedium01) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyMedium01 extends Enemy { public function EnemyMedium01(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyMedium01Weapon(); } override protected function get maxHealth():int{ return (38); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10])); } override public function get damage():int{ return (22); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.7, 2.1, 0.1)); } override protected function get rangeOfSight():int{ return (300); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYMEDIUM01); } override public function get exp():int{ return (50); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYMEDIUM01); } } }//package game.entities.enemies
Section 37
//EnemyMedium02 (game.entities.enemies.EnemyMedium02) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyMedium02 extends Enemy { public function EnemyMedium02(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyMedium02Weapon(); } override protected function get maxHealth():int{ return (46); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10])); } override public function get damage():int{ return (22); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.8, 2.2, 0.1)); } override protected function get rangeOfSight():int{ return (350); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYMEDIUM02); } override public function get exp():int{ return (55); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYMEDIUM02); } } }//package game.entities.enemies
Section 38
//EnemyMedium03 (game.entities.enemies.EnemyMedium03) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyMedium03 extends Enemy { public function EnemyMedium03(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyMedium03Weapon(); } override protected function get maxHealth():int{ return (50); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYMEDIUM03); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.8, 2.2, 0.1)); } override protected function get rangeOfSight():int{ return (350); } override public function get damage():int{ return (28); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYMEDIUM03); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (200); } override public function get exp():int{ return (60); } } }//package game.entities.enemies
Section 39
//EnemyMedium04 (game.entities.enemies.EnemyMedium04) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyMedium04 extends Enemy { public function EnemyMedium04(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyMedium04Weapon(); } override protected function get maxHealth():int{ return (54); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override public function get damage():int{ return (34); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1, 1.5, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYMEDIUM04); } override public function get exp():int{ return (65); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYMEDIUM04); } } }//package game.entities.enemies
Section 40
//EnemyMedium05 (game.entities.enemies.EnemyMedium05) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemyMedium05 extends Enemy { public function EnemyMedium05(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemyMedium05Weapon(); } override protected function get maxHealth():int{ return (50); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50, Config.ITEM_WEAPONENERGYPACKLET150, Config.ITEM_ARMORENERGYPACKLET100])); } override public function get damage():int{ return (38); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(2, 2.4, 0.1)); } override protected function get rangeOfSight():int{ return (400); } override protected function get rangeOfAttack():int{ return (200); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYMEDIUM05); } override public function get exp():int{ return (70); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYMEDIUM05); } } }//package game.entities.enemies
Section 41
//EnemySkinny01 (game.entities.enemies.EnemySkinny01) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemySkinny01 extends Enemy { public function EnemySkinny01(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemySkinny01Weapon(); } override protected function get maxHealth():int{ return (16); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYSKINNY01); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_ARMORENERGYPACKLET10])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.6, 2, 0.1)); } override protected function get rangeOfSight():int{ return (150); } override public function get damage():int{ return (22); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 2)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYSKINNY01); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (40); } override public function get exp():int{ return (30); } } }//package game.entities.enemies
Section 42
//EnemySkinny02 (game.entities.enemies.EnemySkinny02) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemySkinny02 extends Enemy { public function EnemySkinny02(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemySkinny02Weapon(); } override protected function get maxHealth():int{ return (24); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYSKINNY02); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.6, 2, 0.1)); } override protected function get rangeOfSight():int{ return (250); } override public function get damage():int{ return (24); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYSKINNY02); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (40); } override public function get exp():int{ return (35); } } }//package game.entities.enemies
Section 43
//EnemySkinny03 (game.entities.enemies.EnemySkinny03) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemySkinny03 extends Enemy { public function EnemySkinny03(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemySkinny03Weapon(); } override protected function get maxHealth():int{ return (26); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYSKINNY03); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.6, 2, 0.1)); } override protected function get rangeOfSight():int{ return (250); } override public function get damage():int{ return (26); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 3)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYSKINNY03); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (40); } override public function get exp():int{ return (40); } } }//package game.entities.enemies
Section 44
//EnemySkinny04 (game.entities.enemies.EnemySkinny04) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemySkinny04 extends Enemy { public function EnemySkinny04(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemySkinny04Weapon(); } override protected function get maxHealth():int{ return (30); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYSKINNY04); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.8, 2.2, 0.1)); } override protected function get rangeOfSight():int{ return (300); } override public function get damage():int{ return (20); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYSKINNY04); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (200); } override public function get exp():int{ return (60); } } }//package game.entities.enemies
Section 45
//EnemySkinny05 (game.entities.enemies.EnemySkinny05) package game.entities.enemies { import flash.geom.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.weapons.*; public class EnemySkinny05 extends Enemy { public function EnemySkinny05(_arg1:Point, _arg2:int){ super(_arg1, _arg2); incDeg = 22.5; normDeg = (1 / incDeg); weapon = new EnemySkinny05Weapon(); } override protected function get maxHealth():int{ return (34); } override protected function get _assetName():String{ return (Config.ASSET_ENEMYSKINNY05); } override protected function get lootList():Array{ return (super._lootList.concat([Config.ITEM_WEAPONENERGYPACKLET50, Config.ITEM_ARMORENERGYPACKLET10, Config.ITEM_WEAPONENERGYPACKLET100, Config.ITEM_ARMORENERGYPACKLET50])); } override protected function get _speed():Number{ return (CustomMath.rangedRandom(1.8, 2.2, 0.1)); } override protected function get rangeOfSight():int{ return (300); } override public function get damage():int{ return (20); } override protected function get lootDropAmount():int{ return (CustomMath.rangedRandom(0, 4)); } override protected function get _deadAssetName():String{ return (Config.ASSET_DEADENEMYSKINNY05); } override public function get startingType():String{ return (Enemy.START_WANDER); } override protected function get rangeOfAttack():int{ return (150); } override public function get exp():int{ return (65); } } }//package game.entities.enemies
Section 46
//Info1 (game.entities.info.Info1) package game.entities.info { import flash.geom.*; import game.entities.*; import game.*; public class Info1 extends Info { public function Info1(_arg1:Point){ super(_arg1); } override public function text():String{ return (Config.TEXT_INFO_1); } } }//package game.entities.info
Section 47
//Info2 (game.entities.info.Info2) package game.entities.info { import flash.geom.*; import game.entities.*; import game.*; public class Info2 extends Info { public function Info2(_arg1:Point){ super(_arg1); } override public function text():String{ return (Config.TEXT_INFO_2); } } }//package game.entities.info
Section 48
//Info3 (game.entities.info.Info3) package game.entities.info { import flash.geom.*; import game.entities.*; import game.*; public class Info3 extends Info { public function Info3(_arg1:Point){ super(_arg1); } override public function text():String{ return (Config.TEXT_INFO_3); } } }//package game.entities.info
Section 49
//Info4 (game.entities.info.Info4) package game.entities.info { import flash.geom.*; import game.entities.*; import game.*; public class Info4 extends Info { public function Info4(_arg1:Point){ super(_arg1); } override public function text():String{ return (Config.TEXT_INFO_4); } } }//package game.entities.info
Section 50
//Info5 (game.entities.info.Info5) package game.entities.info { import flash.geom.*; import game.entities.*; import game.*; public class Info5 extends Info { public function Info5(_arg1:Point){ super(_arg1); } override public function text():String{ return (Config.TEXT_INFO_5); } } }//package game.entities.info
Section 51
//ArmorChipStandard (game.entities.items.armorchips.ArmorChipStandard) package game.entities.items.armorchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ArmorChipStandard extends ArmorChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get torchLightHeight():int{ return ((0x0100 * 0.5)); } override public function get modSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0); } override public function get torchLightWidth():int{ return ((0x0100 * 2)); } override public function get levels():Array{ return ([]); } override public function get modSlowTime():ModData{ return (new ModData(ModData.IS, 0)); } override public function get buyCost():int{ return (1500); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get modPoisonTime():ModData{ return (new ModData(ModData.IS, 0)); } override public function get centerLightRadius():int{ return (0x0200); } override public function get id():String{ return (Config.ITEM_ARMORCHIP_STANDARD); } override public function get sellCost():int{ return (750); } } }//package game.entities.items.armorchips
Section 52
//ArmorChipX1 (game.entities.items.armorchips.ArmorChipX1) package game.entities.items.armorchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ArmorChipX1 extends ArmorChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get torchLightHeight():int{ return ((0x0100 * 0.75)); } override public function get modSpeed():ModData{ return (new ModData(ModData.ADD, 1)); } override public function get rarity():Number{ return (0); } override public function get torchLightWidth():int{ return ((0x0100 * 2)); } override public function get levels():Array{ return ([]); } override public function get modSlowTime():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get buyCost():int{ return (5000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get modPoisonTime():ModData{ return (new ModData(ModData.IS, 0)); } override public function get centerLightRadius():int{ return (0x0200); } override public function get id():String{ return (Config.ITEM_ARMORCHIP_X1); } override public function get sellCost():int{ return (2500); } } }//package game.entities.items.armorchips
Section 53
//ArmorChipX2 (game.entities.items.armorchips.ArmorChipX2) package game.entities.items.armorchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ArmorChipX2 extends ArmorChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get torchLightHeight():int{ return (0x0100); } override public function get modSpeed():ModData{ return (new ModData(ModData.ADD, 1)); } override public function get rarity():Number{ return (0); } override public function get torchLightWidth():int{ return ((0x0200 * 1.5)); } override public function get levels():Array{ return ([]); } override public function get modSlowTime():ModData{ return (new ModData(ModData.MUL, 0.6)); } override public function get buyCost():int{ return (15000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get modPoisonTime():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get centerLightRadius():int{ return (640); } override public function get id():String{ return (Config.ITEM_ARMORCHIP_X2); } override public function get sellCost():int{ return (7500); } } }//package game.entities.items.armorchips
Section 54
//ArmorChipX3 (game.entities.items.armorchips.ArmorChipX3) package game.entities.items.armorchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ArmorChipX3 extends ArmorChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get torchLightHeight():int{ return ((0x0200 * 0.75)); } override public function get modSpeed():ModData{ return (new ModData(ModData.ADD, 2)); } override public function get rarity():Number{ return (0); } override public function get torchLightWidth():int{ return ((0x0200 * 2)); } override public function get levels():Array{ return ([]); } override public function get modSlowTime():ModData{ return (new ModData(ModData.MUL, 0.4)); } override public function get buyCost():int{ return (30000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get modPoisonTime():ModData{ return (new ModData(ModData.MUL, 0.6)); } override public function get centerLightRadius():int{ return (640); } override public function get id():String{ return (Config.ITEM_ARMORCHIP_X3); } override public function get sellCost():int{ return (15000); } } }//package game.entities.items.armorchips
Section 55
//APack100 (game.entities.items.armorenergy.APack100) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack100 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (100); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (2500); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (20); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK100); } override public function get sellCost():int{ return (1750); } } }//package game.entities.items.armorenergy
Section 56
//APack1000 (game.entities.items.armorenergy.APack1000) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack1000 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (1000); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (30000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK1000); } override public function get sellCost():int{ return (15000); } } }//package game.entities.items.armorenergy
Section 57
//APack20 (game.entities.items.armorenergy.APack20) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack20 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (20); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (200); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (100); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK20); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.armorenergy
Section 58
//APack250 (game.entities.items.armorenergy.APack250) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack250 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (250); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (6000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (4); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK250); } override public function get sellCost():int{ return (3000); } } }//package game.entities.items.armorenergy
Section 59
//APack50 (game.entities.items.armorenergy.APack50) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack50 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (50); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (1000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (40); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK50); } override public function get sellCost():int{ return (500); } } }//package game.entities.items.armorenergy
Section 60
//APack500 (game.entities.items.armorenergy.APack500) package game.entities.items.armorenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class APack500 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (500); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (10000); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (0); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACK500); } override public function get sellCost():int{ return (5000); } } }//package game.entities.items.armorenergy
Section 61
//APacklet10 (game.entities.items.armorenergy.APacklet10) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet10 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (10); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET10); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 62
//APacklet100 (game.entities.items.armorenergy.APacklet100) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet100 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (100); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.5); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET100); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 63
//APacklet150 (game.entities.items.armorenergy.APacklet150) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet150 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (150); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET150); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 64
//APacklet200 (game.entities.items.armorenergy.APacklet200) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet200 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (200); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET200); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 65
//APacklet250 (game.entities.items.armorenergy.APacklet250) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet250 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (250); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET250); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 66
//APacklet5 (game.entities.items.armorenergy.APacklet5) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet5 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (5); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET5); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 67
//APacklet50 (game.entities.items.armorenergy.APacklet50) package game.entities.items.armorenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class APacklet50 extends ArmorEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(32, 0, 32, 32)); } override public function get capacity():int{ return (50); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.6); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_ARMORENERGYPACKLET50); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.armorenergy
Section 68
//Credit10 (game.entities.items.credits.Credit10) package game.entities.items.credits { import flash.geom.*; import game.*; import game.entities.items.*; public class Credit10 extends Credit { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get desc():String{ return (""); } override public function get rarity():Number{ return (1); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (null); } override public function get sellCost():int{ return (0); } override public function get value():int{ return (10); } override public function get id():String{ return (Config.ITEM_CREDIT10); } override public function get levels():Array{ return ([]); } } }//package game.entities.items.credits
Section 69
//Credit100 (game.entities.items.credits.Credit100) package game.entities.items.credits { import flash.geom.*; import game.*; import game.entities.items.*; public class Credit100 extends Credit { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get desc():String{ return (""); } override public function get rarity():Number{ return (0.5); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (null); } override public function get sellCost():int{ return (0); } override public function get value():int{ return (100); } override public function get id():String{ return (Config.ITEM_CREDIT100); } override public function get levels():Array{ return ([]); } } }//package game.entities.items.credits
Section 70
//Credit50 (game.entities.items.credits.Credit50) package game.entities.items.credits { import flash.geom.*; import game.*; import game.entities.items.*; public class Credit50 extends Credit { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get desc():String{ return (""); } override public function get rarity():Number{ return (0.7); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (null); } override public function get sellCost():int{ return (0); } override public function get value():int{ return (50); } override public function get id():String{ return (Config.ITEM_CREDIT50); } override public function get levels():Array{ return ([]); } } }//package game.entities.items.credits
Section 71
//Credit500 (game.entities.items.credits.Credit500) package game.entities.items.credits { import flash.geom.*; import game.*; import game.entities.items.*; public class Credit500 extends Credit { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get desc():String{ return (""); } override public function get rarity():Number{ return (0.2); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (null); } override public function get sellCost():int{ return (0); } override public function get value():int{ return (500); } override public function get id():String{ return (Config.ITEM_CREDIT500); } override public function get levels():Array{ return ([]); } } }//package game.entities.items.credits
Section 72
//Bolt (game.entities.items.modchips.Bolt) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class Bolt extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.8); } override public function get chipTypes():Array{ return ([]); } override public function get levels():Array{ return ([1, 2, 3]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (160); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 90)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLT); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 73
//BoltNeutronI (game.entities.items.modchips.BoltNeutronI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class BoltNeutronI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II]); } override public function get levels():Array{ return ([2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (60); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLTNEUTRON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 3)); } override public function get sellCost():int{ return (30); } } }//package game.entities.items.modchips
Section 74
//BoltNeutronII (game.entities.items.modchips.BoltNeutronII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class BoltNeutronII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.ADD, 10)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLTNEUTRON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.ADD, 5)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 4)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 75
//BoltNeutronIII (game.entities.items.modchips.BoltNeutronIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class BoltNeutronIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.ADD, 20)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 4)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV]); } override public function get levels():Array{ return ([3, 4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLTNEUTRON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.ADD, 10)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 5)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 76
//BoltPulseI (game.entities.items.modchips.BoltPulseI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class BoltPulseI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2.5)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLTPULSE_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 5)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 77
//BoltPulseII (game.entities.items.modchips.BoltPulseII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class BoltPulseII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(0, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_BOLTPULSE_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 10)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 78
//CNeutronI (game.entities.items.modchips.CNeutronI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class CNeutronI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0.4); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(10, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III]); } override public function get levels():Array{ return ([2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_CNEUTRON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 5)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 79
//CNeutronII (game.entities.items.modchips.CNeutronII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class CNeutronII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0.6); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(10, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV]); } override public function get levels():Array{ return ([2, 3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (120); } override public function get id():String{ return (Config.ITEM_MODCHIP_CNEUTRON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 7)); } override public function get sellCost():int{ return (60); } } }//package game.entities.items.modchips
Section 80
//CNeutronIII (game.entities.items.modchips.CNeutronIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class CNeutronIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0.6); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(10, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_CNEUTRON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.ADD, 10)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 81
//CPlasmaI (game.entities.items.modchips.CPlasmaI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class CPlasmaI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0.6); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(10, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.6)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II, Config.ITEM_WEAPONCHIP_PLASMA_III]); } override public function get levels():Array{ return ([3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 54)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (180); } override public function get id():String{ return (Config.ITEM_MODCHIP_CPLASMA_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 82
//CPlasmaII (game.entities.items.modchips.CPlasmaII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class CPlasmaII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0.6); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(10, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 54)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (200); } override public function get id():String{ return (Config.ITEM_MODCHIP_CPLASMA_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 83
//FPhotonI (game.entities.items.modchips.FPhotonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPhotonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 4)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (120); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPHOTON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.MUL, 0.7)); } override public function get sellCost():int{ return (60); } } }//package game.entities.items.modchips
Section 84
//FPhotonII (game.entities.items.modchips.FPhotonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPhotonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 6)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPHOTON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.MUL, 0.6)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 85
//FPhotonIII (game.entities.items.modchips.FPhotonIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPhotonIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 10)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_V]); } override public function get levels():Array{ return ([4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPHOTON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.MUL, 0.5)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 86
//FPulseI (game.entities.items.modchips.FPulseI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPulseI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPULSE_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.MUL, 1.2)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 87
//FPulseII (game.entities.items.modchips.FPulseII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPulseII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.ADD, 3)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPULSE_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 88
//FPulseIII (game.entities.items.modchips.FPulseIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class FPulseIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(20, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 8)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.ADD, 5)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_V]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (180); } override public function get id():String{ return (Config.ITEM_MODCHIP_FPULSE_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 89
//Rapid (game.entities.items.modchips.Rapid) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class Rapid extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(30, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.8); } override public function get chipTypes():Array{ return ([]); } override public function get levels():Array{ return ([1, 2, 3]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (160); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 90)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_RAPID); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 90
//RPlasmaI (game.entities.items.modchips.RPlasmaI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class RPlasmaI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(30, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.8)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II]); } override public function get levels():Array{ return ([3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 54)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (60); } override public function get id():String{ return (Config.ITEM_MODCHIP_RPLASMA_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (30); } } }//package game.entities.items.modchips
Section 91
//RPlasmaII (game.entities.items.modchips.RPlasmaII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class RPlasmaII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(30, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.7)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_WEAPONCHIP_PLASMA_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 54)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_RPLASMA_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 92
//RPlasmaIII (game.entities.items.modchips.RPlasmaIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class RPlasmaIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(30, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 54)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_RPLASMA_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 93
//RStrikePhotonI (game.entities.items.modchips.RStrikePhotonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class RStrikePhotonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(40, 0)); } override public function get pierceCount():int{ return (2); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_RSTRIKEPHOTON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 94
//RStrikePhotonII (game.entities.items.modchips.RStrikePhotonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class RStrikePhotonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(40, 0)); } override public function get pierceCount():int{ return (4); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 8)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_V]); } override public function get levels():Array{ return ([4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_RSTRIKEPHOTON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 95
//Scatter (game.entities.items.modchips.Scatter) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class Scatter extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.8); } override public function get chipTypes():Array{ return ([]); } override public function get levels():Array{ return ([1, 2, 3]); } override public function get scatterCount():int{ return (1); } override public function get buyCost():int{ return (80); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 90)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTER); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (40); } } }//package game.entities.items.modchips
Section 96
//ScatterNeutronI (game.entities.items.modchips.ScatterNeutronI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterNeutronI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (1); } override public function get buyCost():int{ return (100); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 36)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERNEUTRON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 97
//ScatterNeutronII (game.entities.items.modchips.ScatterNeutronII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterNeutronII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_IV]); } override public function get levels():Array{ return ([3, 4, 5]); } override public function get scatterCount():int{ return (2); } override public function get buyCost():int{ return (160); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 36)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERNEUTRON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 98
//ScatterNeutronIII (game.entities.items.modchips.ScatterNeutronIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterNeutronIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_V]); } override public function get levels():Array{ return ([5]); } override public function get scatterCount():int{ return (2); } override public function get buyCost():int{ return (180); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 36)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERNEUTRON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 99
//ScatterPhoton (game.entities.items.modchips.ScatterPhoton) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPhoton extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V]); } override public function get levels():Array{ return ([1, 2, 3, 4, 5]); } override public function get scatterCount():int{ return (2); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (120); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPHOTON); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.SUB, 10)); } override public function get sellCost():int{ return (60); } } }//package game.entities.items.modchips
Section 100
//ScatterPlasmaI (game.entities.items.modchips.ScatterPlasmaI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPlasmaI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.6)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.SUB, 5)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II]); } override public function get levels():Array{ return ([3]); } override public function get scatterCount():int{ return (1); } override public function get buyCost():int{ return (140); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 54)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPLASMA_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 101
//ScatterPlasmaII (game.entities.items.modchips.ScatterPlasmaII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPlasmaII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.SUB, 10)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_III]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (1); } override public function get buyCost():int{ return (180); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 54)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPLASMA_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 102
//ScatterPlasmaIII (game.entities.items.modchips.ScatterPlasmaIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPlasmaIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.MUL, 0.5)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.SUB, 20)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (2); } override public function get buyCost():int{ return (200); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 54)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPLASMA_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 103
//ScatterPulseI (game.entities.items.modchips.ScatterPulseI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPulseI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (1); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPULSE_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 104
//ScatterPulseII (game.entities.items.modchips.ScatterPulseII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class ScatterPulseII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(50, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (2); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (180); } override public function get id():String{ return (Config.ITEM_MODCHIP_SCATTERPULSE_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 105
//SSPhotonI (game.entities.items.modchips.SSPhotonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class SSPhotonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(70, 0)); } override public function get pierceCount():int{ return (3); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (1); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (160); } override public function get id():String{ return (Config.ITEM_MODCHIP_SSPHOTON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 106
//SSPhotonII (game.entities.items.modchips.SSPhotonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class SSPhotonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(70, 0)); } override public function get pierceCount():int{ return (5); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (10); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (1); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (200); } override public function get id():String{ return (Config.ITEM_MODCHIP_SSPHOTON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 107
//Strike (game.entities.items.modchips.Strike) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class Strike extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (1); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get rarity():Number{ return (0.8); } override public function get chipTypes():Array{ return ([]); } override public function get levels():Array{ return ([1, 2, 3]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (160); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 90)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKE); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 108
//StrikeNeutronI (game.entities.items.modchips.StrikeNeutronI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikeNeutronI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (1); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKENEUTRON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 109
//StrikeNeutronII (game.entities.items.modchips.StrikeNeutronII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikeNeutronII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (2); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKENEUTRON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 110
//StrikeNeutronIII (game.entities.items.modchips.StrikeNeutronIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikeNeutronIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (4); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_NEUTRON_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 36)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKENEUTRON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 111
//StrikePhotonI (game.entities.items.modchips.StrikePhotonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikePhotonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (1); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.6); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II]); } override public function get levels():Array{ return ([1, 2]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (80); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKEPHOTON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (40); } } }//package game.entities.items.modchips
Section 112
//StrikePhotonII (game.entities.items.modchips.StrikePhotonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikePhotonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (3); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV]); } override public function get levels():Array{ return ([2, 3]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (100); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKEPHOTON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.modchips
Section 113
//StrikePhotonIII (game.entities.items.modchips.StrikePhotonIII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikePhotonIII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (5); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 2)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(36, 18)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (140); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKEPHOTON_III); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.MUL, 0.7)); } override public function get sellCost():int{ return (70); } } }//package game.entities.items.modchips
Section 114
//StrikePlasmaI (game.entities.items.modchips.StrikePlasmaI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikePlasmaI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (2); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 10)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (160); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 54)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKEPLASMA_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (80); } } }//package game.entities.items.modchips
Section 115
//StrikePlasmaII (game.entities.items.modchips.StrikePlasmaII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikePlasmaII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (4); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 20)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PLASMA_V]); } override public function get levels():Array{ return ([5]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (180); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 54)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKEPLASMA_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 116
//StrikeTachyonI (game.entities.items.modchips.StrikeTachyonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikeTachyonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (4); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_TACHYON_III, Config.ITEM_WEAPONCHIP_TACHYON_IV, Config.ITEM_WEAPONCHIP_TACHYON_V]); } override public function get levels():Array{ return ([3, 4, 5]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (180); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 72)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKETACHYON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 117
//StrikeTachyonII (game.entities.items.modchips.StrikeTachyonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class StrikeTachyonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(80, 0)); } override public function get pierceCount():int{ return (6); } override public function get modShootInterval():ModData{ return (new ModData(ModData.SUB, 7)); } override public function get aoeRadius():int{ return (0); } override public function get modDamage():ModData{ return (new ModData(ModData.IS, 0)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_TACHYON_IV, Config.ITEM_WEAPONCHIP_TACHYON_V]); } override public function get levels():Array{ return ([4]); } override public function get scatterCount():int{ return (0); } override public function get buyCost():int{ return (180); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 72)); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override public function get id():String{ return (Config.ITEM_MODCHIP_STRIKETACHYON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 118
//XPulseI (game.entities.items.modchips.XPulseI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class XPulseI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(90, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (128); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 3)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (180); } override public function get id():String{ return (Config.ITEM_MODCHIP_XPULSE_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (90); } } }//package game.entities.items.modchips
Section 119
//XPulseII (game.entities.items.modchips.XPulseII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class XPulseII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(90, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (160); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 5)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_PULSE_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 0)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (200); } override public function get id():String{ return (Config.ITEM_MODCHIP_XPULSE_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 120
//XTachyonI (game.entities.items.modchips.XTachyonI) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class XTachyonI extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(90, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (128); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 1.5)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_TACHYON_III, Config.ITEM_WEAPONCHIP_TACHYON_IV]); } override public function get levels():Array{ return ([3, 4]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(0, 72)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (200); } override public function get id():String{ return (Config.ITEM_MODCHIP_XTACHYON_I); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 121
//XTachyonII (game.entities.items.modchips.XTachyonII) package game.entities.items.modchips { import flash.geom.*; import game.*; import game.entities.items.*; public class XTachyonII extends ModChip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get critRate():Number{ return (0); } override public function get modProjectileDistance():ModData{ return (new ModData(ModData.IS, 0)); } override protected function get chipPoint():Point{ return (new Point(90, 0)); } override public function get pierceCount():int{ return (0); } override public function get modShootInterval():ModData{ return (new ModData(ModData.IS, 0)); } override public function get aoeRadius():int{ return (160); } override public function get modDamage():ModData{ return (new ModData(ModData.MUL, 2)); } override public function get rarity():Number{ return (0.2); } override public function get chipTypes():Array{ return ([Config.ITEM_WEAPONCHIP_TACHYON_V]); } override public function get levels():Array{ return ([4, 5]); } override public function get scatterCount():int{ return (0); } override public function get pickupAsset():String{ return (null); } override protected function get typePoint():Point{ return (new Point(18, 72)); } override public function get seek():Boolean{ return (false); } override public function get buyCost():int{ return (200); } override public function get id():String{ return (Config.ITEM_MODCHIP_XTACHYON_II); } override public function get modProjectileSpeed():ModData{ return (new ModData(ModData.IS, 0)); } override public function get modEnergyConsumption():ModData{ return (new ModData(ModData.IS, 0)); } override public function get sellCost():int{ return (100); } } }//package game.entities.items.modchips
Section 122
//GrapplerI (game.entities.items.traps.GrapplerI) package game.entities.items.traps { import game.*; import game.entities.items.*; public class GrapplerI extends Trap { override public function get radius():int{ return (100); } override public function get buyCost():int{ return (250); } override public function get maxCapture():int{ return (4); } override public function get activeTime():int{ return (200); } override public function get id():String{ return (Config.ITEM_SECONDARYEQUIP_TRAP_GRAPPLER_I); } override public function get sellCost():int{ return (125); } } }//package game.entities.items.traps
Section 123
//NeutronI (game.entities.items.weaponchips.NeutronI) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class NeutronI extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((3000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((0 * 40), (2 * 40))); } override public function get maxShootInterval():int{ return (10); } override public function get maxProjectileDistance():int{ return (160); } override public function get rarity():Number{ return (0.6); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (1); } override public function get minProjectileDistance():int{ return (140); } override public function get minShootInterval():int{ return (5); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([2]); } override public function get energyConsumption():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_NEUTRON_I); } override public function get sellCost():int{ return ((1500 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 124
//NeutronII (game.entities.items.weaponchips.NeutronII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class NeutronII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((4800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((1 * 40), (2 * 40))); } override public function get maxShootInterval():int{ return (8); } override public function get maxProjectileDistance():int{ return (160); } override public function get rarity():Number{ return (0.6); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (2); } override public function get minProjectileDistance():int{ return (140); } override public function get minShootInterval():int{ return (3); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([2, 3]); } override public function get energyConsumption():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_NEUTRON_II); } override public function get sellCost():int{ return ((2400 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 125
//NeutronIII (game.entities.items.weaponchips.NeutronIII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class NeutronIII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((6600 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((2 * 40), (2 * 40))); } override public function get maxShootInterval():int{ return (8); } override public function get maxProjectileDistance():int{ return (180); } override public function get rarity():Number{ return (0.6); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (3); } override public function get minProjectileDistance():int{ return (160); } override public function get minShootInterval():int{ return (3); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (2); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_NEUTRON_III); } override public function get sellCost():int{ return ((3300 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 126
//NeutronIV (game.entities.items.weaponchips.NeutronIV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class NeutronIV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((8800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((3 * 40), (2 * 40))); } override public function get maxShootInterval():int{ return (7); } override public function get maxProjectileDistance():int{ return (180); } override public function get rarity():Number{ return (0.6); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (3); } override public function get minProjectileDistance():int{ return (160); } override public function get minShootInterval():int{ return (2); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3, 4]); } override public function get energyConsumption():int{ return (2); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_NEUTRON_IV); } override public function get sellCost():int{ return ((4400 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 127
//NeutronV (game.entities.items.weaponchips.NeutronV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class NeutronV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((10800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((4 * 40), (2 * 40))); } override public function get maxShootInterval():int{ return (6); } override public function get maxProjectileDistance():int{ return (180); } override public function get rarity():Number{ return (0.6); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (4); } override public function get minProjectileDistance():int{ return (160); } override public function get minShootInterval():int{ return (1); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4, 5]); } override public function get energyConsumption():int{ return (3); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_NEUTRON_V); } override public function get sellCost():int{ return ((5400 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 128
//PhotonI (game.entities.items.weaponchips.PhotonI) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PhotonI extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((2600 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((0 * 40), (1 * 40))); } override public function get maxShootInterval():int{ return (20); } override public function get maxProjectileDistance():int{ return (420); } override public function get rarity():Number{ return (0.5); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (10); } override public function get minProjectileDistance():int{ return (400); } override public function get minShootInterval():int{ return (15); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([1, 2]); } override public function get energyConsumption():int{ return (10); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PHOTON_I); } override public function get sellCost():int{ return ((1300 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 129
//PhotonII (game.entities.items.weaponchips.PhotonII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PhotonII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((4400 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((1 * 40), (1 * 40))); } override public function get maxShootInterval():int{ return (20); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.5); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (12); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (15); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([2, 3]); } override public function get energyConsumption():int{ return (18); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PHOTON_II); } override public function get sellCost():int{ return ((2200 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 130
//PhotonIII (game.entities.items.weaponchips.PhotonIII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PhotonIII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((6200 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((2 * 40), (1 * 40))); } override public function get maxShootInterval():int{ return (22); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.5); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (20); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (17); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (26); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PHOTON_III); } override public function get sellCost():int{ return ((3100 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 131
//PhotonIV (game.entities.items.weaponchips.PhotonIV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PhotonIV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((8400 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((3 * 40), (1 * 40))); } override public function get maxShootInterval():int{ return (22); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.5); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (30); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (17); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4]); } override public function get energyConsumption():int{ return (34); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PHOTON_IV); } override public function get sellCost():int{ return ((4200 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 132
//PhotonV (game.entities.items.weaponchips.PhotonV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PhotonV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((10400 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((4 * 40), (1 * 40))); } override public function get maxShootInterval():int{ return (24); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.5); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (40); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (19); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([5]); } override public function get energyConsumption():int{ return (40); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PHOTON_V); } override public function get sellCost():int{ return ((5200 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 133
//PlasmaI (game.entities.items.weaponchips.PlasmaI) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PlasmaI extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((4200 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((0 * 40), (3 * 40))); } override public function get maxShootInterval():int{ return (30); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.4); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (25); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (25); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (5); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PLASMA_I); } override public function get sellCost():int{ return ((2100 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 134
//PlasmaII (game.entities.items.weaponchips.PlasmaII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PlasmaII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((6000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((1 * 40), (3 * 40))); } override public function get maxShootInterval():int{ return (34); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.4); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (30); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (29); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3, 4]); } override public function get energyConsumption():int{ return (7); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PLASMA_II); } override public function get sellCost():int{ return ((3000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 135
//PlasmaIII (game.entities.items.weaponchips.PlasmaIII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PlasmaIII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((8000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((2 * 40), (3 * 40))); } override public function get maxShootInterval():int{ return (36); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.4); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (35); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (21); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4]); } override public function get energyConsumption():int{ return (7); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PLASMA_III); } override public function get sellCost():int{ return ((4000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 136
//PlasmaIV (game.entities.items.weaponchips.PlasmaIV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PlasmaIV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((10000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((3 * 40), (3 * 40))); } override public function get maxShootInterval():int{ return (38); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.4); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (40); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (23); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4, 5]); } override public function get energyConsumption():int{ return (10); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PLASMA_IV); } override public function get sellCost():int{ return ((5000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 137
//PlasmaV (game.entities.items.weaponchips.PlasmaV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PlasmaV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((12000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((4 * 40), (3 * 40))); } override public function get maxShootInterval():int{ return (40); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.4); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (45); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (35); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([5]); } override public function get energyConsumption():int{ return (14); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PLASMA_V); } override public function get sellCost():int{ return ((6000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 138
//PulseI (game.entities.items.weaponchips.PulseI) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PulseI extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((500 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((0 * 40), (0 * 40))); } override public function get maxShootInterval():int{ return (20); } override public function get maxProjectileDistance():int{ return (150); } override public function get rarity():Number{ return (0.8); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (2); } override public function get minProjectileDistance():int{ return (130); } override public function get minShootInterval():int{ return (15); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([1]); } override public function get energyConsumption():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PULSE_I); } override public function get sellCost():int{ return ((250 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 139
//PulseII (game.entities.items.weaponchips.PulseII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PulseII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((1000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((1 * 40), (0 * 40))); } override public function get maxShootInterval():int{ return (20); } override public function get maxProjectileDistance():int{ return (150); } override public function get rarity():Number{ return (0.8); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (3); } override public function get minProjectileDistance():int{ return (130); } override public function get minShootInterval():int{ return (15); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([1, 2]); } override public function get energyConsumption():int{ return (2); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PULSE_II); } override public function get sellCost():int{ return ((500 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 140
//PulseIII (game.entities.items.weaponchips.PulseIII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PulseIII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((1500 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((2 * 40), (0 * 40))); } override public function get maxShootInterval():int{ return (20); } override public function get maxProjectileDistance():int{ return (170); } override public function get rarity():Number{ return (0.8); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (4); } override public function get minProjectileDistance():int{ return (150); } override public function get minShootInterval():int{ return (15); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([2, 3]); } override public function get energyConsumption():int{ return (2); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PULSE_III); } override public function get sellCost():int{ return ((750 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 141
//PulseIV (game.entities.items.weaponchips.PulseIV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PulseIV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((2000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((3 * 40), (0 * 40))); } override public function get maxShootInterval():int{ return (18); } override public function get maxProjectileDistance():int{ return (170); } override public function get rarity():Number{ return (0.8); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (5); } override public function get minProjectileDistance():int{ return (150); } override public function get minShootInterval():int{ return (13); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([2, 3]); } override public function get energyConsumption():int{ return (3); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PULSE_IV); } override public function get sellCost():int{ return ((1000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 142
//PulseV (game.entities.items.weaponchips.PulseV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class PulseV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (15); } override public function get buyCost():int{ return ((2500 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((4 * 40), (0 * 40))); } override public function get maxShootInterval():int{ return (18); } override public function get maxProjectileDistance():int{ return (190); } override public function get rarity():Number{ return (0.8); } override public function get minProjectileSpeed():int{ return (10); } override public function get damage():int{ return (6); } override public function get minProjectileDistance():int{ return (170); } override public function get minShootInterval():int{ return (13); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (3); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_PULSE_V); } override public function get sellCost():int{ return ((1250 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 143
//TachyonI (game.entities.items.weaponchips.TachyonI) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class TachyonI extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((6000 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((0 * 40), (4 * 40))); } override public function get maxShootInterval():int{ return (15); } override public function get maxProjectileDistance():int{ return (220); } override public function get rarity():Number{ return (0.2); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (10); } override public function get minProjectileDistance():int{ return (200); } override public function get minShootInterval():int{ return (10); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (10); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_TACHYON_I); } override public function get sellCost():int{ return ((3000 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 144
//TachyonII (game.entities.items.weaponchips.TachyonII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class TachyonII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((7800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((1 * 40), (4 * 40))); } override public function get maxShootInterval():int{ return (15); } override public function get maxProjectileDistance():int{ return (270); } override public function get rarity():Number{ return (0.2); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (10); } override public function get minProjectileDistance():int{ return (250); } override public function get minShootInterval():int{ return (10); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([3]); } override public function get energyConsumption():int{ return (14); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_TACHYON_II); } override public function get sellCost():int{ return ((3900 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 145
//TachyonIII (game.entities.items.weaponchips.TachyonIII) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class TachyonIII extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((9600 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((2 * 40), (4 * 40))); } override public function get maxShootInterval():int{ return (15); } override public function get maxProjectileDistance():int{ return (320); } override public function get rarity():Number{ return (0.2); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (12); } override public function get minProjectileDistance():int{ return (300); } override public function get minShootInterval():int{ return (10); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4]); } override public function get energyConsumption():int{ return (18); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_TACHYON_III); } override public function get sellCost():int{ return ((4800 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 146
//TachyonIV (game.entities.items.weaponchips.TachyonIV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class TachyonIV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (20); } override public function get buyCost():int{ return ((11800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((3 * 40), (4 * 40))); } override public function get maxShootInterval():int{ return (10); } override public function get maxProjectileDistance():int{ return (320); } override public function get rarity():Number{ return (0.2); } override public function get minProjectileSpeed():int{ return (15); } override public function get damage():int{ return (12); } override public function get minProjectileDistance():int{ return (300); } override public function get minShootInterval():int{ return (5); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([4, 5]); } override public function get energyConsumption():int{ return (20); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_TACHYON_IV); } override public function get sellCost():int{ return ((5900 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 147
//TachyonV (game.entities.items.weaponchips.TachyonV) package game.entities.items.weaponchips { import flash.geom.*; import game.*; import game.entities.items.*; public class TachyonV extends Chip { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 16, 16)); } override public function get maxProjectileSpeed():int{ return (25); } override public function get buyCost():int{ return ((13800 + ((modChip)!=null) ? modChip.buyCost : 0)); } override protected function get chipPoint():Point{ return (new Point((4 * 40), (4 * 40))); } override public function get maxShootInterval():int{ return (10); } override public function get maxProjectileDistance():int{ return (320); } override public function get rarity():Number{ return (0.2); } override public function get minProjectileSpeed():int{ return (20); } override public function get damage():int{ return (15); } override public function get minProjectileDistance():int{ return (300); } override public function get minShootInterval():int{ return (5); } override public function get pickupAsset():String{ return (null); } override public function get levels():Array{ return ([5]); } override public function get energyConsumption():int{ return (20); } override public function get id():String{ return (Config.ITEM_WEAPONCHIP_TACHYON_V); } override public function get sellCost():int{ return ((6900 + ((modChip)!=null) ? modChip.sellCost : 0)); } } }//package game.entities.items.weaponchips
Section 148
//Pack100 (game.entities.items.weaponenergy.Pack100) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack100 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (100); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (2200); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (4); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK100); } override public function get sellCost():int{ return (1100); } } }//package game.entities.items.weaponenergy
Section 149
//Pack1000 (game.entities.items.weaponenergy.Pack1000) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack1000 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (1000); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (24000); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (50); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK1000); } override public function get sellCost():int{ return (12000); } } }//package game.entities.items.weaponenergy
Section 150
//Pack20 (game.entities.items.weaponenergy.Pack20) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack20 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (20); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (100); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK20); } override public function get sellCost():int{ return (50); } } }//package game.entities.items.weaponenergy
Section 151
//Pack250 (game.entities.items.weaponenergy.Pack250) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack250 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (250); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (5000); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (5); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK250); } override public function get sellCost():int{ return (2500); } } }//package game.entities.items.weaponenergy
Section 152
//Pack50 (game.entities.items.weaponenergy.Pack50) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack50 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (50); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (800); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (1); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK50); } override public function get sellCost():int{ return (400); } } }//package game.entities.items.weaponenergy
Section 153
//Pack500 (game.entities.items.weaponenergy.Pack500) package game.entities.items.weaponenergy { import flash.geom.*; import game.*; import game.entities.items.*; public class Pack500 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (500); } override public function get rarity():Number{ return (0); } override public function get buyCost():int{ return (8000); } override public function get pickupAsset():String{ return (null); } override public function get regenAmount():int{ return (25); } override public function get levels():Array{ return ([]); } override public function get regenInterval():int{ return (1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACK500); } override public function get sellCost():int{ return (4000); } } }//package game.entities.items.weaponenergy
Section 154
//Packlet10 (game.entities.items.weaponenergy.Packlet10) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet10 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (10); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.9); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET10); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 155
//Packlet100 (game.entities.items.weaponenergy.Packlet100) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet100 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (100); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.5); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET100); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 156
//Packlet150 (game.entities.items.weaponenergy.Packlet150) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet150 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (150); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.3); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET150); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 157
//Packlet200 (game.entities.items.weaponenergy.Packlet200) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet200 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (200); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.2); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET200); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 158
//Packlet250 (game.entities.items.weaponenergy.Packlet250) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet250 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (250); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.1); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET250); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 159
//Packlet5 (game.entities.items.weaponenergy.Packlet5) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet5 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (5); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (1); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET5); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 160
//Packlet50 (game.entities.items.weaponenergy.Packlet50) package game.entities.items.weaponenergy { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.entities.items.*; public class Packlet50 extends WeaponEnergy { override public function get pickupRect():Rectangle{ return (new Rectangle(0, 0, 32, 32)); } override public function get capacity():int{ return (50); } override public function get regenInterval():int{ return (0); } override public function get rarity():Number{ return (0.7); } override public function get levels():Array{ return ([]); } override public function get desc():String{ return (""); } override public function get buyCost():int{ return (0); } override public function get pickupAsset():String{ return (Config.ASSET_PICKUP); } override public function get regenAmount():int{ return (0); } override public function get icon():DisplayObject{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0xFFFFFF, 0.1); _local1.graphics.drawRect(0, 0, 44, 44); var _local2:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER)); _local2.element.width = 44; _local2.element.height = 44; _local1.addChild(_local2.element); return (_local1); } override public function get id():String{ return (Config.ITEM_WEAPONENERGYPACKLET50); } override public function get sellCost():int{ return (0); } } }//package game.entities.items.weaponenergy
Section 161
//ArmorChip (game.entities.items.ArmorChip) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.*; import flash.errors.*; public class ArmorChip extends Item { public function get modSlowTime():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get desc():String{ var _local1 = ""; _local1 = (_local1 + (Config.TEXT_ITEM_LIGHT_RADIUS + centerLightRadius)); if (modSpeed.desc() != "0"){ _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_MOD_SPEED) + modSpeed.desc())); }; if (modPoisonTime.desc() != "0"){ _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_MOD_POISON) + modPoisonTime.desc())); }; if (modSlowTime.desc() != "0"){ _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_MOD_SLOWED) + modSlowTime.desc())); }; _local1 = (_local1 + (((("\n\n" + Config.TEXT_ITEM_COST) + buyCost) + " / ") + sellCost)); return (_local1); } public function get centerLightRadius():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get modSpeed():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get modPoisonTime():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get torchLightHeight():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_OTHERCHIPS); var _local1:Sprite = new Sprite(); var _local2:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_OTHERCHIPS).bitmapData, new Rectangle(120, 0, 40, 40), new Point(2, 2)); var _local3:Bitmap = new Bitmap(_local2); var _local4:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT4).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(true)); _local4.element.width = 28; _local4.element.height = 10; _local4.element.x = 6; _local4.element.y = 24; _local4.update(id.substring(11)); _local1.addChild(_local3); _local1.addChild(_local4.element); return (_local1); } override public function get type():String{ return (Config.ITEMTYPE_ARMORCHIP); } public function get torchLightWidth():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.entities.items
Section 162
//ArmorEnergy (game.entities.items.ArmorEnergy) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; public class ArmorEnergy extends WeaponEnergy { override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_OTHERCHIPS); var _local1:Sprite = new Sprite(); var _local2:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_OTHERCHIPS).bitmapData, new Rectangle(40, 0, 40, 40), new Point(2, 2)); var _local3:Bitmap = new Bitmap(_local2); var _local4:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT4).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_RIGHT)); _local4.element.width = 28; _local4.element.height = 10; _local4.element.x = 8; _local4.element.y = 24; _local4.update(capacity.toString()); _local1.addChild(_local3); _local1.addChild(_local4.element); return (_local1); } override public function get type():String{ return (Config.ITEMTYPE_ARMORENERGY); } } }//package game.entities.items
Section 163
//Chip (game.entities.items.Chip) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import flash.errors.*; public class Chip extends Item { public var modChip:ModChip; public function get maxShootInterval():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get type():String{ return (Config.ITEMTYPE_WEAPONCHIP); } public function get maxProjectileDistance():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get chipPoint():Point{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get projectileDistance():int{ return (CustomMath.rangedRandom(minProjectileDistance, maxProjectileDistance)); } public function get maxProjectileSpeed():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get shootInterval():int{ return (CustomMath.rangedRandom(minShootInterval, maxShootInterval)); } public function get minProjectileSpeed():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get damage():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get minProjectileDistance():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get desc():String{ var _local1 = ""; var _local2:int = (((!((modChip == null))) && ((modChip.modEnergyConsumption.value(energyConsumption) > 0)))) ? modChip.modEnergyConsumption.value(energyConsumption) : energyConsumption; var _local3:int = (((!((modChip == null))) && ((modChip.modShootInterval.value(minShootInterval) > 0)))) ? modChip.modShootInterval.value(minShootInterval) : minShootInterval; var _local4:int = (((!((modChip == null))) && ((modChip.modShootInterval.value(maxShootInterval) > 0)))) ? modChip.modShootInterval.value(maxShootInterval) : maxShootInterval; var _local5:int = (((!((modChip == null))) && ((modChip.modProjectileSpeed.value(minProjectileSpeed) > 0)))) ? modChip.modProjectileSpeed.value(minProjectileSpeed) : minProjectileSpeed; var _local6:int = (((!((modChip == null))) && ((modChip.modProjectileSpeed.value(maxProjectileSpeed) > 0)))) ? modChip.modProjectileSpeed.value(maxProjectileSpeed) : maxProjectileSpeed; var _local7:int = (((!((modChip == null))) && ((modChip.modProjectileDistance.value(minProjectileDistance) > 0)))) ? modChip.modProjectileDistance.value(minProjectileDistance) : minProjectileDistance; var _local8:int = (((!((modChip == null))) && ((modChip.modProjectileDistance.value(maxProjectileDistance) > 0)))) ? modChip.modProjectileDistance.value(maxProjectileDistance) : maxProjectileDistance; var _local9:int = (((!((modChip == null))) && ((modChip.modDamage.value(damage) > 0)))) ? modChip.modDamage.value(damage) : damage; _local1 = (_local1 + ((modChip)!=null) ? ((Config.TEXT_ITEM_MODDED + modChip.id) + "\n\n") : ""); _local1 = (_local1 + (Config.TEXT_ITEM_ENERGY + _local2)); _local1 = (_local1 + (((("\n" + Config.TEXT_ITEM_INTERVAL) + _local3) + " - ") + _local4)); _local1 = (_local1 + (((("\n" + Config.TEXT_ITEM_SPEED) + _local5) + " - ") + _local6)); _local1 = (_local1 + (((("\n" + Config.TEXT_ITEM_DISTANCE) + _local7) + " - ") + _local8)); _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_DAMAGE) + _local9)); if (((!((modChip == null))) && ((((((((((modChip.pierceCount > 0)) || ((modChip.aoeRadius > 0)))) || ((modChip.scatterCount > 0)))) || ((modChip.critRate > 0)))) || ((modChip.seek > 0)))))){ _local1 = (_local1 + "\n"); }; _local1 = (_local1 + (((!((modChip == null))) && ((modChip.pierceCount > 0)))) ? (("\n" + Config.TEXT_ITEM_MOD_PIERCE) + modChip.pierceCount) : ""); _local1 = (_local1 + (((!((modChip == null))) && ((modChip.aoeRadius > 0)))) ? (("\n" + Config.TEXT_ITEM_MOD_AOE) + modChip.aoeRadius) : ""); _local1 = (_local1 + (((!((modChip == null))) && ((modChip.scatterCount > 0)))) ? (("\n" + Config.TEXT_ITEM_MOD_SCATTER) + modChip.scatterCount) : ""); _local1 = (_local1 + (((!((modChip == null))) && ((modChip.critRate > 0)))) ? (("\n" + Config.TEXT_ITEM_MOD_CRIT) + modChip.critRate) : ""); _local1 = (_local1 + (((!((modChip == null))) && (modChip.seek))) ? (("\n" + Config.TEXT_ITEM_MOD_SEEK) + (modChip.seek) ? "Y" : "N") : ""); _local1 = (_local1 + (((("\n\n" + Config.TEXT_ITEM_COST) + buyCost) + " / ") + sellCost)); return (_local1); } public function get minShootInterval():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get energyConsumption():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_WEAPONCHIPMOD); AssetManager.instance.loadBitmapAsset(Config.ASSET_WEAPONCHIPUNMOD); var _local1:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); var _local2:Rectangle = new Rectangle(0, 0, 40, 40); _local2.offsetPoint(chipPoint); if (modChip){ _local1.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_WEAPONCHIPMOD).bitmapData, _local2, new Point(2, 2)); _local1.draw(modChip.icon); } else { _local1.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_WEAPONCHIPUNMOD).bitmapData, _local2, new Point(2, 2)); }; var _local3:Bitmap = new Bitmap(_local1); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WEAPONCHIPMOD); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WEAPONCHIPUNMOD); return (_local3); } public function get projectileSpeed():int{ return (CustomMath.rangedRandom(minProjectileSpeed, maxProjectileSpeed)); } } }//package game.entities.items
Section 164
//Credit (game.entities.items.Credit) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import game.*; import flash.errors.*; public class Credit extends Item { public function get value():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_OTHERCHIPS); var _local1:Sprite = new Sprite(); var _local2:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_OTHERCHIPS).bitmapData, new Rectangle(80, 0, 40, 40), new Point(2, 2)); var _local3:Bitmap = new Bitmap(_local2); _local1.addChild(_local3); return (_local1); } override public function get type():String{ return (Config.ITEMTYPE_CREDIT); } } }//package game.entities.items
Section 165
//ModChip (game.entities.items.ModChip) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import game.*; import flash.errors.*; public class ModChip extends Item { public var parentChip:Chip;// = null public function get modEnergyConsumption():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get critRate():Number{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get modShootInterval():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get chipPoint():Point{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get pierceCount():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get aoeRadius():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get chipTypes():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get modProjectileDistance():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get desc():String{ var _local1:Chip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); if (((!((_local1 == null))) && ((_local1.modChip == null)))){ parentChip = _local1; }; var _local2 = ""; _local2 = (_local2 + ((Config.TEXT_ITEM_MOD_CHIPLIST + ((chipTypes.length)>0) ? chipTypes : Config.TEXT_ITEM_MOD_ANYCHIP) + "\n")); if (modEnergyConsumption.desc() != "0"){ _local2 = (_local2 + (("\n" + Config.TEXT_ITEM_ENERGY) + modEnergyConsumption.desc())); }; if (modShootInterval.desc() != "0"){ _local2 = (_local2 + (("\n" + Config.TEXT_ITEM_INTERVAL) + modShootInterval.desc())); }; if (modProjectileDistance.desc() != "0"){ _local2 = (_local2 + (("\n" + Config.TEXT_ITEM_DISTANCE) + modProjectileDistance.desc())); }; if (modProjectileSpeed.desc() != "0"){ _local2 = (_local2 + (("\n" + Config.TEXT_ITEM_SPEED) + modProjectileSpeed.desc())); }; if (modDamage.desc() != "0"){ _local2 = (_local2 + (("\n" + Config.TEXT_ITEM_DAMAGE) + modDamage.desc())); }; _local2 = (_local2 + ((pierceCount)>0) ? (("\n" + Config.TEXT_ITEM_MOD_PIERCE) + pierceCount) : ""); _local2 = (_local2 + ((aoeRadius)>0) ? (("\n" + Config.TEXT_ITEM_MOD_AOE) + aoeRadius) : ""); _local2 = (_local2 + ((scatterCount)>0) ? (("\n" + Config.TEXT_ITEM_MOD_SCATTER) + scatterCount) : ""); _local2 = (_local2 + ((critRate)>0) ? (("\n" + Config.TEXT_ITEM_MOD_CRIT) + critRate) : ""); _local2 = (_local2 + (seek) ? (("\n" + Config.TEXT_ITEM_MOD_SEEK) + (seek) ? "Y" : "N") : ""); _local2 = (_local2 + (((("\n\n" + Config.TEXT_ITEM_COST) + buyCost) + " / ") + sellCost)); parentChip = null; return (_local2); } protected function get typePoint():Point{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get scatterCount():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_WEAPONMODCHIP); AssetManager.instance.loadBitmapAsset(Config.ASSET_WEAPONMODTYPE); var _local1:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); var _local2:Rectangle = new Rectangle(0, 0, 18, 18); _local2.offsetPoint(typePoint); var _local3:Rectangle = new Rectangle(0, 0, 10, 10); _local3.offsetPoint(chipPoint); _local1.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_WEAPONMODTYPE).bitmapData, _local2, new Point(13, 13)); _local1.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_WEAPONMODCHIP).bitmapData, _local3, new Point(17, 17), null, null, true); var _local4:Bitmap = new Bitmap(_local1); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WEAPONMODCHIP); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WEAPONMODTYPE); return (_local4); } override public function get type():String{ return (Config.ITEMTYPE_MODCHIP); } public function get modProjectileSpeed():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get modDamage():ModData{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get seek():Boolean{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.entities.items
Section 166
//ModData (game.entities.items.ModData) package game.entities.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); } } }//package game.entities.items
Section 167
//SecondaryEquip (game.entities.items.SecondaryEquip) package game.entities.items { import game.entities.*; import game.*; public class SecondaryEquip extends Item { public var amount:int; override public function get type():String{ return (Config.ITEMTYPE_SECONDARYEQUIP); } } }//package game.entities.items
Section 168
//Trap (game.entities.items.Trap) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.*; import flash.errors.*; public class Trap extends SecondaryEquip { override public function get desc():String{ var _local1 = ""; _local1 = (_local1 + (Config.TEXT_ITEM_TRAP_ACTIVETIME + activeTime)); _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_TRAP_RADIUS) + radius)); _local1 = (_local1 + (("\n" + Config.TEXT_ITEM_TRAP_MAXCAPTURE) + maxCapture)); _local1 = (_local1 + (((("\n\n" + Config.TEXT_ITEM_COST) + buyCost) + " / ") + sellCost)); return (_local1); } public function get radius():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get activeTime():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_TRAP); var _local1:Sprite = new Sprite(); var _local2:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_TRAP).bitmapData, new Rectangle(0, 0, 40, 40), new Point(2, 2)); var _local3:Bitmap = new Bitmap(_local2); _local1.addChild(_local3); return (_local1); } public function get maxCapture():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.entities.items
Section 169
//WeaponEnergy (game.entities.items.WeaponEnergy) package game.entities.items { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.*; import flash.errors.*; public class WeaponEnergy extends Item { override public function get desc():String{ var _local1 = ""; _local1 = (_local1 + (Config.TEXT_ITEM_ENERGY_CAPACITY + capacity)); _local1 = (_local1 + (((("\n" + Config.TEXT_ITEM_ENERGY_REGEN) + regenAmount) + "/") + regenInterval)); _local1 = (_local1 + (((("\n\n" + Config.TEXT_ITEM_COST) + buyCost) + " / ") + sellCost)); return (_local1); } public function get capacity():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get regenInterval():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get regenAmount():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function get icon():DisplayObject{ AssetManager.instance.loadBitmapAsset(Config.ASSET_OTHERCHIPS); var _local1:Sprite = new Sprite(); var _local2:BitmapData = new BitmapData(44, 44, true, 0xFFFFFF); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_OTHERCHIPS).bitmapData, new Rectangle(0, 0, 40, 40), new Point(2, 2)); var _local3:Bitmap = new Bitmap(_local2); var _local4:Label = new Label(id, new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT4).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT)); _local4.element.width = 28; _local4.element.height = 28; _local4.element.x = 6; _local4.element.y = 4; _local4.update(capacity.toString()); _local1.addChild(_local3); _local1.addChild(_local4.element); return (_local1); } override public function get type():String{ return (Config.ITEMTYPE_WEAPONENERGY); } } }//package game.entities.items
Section 170
//BloodParticle01 (game.entities.particles.BloodParticle01) package game.entities.particles { import flash.geom.*; import game.entities.*; import game.managers.*; import engine.blit.entities.*; import game.*; public class BloodParticle01 extends Particle { public function BloodParticle01(_arg1:Point, _arg2:Function, _arg3:int){ super(_arg1, _arg2); init((_arg3 - 30), (_arg3 + 30), 5, 15, 3, 5); } override protected function build():void{ assetName = Config.ASSET_BLOODPARTICLE01; hit.width = 2; hit.height = 2; hit.x = -1; hit.y = -1; face = new RectTiles(new Rectangle(0, 0, 2, 2), 2, 2); facePos = new Point(-1, -1); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function preRemove():void{ LevelManager.instance.modifyFloor(renderHelper); } } }//package game.entities.particles
Section 171
//BloodParticle03 (game.entities.particles.BloodParticle03) package game.entities.particles { import flash.geom.*; import game.entities.*; import game.managers.*; import engine.blit.entities.*; import game.*; import tofu.util.*; public class BloodParticle03 extends Particle { public function BloodParticle03(_arg1:Point, _arg2:Function, _arg3:int){ super(_arg1, _arg2); init((_arg3 - 30), (_arg3 + 30), 4, 8, 2, 4); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 2; hit.height = 2; hit.x = -1; hit.y = -1; face = new RectTiles(new Rectangle(0, 0, 2, 2), 2, 2); facePos = new Point(-1, -1); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function preRemove():void{ var _local1:int = CustomMath.rangedRandom(0, 5); var _local2:int = CustomMath.rangedRandom(0, 2); var _local3:RectTiles = new RectTiles(new Rectangle((_local1 * 32), (_local2 * 32), 32, 32), 32, 32); var _local4:Point = new Point(-16, -16); var _local5:RectTilesRenderer = new RectTilesRenderer(Config.ASSET_BLOODPARTICLE03, _local3, _local4, position); LevelManager.instance.modifyFloor(_local5); } } }//package game.entities.particles
Section 172
//BloodParticle04 (game.entities.particles.BloodParticle04) package game.entities.particles { import flash.geom.*; import game.entities.*; import game.managers.*; import engine.blit.entities.*; import game.*; import tofu.util.*; public class BloodParticle04 extends Particle { public function BloodParticle04(_arg1:Point, _arg2:Function, _arg3:int){ super(_arg1, _arg2); init((_arg3 - 30), (_arg3 + 30), 4, 8, 2, 4); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 2; hit.height = 2; hit.x = -1; hit.y = -1; face = new RectTiles(new Rectangle(0, 0, 2, 2), 2, 2); facePos = new Point(-1, -1); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override protected function preRemove():void{ var _local1:int = CustomMath.rangedRandom(0, 5); var _local2:int = CustomMath.rangedRandom(0, 2); var _local3:RectTiles = new RectTiles(new Rectangle((_local1 * 16), (_local2 * 16), 16, 16), 16, 16); var _local4:Point = new Point(-8, -8); var _local5:RectTilesRenderer = new RectTilesRenderer(Config.ASSET_BLOODPARTICLE04, _local3, _local4, position); LevelManager.instance.modifyFloor(_local5); } } }//package game.entities.particles
Section 173
//ExplosionParticle01 (game.entities.particles.ExplosionParticle01) package game.entities.particles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class ExplosionParticle01 extends Particle { public function ExplosionParticle01(_arg1:Point, _arg2:Function){ super(_arg1, _arg2); init(0, 0, 0, 0, 0, 0); } override public function update():void{ if (!face.hasNextFrame()){ remove(); } else { face.nextFrame(); }; } override protected function build():void{ assetName = Config.ASSET_EXPLOSION_A; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 640, 0x0200), 128, 128); face.delay = 0; facePos = new Point(-64, -64); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.particles
Section 174
//BloodEmitter01 (game.entities.pemitters.BloodEmitter01) package game.entities.pemitters { import flash.geom.*; import game.entities.*; import game.entities.particles.*; public class BloodEmitter01 extends ParticleEmitter { private var angle:int; public function BloodEmitter01(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Point=null){ super(_arg1, _arg2, _arg3, _arg5); this.angle = _arg4; } override protected function spawnParticle():Particle{ var _local1:Particle; var _local2:Number = Math.random(); if (_local2 >= 0.3){ _local1 = new BloodParticle01(position, decreaseCount, angle); } else { if (_local2 < 0.1){ _local1 = new BloodParticle03(position, decreaseCount, angle); } else { if ((((_local2 >= 0.1)) && ((_local2 < 0.3)))){ _local1 = new BloodParticle04(position, decreaseCount, angle); }; }; }; return (_local1); } } }//package game.entities.pemitters
Section 175
//ExplosionEmitter01 (game.entities.pemitters.ExplosionEmitter01) package game.entities.pemitters { import flash.geom.*; import game.entities.*; import game.entities.particles.*; public class ExplosionEmitter01 extends ParticleEmitter { public function ExplosionEmitter01(_arg1:Point){ super(1, 1, 1, _arg1); } override protected function spawnParticle():Particle{ return (new ExplosionParticle01(position, decreaseCount)); } } }//package game.entities.pemitters
Section 176
//CPickup (game.entities.pickups.CPickup) package game.entities.pickups { import flash.geom.*; import game.entities.*; public class CPickup extends Pickup { public function CPickup(_arg1:Point, _arg2:Item, _arg3:int){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (""); } } }//package game.entities.pickups
Section 177
//XPickup (game.entities.pickups.XPickup) package game.entities.pickups { import flash.geom.*; import game.entities.*; import game.*; public class XPickup extends Pickup { public function XPickup(_arg1:Point, _arg2:Item, _arg3:int){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (Config.PLAYOBJ_XPICKUP); } } }//package game.entities.pickups
Section 178
//AvatarProjectile (game.entities.projectiles.AvatarProjectile) package game.entities.projectiles { import flash.geom.*; import engine.managers.*; import game.entities.*; import game.managers.*; import engine.blit.entities.*; import game.*; import game.entities.items.*; import tofu.util.*; public class AvatarProjectile extends Projectile { protected var lastPiercedEnemy:Enemy; protected var chip:Chip; protected var pierce:int; protected var seekedEnemy:Enemy; protected var seekLength:int; public function AvatarProjectile(_arg1:Point, _arg2:Point){ chip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); pierce = 0; super(_arg1, _arg2); face.goToFrame(Math.round(angle)); } override protected function get _speed():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.modProjectileSpeed.value(chip.projectileSpeed) > 0)))) ? chip.modChip.modProjectileSpeed.value(chip.projectileSpeed) : chip.projectileSpeed); } override public function update():void{ if (!updateSeek()){ super.update(); }; } override public function get destination():Point{ return (CursorManager.instance.target.clone()); } override public function get slows():Boolean{ return (false); } protected function get maxPierce():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.pierceCount > 0)))) ? chip.modChip.pierceCount : 0); } override public function get energy():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.modEnergyConsumption.value(chip.energyConsumption) > 0)))) ? chip.modChip.modEnergyConsumption.value(chip.energyConsumption) : chip.energyConsumption); } override public function get critRate():Number{ return ((((!((chip.modChip == null))) && ((chip.modChip.critRate > 0)))) ? chip.modChip.critRate : -1); } public function addPierce(_arg1:Enemy):void{ if ((((lastPiercedEnemy == null)) || (!((lastPiercedEnemy == _arg1))))){ pierce++; lastPiercedEnemy = _arg1; }; } private function updateSeek():Boolean{ var _local1:Enemy; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; if (((!((chip.modChip == null))) && (chip.modChip.seek))){ _local1 = PlayObjectManager.instance.getRandomEnemy(); if ((((seekedEnemy == null)) && (!((_local1 == null))))){ seekedEnemy = _local1; } else { if (seekedEnemy != null){ _local2 = CustomMath.deg2rad(15); _local3 = Math.atan2((seekedEnemy.position.y - position.y), (seekedEnemy.position.x - position.x)); _local4 = CustomMath.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 { if (_local5 <= Math.PI){ _local4 = (_local4 + _local2); } else { _local4 = (_local4 - _local2); }; }; vector.x = Math.cos(_local4); vector.y = Math.sin(_local4); position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); face.goToFrame(Math.round(angle)); seekLength = (seekLength + speed); if (seekLength >= distance){ remove(); }; }; }; }; return (false); } override public function get aoeRadius():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.aoeRadius > 0)))) ? chip.modChip.aoeRadius : -1); } override public function get poisons():Boolean{ return (false); } override protected function build():void{ var _local1:Chip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); if (_local1.id.indexOf("NEUTRON") > -1){ assetName = Config.ASSET_PROJECTILE_NEUTRON; SoundManager.instance.playSFX(Config.ASSET_SFXNEUTRON); } else { if (_local1.id.indexOf("PHOTON") > -1){ assetName = Config.ASSET_PROJECTILE_PHOTON; SoundManager.instance.playSFX(Config.ASSET_SFXPHOTON); } else { if (_local1.id.indexOf("PLASMA") > -1){ assetName = Config.ASSET_PROJECTILE_PLASMA; SoundManager.instance.playSFX(Config.ASSET_SFXPLASMA); } else { if (_local1.id.indexOf("TACHYON") > -1){ assetName = Config.ASSET_PROJECTILE_TACHYON; SoundManager.instance.playSFX(Config.ASSET_SFXTACHYON); } else { assetName = Config.ASSET_PROJECTILE_PULSE; SoundManager.instance.playSFX(Config.ASSET_SFXPULSE); }; }; }; }; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 1440, 0x0100), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function get damage():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.modDamage.value(chip.damage) > 0)))) ? chip.modChip.modDamage.value(chip.damage) : chip.damage); } public function get allowPierce():Boolean{ return ((pierce < maxPierce)); } override public function get distance():int{ return ((((!((chip.modChip == null))) && ((chip.modChip.modProjectileDistance.value(chip.projectileDistance) > 0)))) ? chip.modChip.modProjectileDistance.value(chip.projectileDistance) : chip.projectileDistance); } override public function get seek():Boolean{ return (((chip.modChip)!=null) ? chip.modChip.seek : false); } } }//package game.entities.projectiles
Section 179
//EnemyBulky01Projectile (game.entities.projectiles.EnemyBulky01Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyBulky01Projectile extends Projectile { public function EnemyBulky01Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (30); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 180
//EnemyBulky02Projectile (game.entities.projectiles.EnemyBulky02Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyBulky02Projectile extends Projectile { public function EnemyBulky02Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (36); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 181
//EnemyBulky03Projectile (game.entities.projectiles.EnemyBulky03Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyBulky03Projectile extends Projectile { public function EnemyBulky03Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (260); } override public function get damage():int{ return (40); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 182
//EnemyBulky04Projectile (game.entities.projectiles.EnemyBulky04Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyBulky04Projectile extends Projectile { public function EnemyBulky04Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (300); } override public function get damage():int{ return (44); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 183
//EnemyBulky05Projectile (game.entities.projectiles.EnemyBulky05Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyBulky05Projectile extends Projectile { public function EnemyBulky05Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (300); } override public function get damage():int{ return (50); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 184
//EnemyFat01Projectile (game.entities.projectiles.EnemyFat01Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyFat01Projectile extends Projectile { public function EnemyFat01Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (140); } override public function get damage():int{ return (26); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_POISON; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 185
//EnemyFat02Projectile (game.entities.projectiles.EnemyFat02Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyFat02Projectile extends Projectile { public function EnemyFat02Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (140); } override public function get damage():int{ return (28); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_POISON; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 186
//EnemyFat03Projectile (game.entities.projectiles.EnemyFat03Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyFat03Projectile extends Projectile { public function EnemyFat03Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (230); } override public function get damage():int{ return (30); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_POISON; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 187
//EnemyFat04Projectile (game.entities.projectiles.EnemyFat04Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyFat04Projectile extends Projectile { public function EnemyFat04Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (120); } override public function get damage():int{ return (32); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_POISON; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 188
//EnemyFat05Projectile (game.entities.projectiles.EnemyFat05Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyFat05Projectile extends Projectile { public function EnemyFat05Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (true); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (15); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (100); } override public function get damage():int{ return (34); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_POISON; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 189
//EnemyLimp01Projectile (game.entities.projectiles.EnemyLimp01Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyLimp01Projectile extends Projectile { public function EnemyLimp01Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (60); } override public function get damage():int{ return (5); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 16, 16), 16, 16); facePos = new Point(-8, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 190
//EnemyLimp02Projectile (game.entities.projectiles.EnemyLimp02Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyLimp02Projectile extends Projectile { public function EnemyLimp02Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (60); } override public function get damage():int{ return (10); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 16, 16), 16, 16); facePos = new Point(-8, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 191
//EnemyLimp03Projectile (game.entities.projectiles.EnemyLimp03Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyLimp03Projectile extends Projectile { public function EnemyLimp03Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (5); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (160); } override public function get damage():int{ return (15); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 192
//EnemyLimp04Projectile (game.entities.projectiles.EnemyLimp04Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyLimp04Projectile extends Projectile { public function EnemyLimp04Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (5); } override public function get slows():Boolean{ return (true); } override public function get distance():int{ return (220); } override public function get damage():int{ return (15); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_SLOWS; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 193
//EnemyLimp05Projectile (game.entities.projectiles.EnemyLimp05Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyLimp05Projectile extends Projectile { public function EnemyLimp05Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (7); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (200); } override public function get damage():int{ return (20); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 194
//EnemyMedium01Projectile (game.entities.projectiles.EnemyMedium01Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyMedium01Projectile extends Projectile { public function EnemyMedium01Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (22); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 195
//EnemyMedium02Projectile (game.entities.projectiles.EnemyMedium02Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyMedium02Projectile extends Projectile { public function EnemyMedium02Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (11); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (22); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 196
//EnemyMedium03Projectile (game.entities.projectiles.EnemyMedium03Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyMedium03Projectile extends Projectile { public function EnemyMedium03Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (12); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (28); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 197
//EnemyMedium04Projectile (game.entities.projectiles.EnemyMedium04Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyMedium04Projectile extends Projectile { public function EnemyMedium04Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (12); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (34); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 198
//EnemyMedium05Projectile (game.entities.projectiles.EnemyMedium05Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemyMedium05Projectile extends Projectile { public function EnemyMedium05Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (12); } override public function get slows():Boolean{ return (true); } override public function get distance():int{ return (220); } override public function get damage():int{ return (38); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_SLOWS; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 199
//EnemySkinny01Projectile (game.entities.projectiles.EnemySkinny01Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemySkinny01Projectile extends Projectile { public function EnemySkinny01Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (60); } override public function get damage():int{ return (22); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 16, 16), 16, 16); facePos = new Point(-8, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 200
//EnemySkinny02Projectile (game.entities.projectiles.EnemySkinny02Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemySkinny02Projectile extends Projectile { public function EnemySkinny02Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (60); } override public function get damage():int{ return (24); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 16, 16), 16, 16); facePos = new Point(-8, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 201
//EnemySkinny03Projectile (game.entities.projectiles.EnemySkinny03Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemySkinny03Projectile extends Projectile { public function EnemySkinny03Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (10); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (60); } override public function get damage():int{ return (26); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_MELEE; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 16, 16), 16, 16); facePos = new Point(-8, -8); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 202
//EnemySkinny04Projectile (game.entities.projectiles.EnemySkinny04Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemySkinny04Projectile extends Projectile { public function EnemySkinny04Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (8); } override public function get slows():Boolean{ return (false); } override public function get distance():int{ return (220); } override public function get damage():int{ return (20); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_BASIC; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 203
//EnemySkinny05Projectile (game.entities.projectiles.EnemySkinny05Projectile) package game.entities.projectiles { import flash.geom.*; import game.entities.*; import engine.blit.entities.*; import game.*; public class EnemySkinny05Projectile extends Projectile { public function EnemySkinny05Projectile(_arg1:Point, _arg2:Point){ super(_arg1, _arg2); } override public function get energy():int{ return (0); } override public function get aoeRadius():int{ return (0); } override public function get poisons():Boolean{ return (false); } override public function toString():String{ return (Config.PLAYOBJ_ENEMY_PROJECTILE); } override public function get destination():Point{ return (new Point()); } override protected function get _speed():int{ return (8); } override public function get slows():Boolean{ return (true); } override public function get distance():int{ return (180); } override public function get damage():int{ return (20); } override public function get seek():Boolean{ return (false); } override public function get critRate():Number{ return (0); } override protected function build():void{ assetName = Config.ASSET_PROJECTILE_SLOWS; hit.width = 8; hit.height = 8; hit.x = -4; hit.y = -4; face = new RectTiles(new Rectangle(0, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities.projectiles
Section 204
//AvatarWeapon (game.entities.weapons.AvatarWeapon) package game.entities.weapons { import flash.geom.*; import game.entities.*; import game.managers.*; import game.*; import game.entities.items.*; import game.entities.projectiles.*; public class AvatarWeapon extends Weapon { private var currentEnergy:int; private var energyPack:WeaponEnergy; private var regenTime:int; private var weaponChip:Chip; private var startRegen:Boolean; public function AvatarWeapon():void{ energyPack = (ItemList.instance.getItem(Profile.instance.weaponEnergy) as WeaponEnergy); weaponChip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); currentEnergy = energyPack.capacity; regenTime = 0; startRegen = false; } override protected function get shootInterval():int{ if (weaponChip != null){ return ((((!((weaponChip.modChip == null))) && ((weaponChip.modChip.modShootInterval.value(weaponChip.shootInterval) > 0)))) ? weaponChip.modChip.modShootInterval.value(weaponChip.shootInterval) : weaponChip.shootInterval); }; return (Main.stage.frameRate); } public function addEnergy(_arg1:int):void{ currentEnergy = (currentEnergy + _arg1); if (currentEnergy > energyPack.capacity){ currentEnergy = energyPack.capacity; }; } override protected function addMuzzle(_arg1:Point, _arg2:Number):void{ var _local3:Muzzle = new Muzzle(); _local3.position.x = _arg1.x; _local3.position.y = _arg1.y; _local3.angle = _arg2; _local3.time = 2; PlayObjectManager.instance.addObject(_local3); } override public function update():void{ super.update(); var _local1:int = (((!((weaponChip.modChip == null))) && ((weaponChip.modChip.modEnergyConsumption.value(weaponChip.energyConsumption) > 0)))) ? weaponChip.modChip.modEnergyConsumption.value(weaponChip.energyConsumption) : weaponChip.energyConsumption; if ((((currentEnergy < _local1)) || (startRegen))){ if (regenTime > 0){ regenTime--; } else { regenTime = energyPack.regenInterval; currentEnergy = (currentEnergy + energyPack.regenAmount); if (currentEnergy > energyPack.capacity){ currentEnergy = energyPack.capacity; startRegen = false; } else { startRegen = true; }; }; }; } public function percentage():Number{ return ((currentEnergy / energyPack.capacity)); } override protected function arm():Projectile{ var _local2:AvatarProjectile; Profile.instance.lastLevelShots++; var _local1:int = (((!((weaponChip.modChip == null))) && ((weaponChip.modChip.modEnergyConsumption.value(weaponChip.energyConsumption) > 0)))) ? weaponChip.modChip.modEnergyConsumption.value(weaponChip.energyConsumption) : weaponChip.energyConsumption; if ((((currentEnergy >= _local1)) && (!(startRegen)))){ _local2 = new AvatarProjectile(pposition, pvector); currentEnergy = (currentEnergy - _local2.energy); currentEnergy = ((currentEnergy)<0) ? 0 : currentEnergy; return (_local2); }; return (null); } override protected function get scatter():int{ if (((((!((weaponChip == null))) && (!((weaponChip.modChip == null))))) && ((weaponChip.modChip.scatterCount > 0)))){ return (weaponChip.modChip.scatterCount); }; return (0); } } }//package game.entities.weapons
Section 205
//EnemyBulky01Weapon (game.entities.weapons.EnemyBulky01Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyBulky01Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyBulky01Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 206
//EnemyBulky02Weapon (game.entities.weapons.EnemyBulky02Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyBulky02Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyBulky02Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 207
//EnemyBulky03Weapon (game.entities.weapons.EnemyBulky03Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyBulky03Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyBulky03Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 208
//EnemyBulky04Weapon (game.entities.weapons.EnemyBulky04Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyBulky04Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyBulky04Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 209
//EnemyBulky05Weapon (game.entities.weapons.EnemyBulky05Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyBulky05Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyBulky05Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (30); } } }//package game.entities.weapons
Section 210
//EnemyFat01Weapon (game.entities.weapons.EnemyFat01Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyFat01Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyFat01Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 211
//EnemyFat02Weapon (game.entities.weapons.EnemyFat02Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyFat02Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyFat02Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 212
//EnemyFat03Weapon (game.entities.weapons.EnemyFat03Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyFat03Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyFat03Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 213
//EnemyFat04Weapon (game.entities.weapons.EnemyFat04Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyFat04Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyFat04Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (20); } } }//package game.entities.weapons
Section 214
//EnemyFat05Weapon (game.entities.weapons.EnemyFat05Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyFat05Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyFat05Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (20); } } }//package game.entities.weapons
Section 215
//EnemyLimp01Weapon (game.entities.weapons.EnemyLimp01Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyLimp01Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyLimp01Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (30); } } }//package game.entities.weapons
Section 216
//EnemyLimp02Weapon (game.entities.weapons.EnemyLimp02Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyLimp02Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyLimp02Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (30); } } }//package game.entities.weapons
Section 217
//EnemyLimp03Weapon (game.entities.weapons.EnemyLimp03Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyLimp03Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyLimp03Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 218
//EnemyLimp04Weapon (game.entities.weapons.EnemyLimp04Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyLimp04Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyLimp04Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 219
//EnemyLimp05Weapon (game.entities.weapons.EnemyLimp05Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyLimp05Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; var _local2:int = CustomMath.rangedRandom(0, 2); SoundManager.instance.playSFX(_local1[_local2]); return (new EnemyLimp05Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 220
//EnemyMedium01Weapon (game.entities.weapons.EnemyMedium01Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyMedium01Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyMedium01Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 221
//EnemyMedium02Weapon (game.entities.weapons.EnemyMedium02Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyMedium02Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyMedium02Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 222
//EnemyMedium03Weapon (game.entities.weapons.EnemyMedium03Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyMedium03Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyMedium03Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 223
//EnemyMedium04Weapon (game.entities.weapons.EnemyMedium04Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyMedium04Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyMedium04Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 224
//EnemyMedium05Weapon (game.entities.weapons.EnemyMedium05Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemyMedium05Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemyMedium05Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (120); } } }//package game.entities.weapons
Section 225
//EnemySkinny01Weapon (game.entities.weapons.EnemySkinny01Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemySkinny01Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemySkinny01Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (40); } } }//package game.entities.weapons
Section 226
//EnemySkinny02Weapon (game.entities.weapons.EnemySkinny02Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemySkinny02Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemySkinny02Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (40); } } }//package game.entities.weapons
Section 227
//EnemySkinny03Weapon (game.entities.weapons.EnemySkinny03Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemySkinny03Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemySkinny03Projectile(pposition, pvector)); } override protected function get scatter():int{ return (0); } override protected function get shootInterval():int{ return (30); } } }//package game.entities.weapons
Section 228
//EnemySkinny04Weapon (game.entities.weapons.EnemySkinny04Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemySkinny04Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemySkinny04Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 229
//EnemySkinny05Weapon (game.entities.weapons.EnemySkinny05Weapon) package game.entities.weapons { import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; import game.entities.projectiles.*; public class EnemySkinny05Weapon extends Weapon { override protected function arm():Projectile{ var _local1:Array = [Config.ASSET_SFXZATTACK01, Config.ASSET_SFXZATTACK02, Config.ASSET_SFXZATTACK03]; SoundManager.instance.playSFX(_local1[CustomMath.rangedRandom(0, (_local1.length - 1))]); return (new EnemySkinny05Projectile(pposition, pvector)); } override protected function get scatter():int{ return (1); } override protected function get shootInterval():int{ return (60); } } }//package game.entities.weapons
Section 230
//AwardList (game.entities.AwardList) package game.entities { import flash.errors.*; public class AwardList { private var list:Array; public static const COMPARE_LOWER:String = "compare lower"; public static const COMPARE_HIGHER:String = "compare higher"; public static const COMPARE_EQUAL:String = "compare equal"; private static var allow:Boolean = false; private static var _instance:AwardList; public function AwardList(){ list = []; super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function add(_arg1:Object):void{ list.push(_arg1); } public function isValid(_arg1:String, _arg2:int, _arg3:String):Boolean{ var _local4:Object = getAward(_arg1); switch (_arg3){ case _slot1.COMPARE_HIGHER: if (((!((_local4 == null))) && ((_arg2 > _local4.value)))){ return (true); }; break; case _slot1.COMPARE_LOWER: if (((!((_local4 == null))) && ((_arg2 < _local4.value)))){ return (true); }; break; case _slot1.COMPARE_EQUAL: if (((!((_local4 == null))) && ((_arg2 == _local4.value)))){ return (true); }; break; }; return (false); } public function getAwardByIndex(_arg1:int):Object{ return (list[_arg1]); } public function get length():int{ return (list.length); } public function getAward(_arg1:String):Object{ var _local3:Object; var _local2:int; while (_local2 < list.length) { _local3 = list[_local2]; if (_local3.id == _arg1){ return (_local3); }; _local2++; }; return (null); } public function setupProfileAwards():Array{ var _local1:Array = []; var _local2:int; while (_local2 < list.length) { _local1.push(false); _local2++; }; return (_local1); } public function getAwardIndex(_arg1:String):int{ var _local2:Object = getAward(_arg1); return (list.indexOf(_local2)); } public static function get instance():AwardList{ if (!_instance){ allow = true; _instance = new (AwardList); allow = false; }; return (_instance); } } }//package game.entities
Section 231
//Avatar (game.entities.Avatar) package game.entities { import flash.geom.*; import engine.managers.*; import game.managers.*; import engine.blit.entities.*; import game.*; import game.entities.items.*; import game.screens.*; import tofu.util.*; import game.entities.weapons.*; public class Avatar extends PlayObject { private var poisonCurTime:int; private var rangeOfSight:int; private var invincibleTime:int; private var isControlledV:Boolean; private var weapon:AvatarWeapon; private var armorEnergy:ArmorEnergy; private var isSlowed:Boolean; private var slowedCurTime:int; private var healthRegenTime:int; private var slowedTime:int; private var angle:Number; private var slowedfriction:Number; private var health:int; private var maxHealth:int; private var isInvincible:Boolean; private var poisonInterval:int; private var isControlledH:Boolean; private var isPoisoned:Boolean; private var poisonTime:int; private var invincibleBlink:int; private var startHealthRegen:Boolean; public function Avatar(_arg1:Point){ super(_arg1); armorEnergy = (ItemList.instance.getItem(Profile.instance.armorEnergy) as ArmorEnergy); speed = Config.AVATAR_SPEED; health = armorEnergy.capacity; maxHealth = armorEnergy.capacity; healthRegenTime = 0; startHealthRegen = false; slowedfriction = Config.AVATAR_FRICTION; slowedTime = 1; slowedCurTime = 0; poisonTime = 1; poisonCurTime = 0; poisonInterval = 0; isControlledH = true; isControlledV = true; isInvincible = false; isPoisoned = false; isSlowed = false; invincibleTime = 0; invincibleBlink = 0; weapon = new AvatarWeapon(); } private function checkHealth():void{ if (health <= 0){ health = 0; PlayObjectManager.instance.endGame(); ScreenManager.instance.showScreen(Config.SCREEN_KILLED); }; } public function get ammoPercentage():Number{ return (weapon.percentage()); } public function applySlow():void{ isSlowed = true; var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); slowedTime = ((_local1.modSlowTime.desc())=="0") ? Config.AVATAR_SLOW_TIME : _local1.modSlowTime.value(Config.AVATAR_SLOW_TIME); assetName = Config.ASSET_AVATARSLOWED; renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } private function updateAngle():void{ var _local1:Number = CustomMath.correctRadians(Math.atan2((CursorManager.instance.target.y - position.y), (CursorManager.instance.target.x - position.x))); angle = Math.round(CustomMath.rad2deg(_local1)); face.goToFrame((angle * 0.1)); } public function moveDown():void{ isControlledV = true; var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); vector.y = ((_local1.modSpeed.desc())=="0") ? speed : _local1.modSpeed.value(speed); } public function applyPoison(_arg1:int):void{ isPoisoned = true; var _local2:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); poisonTime = ((_local2.modPoisonTime.desc())=="0") ? _arg1 : _local2.modPoisonTime.value(_arg1); poisonCurTime = ((_local2.modPoisonTime.desc())=="0") ? _arg1 : _local2.modPoisonTime.value(_arg1); assetName = Config.ASSET_AVATARPOISONED; renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } private function updatePosition():void{ var _local1:Number = 1; if (isSlowed){ _local1 = slowedfriction; }; position.x = (position.x + (vector.x * _local1)); position.y = (position.y + (vector.y * _local1)); } public function get healthPercentage():Number{ return ((health / maxHealth)); } public function stopVertical():void{ vector.y = 0; if (isControlledV){ isControlledV = false; }; } public function get slowedPercentage():Number{ return ((slowedCurTime / slowedTime)); } private function applyForce():void{ } public function get poisonedPercentage():Number{ return ((poisonCurTime / poisonTime)); } private function checkCollisions():void{ var _local1:Point = new Point(((vector.x)>0) ? 1 : -1, ((vector.y)>0) ? 1 : -1); var _local2:Point = hitbox.topLeft; var _local3:Point = hitbox.topLeft.add(new Point(0, hitbox.height)); var _local4:Point = hitbox.bottomRight.add(new Point(0, -(hitbox.height))); var _local5:Point = hitbox.bottomRight; if (vector.x > 0){ if ((((LevelManager.instance.getCollisionPixel(_local4.add(new Point((vector.x - 1), 0))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local5.add(new Point((vector.x - 1), -1))) == Config.COLOR_WALL)))){ vector.x = 0; }; } else { if (vector.x < 0){ if ((((LevelManager.instance.getCollisionPixel(_local2.add(new Point(vector.x, 0))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local3.add(new Point(vector.x, -1))) == Config.COLOR_WALL)))){ vector.x = 0; }; }; }; if (vector.y > 0){ if ((((LevelManager.instance.getCollisionPixel(_local5.add(new Point(-1, (vector.y - 1)))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local3.add(new Point(0, (vector.y - 1)))) == Config.COLOR_WALL)))){ vector.y = 0; }; } else { if (vector.y < 0){ if ((((LevelManager.instance.getCollisionPixel(_local4.add(new Point(-1, vector.y))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local2.add(new Point(0, vector.y))) == Config.COLOR_WALL)))){ vector.y = 0; }; }; }; } public function shoot():void{ weapon.shoot(position.clone(), angle); } public function applyHit(_arg1:int):void{ var _local2:PlayScreen; if (!isInvincible){ isInvincible = true; invincibleTime = 0; invincibleBlink = 0; _local2 = (ScreenManager.instance.getScreen(Config.SCREEN_PLAY) as PlayScreen); _local2.showHitGlow(); health = (health - _arg1); checkHealth(); if (startHealthRegen){ startHealthRegen = false; }; }; } public function stopHorizontal():void{ vector.x = 0; if (isControlledH){ isControlledH = false; }; } override public function update():void{ applyForce(); checkCollisions(); updateEffects(); updatePosition(); updateAngle(); weapon.update(); } public function moveRight():void{ isControlledH = true; var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); vector.x = ((_local1.modSpeed.desc())=="0") ? speed : _local1.modSpeed.value(speed); } public function moveUp():void{ isControlledV = true; var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); vector.y = ((_local1.modSpeed.desc())=="0") ? -(speed) : -(_local1.modSpeed.value(speed)); } public function addWeaponPack(_arg1:int):void{ weapon.addEnergy(_arg1); } public function addArmorPack(_arg1:int):void{ startHealthRegen = false; health = (health + _arg1); if (health > maxHealth){ health = maxHealth; }; } override public function toString():String{ return (Config.PLAYOBJ_AVATAR); } override protected function build():void{ assetName = Config.ASSET_AVATARUPPER; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(0, 0, 576, 0x0100), 64, 64); facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } public function moveLeft():void{ isControlledH = true; var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); vector.x = ((_local1.modSpeed.desc())=="0") ? -(speed) : -(_local1.modSpeed.value(speed)); } private function updateEffects():void{ if (isSlowed){ if (slowedCurTime >= slowedTime){ slowedCurTime = 0; isSlowed = false; assetName = Config.ASSET_AVATARUPPER; renderHelper = new RectTilesRenderer(assetName, face, facePos, position); }; slowedCurTime++; }; if (isPoisoned){ if (poisonCurTime == 0){ isPoisoned = false; assetName = Config.ASSET_AVATARUPPER; renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } else { poisonInterval++; if (poisonInterval == Config.AVATAR_POISON_INTERVAL){ poisonInterval = 0; poisonCurTime--; health = (health - poisonTime); checkHealth(); }; }; }; if (isInvincible){ if (invincibleTime == Config.AVATAR_INVINCIBLE_BLINK_TIME){ isInvincible = false; renderable = true; } else { invincibleTime++; invincibleBlink++; if (invincibleBlink == Config.AVATAR_INVINCIBLE_BLINK_INTERVAL){ invincibleBlink = 0; renderable = (renderable) ? false : true; }; }; }; if (startHealthRegen){ if (healthRegenTime == armorEnergy.regenInterval){ healthRegenTime = 0; health = (health + armorEnergy.regenAmount); if (health > maxHealth){ health = maxHealth; startHealthRegen = false; }; } else { healthRegenTime++; }; } else { if (((!(isPoisoned)) && ((health <= (maxHealth * 0.5))))){ startHealthRegen = true; }; }; } } }//package game.entities
Section 232
//Enemy (game.entities.Enemy) package game.entities { import flash.geom.*; import engine.managers.*; import game.managers.*; import engine.blit.entities.*; import flash.utils.*; import game.*; import tofu.util.*; import game.entities.pemitters.*; import flash.errors.*; public class Enemy extends PlayObject { protected var lastRotateTime:int; protected var rects:Array; protected var id:int; protected var weapon:Weapon; protected var normDeg:Number; protected var _lootList:Array; protected var incDeg:Number;// = 10 protected var maxRotateTime:int; protected var angle:Number; protected var changeCourseTime:int; protected var health:int; protected var hasSeenAvatar:Boolean; protected var stoppingDelay:int; public static const MOVE_CHASE:String = "chase"; public static const START_WANDER:String = "wander"; public static const START_STILL:String = "still"; public static const CHASE_INTERCEPT:String = "intercept"; public static const MOVE_FLEE:String = "flee"; public static const CHASE_DIRECT:String = "direct"; public function Enemy(_arg1:Point, _arg2:int){ normDeg = (1 / incDeg); _lootList = [Config.ITEM_WEAPONENERGYPACKLET5, Config.ITEM_WEAPONENERGYPACKLET10, Config.ITEM_ARMORENERGYPACKLET5]; super(_arg1.clone()); this.id = _arg2; health = maxHealth; speed = _speed; hasSeenAvatar = false; stoppingDelay = 0; maxRotateTime = 100; lastRotateTime = getTimer(); changeCourseTime = 0; headingRandomize(); } public function get movementType():String{ return (Enemy.MOVE_CHASE); } public function get chasingType():String{ return (Enemy.CHASE_DIRECT); } protected function updateAngle():void{ if (!hasSeenAvatar){ if (startingType == Enemy.START_STILL){ } else { if (startingType == Enemy.START_WANDER){ headingRandomize(); }; }; } else { if (movementType == Enemy.MOVE_CHASE){ if (chasingType == Enemy.CHASE_DIRECT){ headingToAvatar(); } else { if (chasingType == Enemy.CHASE_INTERCEPT){ }; }; } else { if (movementType == Enemy.MOVE_FLEE){ }; }; }; } protected function updatePosition():void{ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); } public function get startingType():String{ return (Enemy.START_STILL); } protected function get _assetName():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get exp():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get _deadAssetName():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get rangeOfSight():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function checkCollisions():void{ var _local1:Point = new Point(((vector.x)>0) ? 1 : -1, ((vector.y)>0) ? 1 : -1); var _local2:Point = hitbox.topLeft; var _local3:Point = hitbox.topLeft.add(new Point(0, hitbox.height)); var _local4:Point = hitbox.bottomRight.add(new Point(0, -(hitbox.height))); var _local5:Point = hitbox.bottomRight; var _local6:Boolean; var _local7:Boolean; if (vector.x > 0){ if ((((LevelManager.instance.getCollisionPixel(_local4.add(new Point((vector.x - 1), 0))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local5.add(new Point((vector.x - 1), -1))) == Config.COLOR_WALL)))){ _local6 = true; }; } else { if (vector.x < 0){ if ((((LevelManager.instance.getCollisionPixel(_local2.add(new Point(vector.x, 0))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local3.add(new Point(vector.x, -1))) == Config.COLOR_WALL)))){ _local6 = true; }; }; }; if (vector.y > 0){ if ((((LevelManager.instance.getCollisionPixel(_local5.add(new Point(-1, (vector.y - 1)))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local3.add(new Point(0, (vector.y - 1)))) == Config.COLOR_WALL)))){ _local7 = true; }; } else { if (vector.y < 0){ if ((((LevelManager.instance.getCollisionPixel(_local4.add(new Point(-1, vector.y))) == Config.COLOR_WALL)) || ((LevelManager.instance.getCollisionPixel(_local2.add(new Point(0, vector.y))) == Config.COLOR_WALL)))){ _local7 = true; }; }; }; if (_local6){ vector.x = 0; }; if (_local7){ vector.y = 0; }; if ((((((movementType == Enemy.START_WANDER)) && (((_local6) || (_local7))))) && (!(hasSeenAvatar)))){ headingRandomize(); }; } public function loadAsset():void{ AssetManager.instance.loadBitmapAsset(_assetName); AssetManager.instance.loadBitmapAsset(_deadAssetName); } protected function dropLoot():void{ var _local2:int; var _local3:Item; var _local4:Number; var _local5:int; var _local6:Point; var _local1:int; while (_local1 < lootDropAmount) { _local2 = CustomMath.rangedRandom(0, (lootList.length - 1)); _local3 = ItemList.instance.getItem(lootList[_local2]); if (Math.random() <= _local3.rarity){ _local4 = CustomMath.deg2rad(CustomMath.rangedRandom(0, 350, 10)); _local5 = CustomMath.rangedRandom((face.frame.width * 0.25), (face.frame.width * 0.5)); _local6 = new Point((Math.cos(_local4) * _local5), (Math.sin(_local4) * _local5)).add(position.clone()); LevelManager.instance.currentRoomItems.push(new PlayObjectData(_local2, lootList[_local2], _local6)); PlayObjectManager.instance.addObject(ItemList.instance.getPickup(lootList[_local2], _local2, _local6), true); }; _local1++; }; } override public function update():void{ updateSight(); updateAngle(); updateRange(); checkCollisions(); updatePosition(); weapon.update(); } protected function get _speed():Number{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function updateSight():void{ if (Point.distance(PlayObjectManager.instance.avatarPosition, position) <= rangeOfSight){ hasSeenAvatar = true; }; } protected function headingToAvatar():void{ var _local1:Number = CustomMath.correctRadians(Math.atan2((PlayObjectManager.instance.avatarPosition.y - position.y), (PlayObjectManager.instance.avatarPosition.x - position.x))); var _local2:int = (getTimer() - lastRotateTime); if (_local2 >= maxRotateTime){ angle = (Math.round((CustomMath.rad2deg(_local1) * normDeg)) * incDeg); face.setupFrames((rects[(angle * normDeg)] as Rectangle)); lastRotateTime = getTimer(); }; } public function applyHit(_arg1:int, _arg2:int):void{ var _local5:int; var _local6:int; var _local7:RectTiles; var _local8:Point; var _local9:RectTilesRenderer; var _local10:String; var _local11:RectTiles; var _local12:Point; var _local13:RectTilesRenderer; Profile.instance.lastLevelHits++; var _local3:Point = new Point(Math.cos(CustomMath.deg2rad(_arg2)), Math.sin(CustomMath.deg2rad(_arg2))); position.x = (position.x + (_local3.x * _arg1)); position.y = (position.y + (_local3.y * _arg1)); var _local4:ParticleEmitter = new BloodEmitter01((_arg1 * 5), 60, 6, _arg2, position.clone()); _local4.start(); PlayObjectManager.instance.addObject(_local4); hasSeenAvatar = (hasSeenAvatar) ? hasSeenAvatar : true; health = (health - _arg1); if (health <= 0){ Profile.instance.lastLevelKills++; Profile.instance.lastLevelExp = (Profile.instance.lastLevelExp + exp); _local5 = CustomMath.rangedRandom(0, 5); _local6 = CustomMath.rangedRandom(0, 2); _local7 = new RectTiles(new Rectangle((_local5 * 64), (_local6 * 64), 64, 64), 64, 64); _local8 = new Point(-32, -32); _local9 = new RectTilesRenderer(Config.ASSET_BLOODPARTICLE02, _local7, _local8, position); LevelManager.instance.modifyFloor(_local9); _local10 = _deadAssetName; _local11 = new RectTiles(new Rectangle(0, 0, 0x0100, 0x0100), 64, 64); _local11.goToFrame((this.angle * normDeg)); _local12 = new Point(-32, -32); _local13 = new RectTilesRenderer(_local10, _local11, _local12, position.clone().add(new Point((32 * Math.cos(CustomMath.deg2rad(_arg2))), (32 * Math.sin(CustomMath.deg2rad(_arg2)))))); LevelManager.instance.modifyFloor(_local13); LevelManager.instance.removeEnemyFromRoomList(id); PlayObjectManager.instance.removeObject(this); dropLoot(); }; } protected function get maxHealth():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get rangeOfAttack():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get lootList():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function headingRandomize():void{ if (changeCourseTime <= 0){ changeCourseTime = CustomMath.rangedRandom(10, 30); angle = CustomMath.rangedRandom(0, 360, incDeg); angle = (Math.round((angle * normDeg)) * incDeg); face.setupFrames((rects[(angle * normDeg)] as Rectangle)); } else { changeCourseTime--; }; } override public function toString():String{ return (Config.PLAYOBJ_ENEMY); } protected function get lootDropAmount():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function updateRange():void{ var _local1:Number; var _local2:Boolean; if (!hasSeenAvatar){ if (startingType == Enemy.START_WANDER){ face.nextFrame(); vector.x = Math.cos(CustomMath.deg2rad(angle)); vector.y = Math.sin(CustomMath.deg2rad(angle)); }; } else { if (movementType == Enemy.MOVE_CHASE){ if (chasingType == Enemy.CHASE_DIRECT){ _local1 = Point.distance(position, PlayObjectManager.instance.avatarPosition); _local2 = false; if (rangeOfAttack > Config.ENEMY_MELEE_RANGE){ if ((((_local1 <= rangeOfAttack)) && ((_local1 > (Config.ENEMY_MELEE_RANGE * 2))))){ if (stoppingDelay == 0){ _local2 = true; if (Math.random() <= 0.1){ stoppingDelay = CustomMath.rangedRandom(1, 3); }; } else { stoppingDelay--; }; } else { if ((((_local1 < (Config.ENEMY_MELEE_RANGE * 2))) || ((_local1 > rangeOfAttack)))){ _local2 = true; }; }; } else { if (_local1 > Config.ENEMY_MELEE_RANGE){ _local2 = true; }; }; if (_local2){ face.nextFrame(); vector.x = Math.cos(CustomMath.deg2rad(angle)); vector.y = Math.sin(CustomMath.deg2rad(angle)); } else { face.goToFrame(0); vector = new Point(); weapon.shoot(position.clone(), angle); }; } else { if (chasingType == Enemy.CHASE_INTERCEPT){ }; }; } else { if (movementType == Enemy.MOVE_FLEE){ }; }; }; } override protected function build():void{ assetName = _assetName; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; facePos = new Point(-32, -32); rects = []; var _local1:int; while (_local1 < 16) { rects.push(new Rectangle(0, (_local1 * 64), 448, 64)); _local1++; }; face = new RectTiles((rects[0] as Rectangle), 64, 64); face.delay = CustomMath.rangedRandom(3, 5); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } public function get damage():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.entities
Section 233
//EnemyList (game.entities.EnemyList) package game.entities { import flash.geom.*; import game.*; import game.entities.enemies.*; import flash.errors.*; public class EnemyList { private static var _instance:EnemyList; private static var allow:Boolean = false; public function EnemyList(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function getEnemy(_arg1:String, _arg2:int, _arg3:Point):Enemy{ switch (_arg1){ case Config.ASSET_ENEMYLIMP01: return (new EnemyLimp01(_arg3, _arg2)); case Config.ASSET_ENEMYLIMP02: return (new EnemyLimp02(_arg3, _arg2)); case Config.ASSET_ENEMYLIMP03: return (new EnemyLimp03(_arg3, _arg2)); case Config.ASSET_ENEMYLIMP04: return (new EnemyLimp04(_arg3, _arg2)); case Config.ASSET_ENEMYLIMP05: return (new EnemyLimp05(_arg3, _arg2)); case Config.ASSET_ENEMYSKINNY01: return (new EnemySkinny01(_arg3, _arg2)); case Config.ASSET_ENEMYSKINNY02: return (new EnemySkinny02(_arg3, _arg2)); case Config.ASSET_ENEMYSKINNY03: return (new EnemySkinny03(_arg3, _arg2)); case Config.ASSET_ENEMYSKINNY04: return (new EnemySkinny04(_arg3, _arg2)); case Config.ASSET_ENEMYSKINNY05: return (new EnemySkinny05(_arg3, _arg2)); case Config.ASSET_ENEMYMEDIUM01: return (new EnemyMedium01(_arg3, _arg2)); case Config.ASSET_ENEMYMEDIUM02: return (new EnemyMedium02(_arg3, _arg2)); case Config.ASSET_ENEMYMEDIUM03: return (new EnemyMedium03(_arg3, _arg2)); case Config.ASSET_ENEMYMEDIUM04: return (new EnemyMedium04(_arg3, _arg2)); case Config.ASSET_ENEMYMEDIUM05: return (new EnemyMedium05(_arg3, _arg2)); case Config.ASSET_ENEMYFAT01: return (new EnemyFat01(_arg3, _arg2)); case Config.ASSET_ENEMYFAT02: return (new EnemyFat02(_arg3, _arg2)); case Config.ASSET_ENEMYFAT03: return (new EnemyFat03(_arg3, _arg2)); case Config.ASSET_ENEMYFAT04: return (new EnemyFat04(_arg3, _arg2)); case Config.ASSET_ENEMYFAT05: return (new EnemyFat05(_arg3, _arg2)); case Config.ASSET_ENEMYBULKY01: return (new EnemyBulky01(_arg3, _arg2)); case Config.ASSET_ENEMYBULKY02: return (new EnemyBulky02(_arg3, _arg2)); case Config.ASSET_ENEMYBULKY03: return (new EnemyBulky03(_arg3, _arg2)); case Config.ASSET_ENEMYBULKY04: return (new EnemyBulky04(_arg3, _arg2)); case Config.ASSET_ENEMYBULKY05: return (new EnemyBulky05(_arg3, _arg2)); }; return (null); } public static function get instance():EnemyList{ if (!_instance){ allow = true; _instance = new (EnemyList); allow = false; }; return (_instance); } } }//package game.entities
Section 234
//ExplosionData (game.entities.ExplosionData) package game.entities { import flash.geom.*; public class ExplosionData { public var radius:int; public var location:Point; public var damage:int; public function ExplosionData(_arg1:Point, _arg2:int, _arg3:int){ this.location = _arg1; this.radius = _arg2; this.damage = _arg3; } } }//package game.entities
Section 235
//Info (game.entities.Info) package game.entities { import flash.geom.*; import engine.blit.entities.*; import game.*; public class Info extends PlayObject { public function Info(_arg1:Point){ super(_arg1); } override public function toString():String{ return (Config.PLAYOBJ_INFO); } public function text():String{ return (""); } override protected function build():void{ assetName = Config.ASSET_PICKUP; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(new Rectangle(64, 0, 32, 32), 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities
Section 236
//Item (game.entities.Item) package game.entities { import flash.display.*; import flash.geom.*; import flash.errors.*; public class Item { public function get pickupRect():Rectangle{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get desc():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get rarity():Number{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get pickupAsset():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get buyCost():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get sellCost():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get icon():DisplayObject{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get type():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get id():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get levels():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.entities
Section 237
//ItemList (game.entities.ItemList) package game.entities { import flash.geom.*; import game.*; import game.entities.items.*; import game.entities.pickups.*; import game.entities.items.modchips.*; import game.entities.items.armorenergy.*; import game.entities.items.weaponchips.*; import game.entities.items.weaponenergy.*; import game.entities.items.credits.*; import game.entities.items.traps.*; import game.entities.items.armorchips.*; import flash.errors.*; public class ItemList { private static var _instance:ItemList; private static var allow:Boolean = false; public function ItemList(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function getItem(_arg1:String):Item{ var _local2:String; var _local3:String; var _local4:Chip; var _local5:ModChip; if (_arg1.indexOf(Config.MODCHIP_SPACER) > -1){ _local2 = _arg1.split(Config.MODCHIP_SPACER)[0]; _local3 = _arg1.split(Config.MODCHIP_SPACER)[1]; _local4 = (createItem(_local2) as Chip); _local5 = (createItem(_local3) as ModChip); _local5.parentChip = _local4; _local4.modChip = _local5; return (_local4); }; return (createItem(_arg1)); } public function getPickup(_arg1:String, _arg2:int, _arg3:Point):Pickup{ var _local4:Item = getItem(_arg1); if ((((_local4.type == Config.ITEMTYPE_ARMORENERGY)) || ((_local4.type == Config.ITEMTYPE_WEAPONENERGY)))){ return (new XPickup(_arg3.clone(), _local4, _arg2)); }; return (new CPickup(_arg3.clone(), _local4, _arg2)); } private function createItem(_arg1:String):Item{ switch (_arg1){ case Config.ITEM_CREDIT10: return (new Credit10()); case Config.ITEM_CREDIT50: return (new Credit50()); case Config.ITEM_CREDIT100: return (new Credit100()); case Config.ITEM_CREDIT500: return (new Credit500()); case Config.ITEM_WEAPONENERGYPACKLET5: return (new Packlet5()); case Config.ITEM_WEAPONENERGYPACKLET10: return (new Packlet10()); case Config.ITEM_WEAPONENERGYPACKLET50: return (new Packlet50()); case Config.ITEM_WEAPONENERGYPACKLET100: return (new Packlet100()); case Config.ITEM_WEAPONENERGYPACKLET150: return (new Packlet150()); case Config.ITEM_WEAPONENERGYPACKLET200: return (new Packlet200()); case Config.ITEM_WEAPONENERGYPACKLET250: return (new Packlet250()); case Config.ITEM_WEAPONENERGYPACK20: return (new Pack20()); case Config.ITEM_WEAPONENERGYPACK50: return (new Pack50()); case Config.ITEM_WEAPONENERGYPACK100: return (new Pack100()); case Config.ITEM_WEAPONENERGYPACK250: return (new Pack250()); case Config.ITEM_WEAPONENERGYPACK500: return (new Pack500()); case Config.ITEM_WEAPONENERGYPACK1000: return (new Pack1000()); case Config.ITEM_ARMORENERGYPACKLET5: return (new APacklet5()); case Config.ITEM_ARMORENERGYPACKLET10: return (new APacklet10()); case Config.ITEM_ARMORENERGYPACKLET50: return (new APacklet50()); case Config.ITEM_ARMORENERGYPACKLET100: return (new APacklet100()); case Config.ITEM_ARMORENERGYPACKLET150: return (new APacklet150()); case Config.ITEM_ARMORENERGYPACKLET200: return (new APacklet200()); case Config.ITEM_ARMORENERGYPACKLET250: return (new APacklet250()); case Config.ITEM_ARMORENERGYPACK20: return (new APack20()); case Config.ITEM_ARMORENERGYPACK50: return (new APack50()); case Config.ITEM_ARMORENERGYPACK100: return (new APack100()); case Config.ITEM_ARMORENERGYPACK250: return (new APack250()); case Config.ITEM_ARMORENERGYPACK500: return (new APack500()); case Config.ITEM_ARMORENERGYPACK1000: return (new APack1000()); case Config.ITEM_WEAPONCHIP_PULSE_I: return (new PulseI()); case Config.ITEM_WEAPONCHIP_PULSE_II: return (new PulseII()); case Config.ITEM_WEAPONCHIP_PULSE_III: return (new PulseIII()); case Config.ITEM_WEAPONCHIP_PULSE_IV: return (new PulseIV()); case Config.ITEM_WEAPONCHIP_PULSE_V: return (new PulseV()); case Config.ITEM_WEAPONCHIP_PHOTON_I: return (new PhotonI()); case Config.ITEM_WEAPONCHIP_PHOTON_II: return (new PhotonII()); case Config.ITEM_WEAPONCHIP_PHOTON_III: return (new PhotonIII()); case Config.ITEM_WEAPONCHIP_PHOTON_IV: return (new PhotonIV()); case Config.ITEM_WEAPONCHIP_PHOTON_V: return (new PhotonV()); case Config.ITEM_WEAPONCHIP_NEUTRON_I: return (new NeutronI()); case Config.ITEM_WEAPONCHIP_NEUTRON_II: return (new NeutronII()); case Config.ITEM_WEAPONCHIP_NEUTRON_III: return (new NeutronIII()); case Config.ITEM_WEAPONCHIP_NEUTRON_IV: return (new NeutronIV()); case Config.ITEM_WEAPONCHIP_NEUTRON_V: return (new NeutronV()); case Config.ITEM_WEAPONCHIP_PLASMA_I: return (new PlasmaI()); case Config.ITEM_WEAPONCHIP_PLASMA_II: return (new PlasmaII()); case Config.ITEM_WEAPONCHIP_PLASMA_III: return (new PlasmaIII()); case Config.ITEM_WEAPONCHIP_PLASMA_IV: return (new PlasmaIV()); case Config.ITEM_WEAPONCHIP_PLASMA_V: return (new PlasmaV()); case Config.ITEM_WEAPONCHIP_TACHYON_I: return (new TachyonI()); case Config.ITEM_WEAPONCHIP_TACHYON_II: return (new TachyonII()); case Config.ITEM_WEAPONCHIP_TACHYON_III: return (new TachyonIII()); case Config.ITEM_WEAPONCHIP_TACHYON_IV: return (new TachyonIV()); case Config.ITEM_WEAPONCHIP_TACHYON_V: return (new TachyonV()); case Config.ITEM_MODCHIP_SCATTER: return (new Scatter()); case Config.ITEM_MODCHIP_BOLT: return (new Bolt()); case Config.ITEM_MODCHIP_RAPID: return (new Rapid()); case Config.ITEM_MODCHIP_STRIKE: return (new Strike()); case Config.ITEM_MODCHIP_BOLTPULSE_I: return (new BoltPulseI()); case Config.ITEM_MODCHIP_BOLTPULSE_II: return (new BoltPulseII()); case Config.ITEM_MODCHIP_FPULSE_I: return (new FPulseI()); case Config.ITEM_MODCHIP_FPULSE_II: return (new FPulseII()); case Config.ITEM_MODCHIP_FPULSE_III: return (new FPulseIII()); case Config.ITEM_MODCHIP_SCATTERPULSE_I: return (new ScatterPulseI()); case Config.ITEM_MODCHIP_SCATTERPULSE_II: return (new ScatterPulseII()); case Config.ITEM_MODCHIP_XPULSE_I: return (new XPulseI()); case Config.ITEM_MODCHIP_XPULSE_II: return (new XPulseII()); case Config.ITEM_MODCHIP_FPHOTON_I: return (new FPhotonI()); case Config.ITEM_MODCHIP_FPHOTON_II: return (new FPhotonII()); case Config.ITEM_MODCHIP_FPHOTON_III: return (new FPhotonIII()); case Config.ITEM_MODCHIP_SCATTERPHOTON: return (new ScatterPhoton()); case Config.ITEM_MODCHIP_STRIKEPHOTON_I: return (new StrikePhotonI()); case Config.ITEM_MODCHIP_STRIKEPHOTON_II: return (new StrikePhotonII()); case Config.ITEM_MODCHIP_STRIKEPHOTON_III: return (new StrikePhotonIII()); case Config.ITEM_MODCHIP_SSPHOTON_I: return (new SSPhotonI()); case Config.ITEM_MODCHIP_SSPHOTON_II: return (new SSPhotonII()); case Config.ITEM_MODCHIP_RSTRIKEPHOTON_I: return (new RStrikePhotonI()); case Config.ITEM_MODCHIP_RSTRIKEPHOTON_II: return (new RStrikePhotonII()); case Config.ITEM_MODCHIP_BOLTNEUTRON_I: return (new BoltNeutronI()); case Config.ITEM_MODCHIP_BOLTNEUTRON_II: return (new BoltNeutronII()); case Config.ITEM_MODCHIP_BOLTNEUTRON_III: return (new BoltNeutronIII()); case Config.ITEM_MODCHIP_STRIKENEUTRON_I: return (new StrikeNeutronI()); case Config.ITEM_MODCHIP_STRIKENEUTRON_II: return (new StrikeNeutronII()); case Config.ITEM_MODCHIP_STRIKENEUTRON_III: return (new StrikeNeutronIII()); case Config.ITEM_MODCHIP_CNEUTRON_I: return (new CNeutronI()); case Config.ITEM_MODCHIP_CNEUTRON_II: return (new CNeutronII()); case Config.ITEM_MODCHIP_CNEUTRON_III: return (new CNeutronIII()); case Config.ITEM_MODCHIP_SCATTERNEUTRON_I: return (new ScatterNeutronI()); case Config.ITEM_MODCHIP_SCATTERNEUTRON_II: return (new ScatterNeutronII()); case Config.ITEM_MODCHIP_SCATTERNEUTRON_III: return (new ScatterNeutronIII()); case Config.ITEM_MODCHIP_RPLASMA_I: return (new RPlasmaI()); case Config.ITEM_MODCHIP_RPLASMA_II: return (new RPlasmaII()); case Config.ITEM_MODCHIP_RPLASMA_III: return (new RPlasmaIII()); case Config.ITEM_MODCHIP_SCATTERPLASMA_I: return (new ScatterPlasmaI()); case Config.ITEM_MODCHIP_SCATTERPLASMA_II: return (new ScatterPlasmaII()); case Config.ITEM_MODCHIP_SCATTERPLASMA_III: return (new ScatterPlasmaIII()); case Config.ITEM_MODCHIP_CPLASMA_I: return (new CPlasmaI()); case Config.ITEM_MODCHIP_CPLASMA_II: return (new CPlasmaII()); case Config.ITEM_MODCHIP_STRIKEPLASMA_I: return (new StrikePlasmaI()); case Config.ITEM_MODCHIP_STRIKEPLASMA_II: return (new StrikePlasmaII()); case Config.ITEM_MODCHIP_STRIKETACHYON_I: return (new StrikeTachyonI()); case Config.ITEM_MODCHIP_STRIKETACHYON_II: return (new StrikeTachyonII()); case Config.ITEM_MODCHIP_XTACHYON_I: return (new XTachyonI()); case Config.ITEM_MODCHIP_XTACHYON_II: return (new XTachyonII()); case Config.ITEM_ARMORCHIP_STANDARD: return (new ArmorChipStandard()); case Config.ITEM_ARMORCHIP_X1: return (new ArmorChipX1()); case Config.ITEM_ARMORCHIP_X2: return (new ArmorChipX2()); case Config.ITEM_ARMORCHIP_X3: return (new ArmorChipX3()); case Config.ITEM_SECONDARYEQUIP_TRAP_GRAPPLER_I: return (new GrapplerI()); }; return (null); } public static function get instance():ItemList{ if (!_instance){ allow = true; _instance = new (ItemList); allow = false; }; return (_instance); } } }//package game.entities
Section 238
//Muzzle (game.entities.Muzzle) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.entities.*; import game.*; import game.entities.items.*; public class Muzzle extends PlayObject { protected var deg:Number; public var time:int; public function Muzzle(){ super(new Point()); time = 2; } public function set angle(_arg1:Number):void{ deg = _arg1; face.goToFrame(int((deg * 0.1))); } override public function update():void{ if (time > 0){ time--; } else { PlayObjectManager.instance.removeObject(this); }; } override protected function build():void{ var _local1:Chip; _local1 = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); assetName = Config.ASSET_MUZZLE_PULSE; if (_local1.id.indexOf("NEUTRON") > -1){ assetName = Config.ASSET_MUZZLE_NEUTRON; } else { if (_local1.id.indexOf("PHOTON") > -1){ assetName = Config.ASSET_MUZZLE_PHOTON; } else { if (_local1.id.indexOf("PLASMA") > -1){ assetName = Config.ASSET_MUZZLE_PLASMA; } else { if (_local1.id.indexOf("TACHYON") > -1){ assetName = Config.ASSET_MUZZLE_TACHYON; }; }; }; }; face = new RectTiles(new Rectangle(0, 0, 1152, 0x0200), 128, 128); facePos = new Point(-64, -64); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities
Section 239
//Particle (game.entities.Particle) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.entities.*; import game.*; import tofu.util.*; import flash.errors.*; public class Particle extends PlayObject { protected var currentLifetime:int; protected var callback:Function; protected var lifetime:int; public function Particle(_arg1:Point, _arg2:Function=null){ super(_arg1.clone()); currentLifetime = 0; this.callback = ((_arg2)!=null) ? _arg2 : null; build(); init(); } protected function preRemove():void{ } override public function update():void{ face.nextFrame(); if (deltaLife() >= 1){ remove(); } else { position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); currentLifetime++; }; } protected function remove():void{ preRemove(); if (callback != null){ callback(); }; PlayObjectManager.instance.removeObject(this); } override public function toString():String{ return (Config.PLAYOBJ_PARTICLE); } 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 = CustomMath.rangedRandom(_arg1, _arg2); speed = CustomMath.rangedRandom(_arg3, _arg4, 0.1); lifetime = int(CustomMath.rangedRandom(_arg5, _arg6)); vector = new Point(Math.cos(CustomMath.deg2rad(_local7)), Math.sin(CustomMath.deg2rad(_local7))); } public function deltaLife():Number{ return ((currentLifetime / lifetime)); } } }//package game.entities
Section 240
//ParticleEmitter (game.entities.ParticleEmitter) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.*; import engine.blit.entities.*; import flash.errors.*; public class ParticleEmitter extends PlayObject { protected var currentLifetime:int; protected var particle:Particle; protected var particleCount:int; protected var count:int; protected var lifetime:int; protected var radius:int; protected var limit:int; public function ParticleEmitter(_arg1:int=1, _arg2:int=1, _arg3:int=-1, _arg4:Point=null, _arg5:int=0){ this.radius = _arg5; this.count = _arg1; this.limit = _arg2; this.lifetime = _arg3; super(_arg4.clone()); isActive = false; particleCount = 0; currentLifetime = 0; } protected function spawnParticle():Particle{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function stop():void{ if (isActive){ currentLifetime = 0; isActive = false; PlayObjectManager.instance.removeObject(this); }; } public function decreaseCount():void{ particleCount--; } protected function deltaLife():Number{ var _local1:Number = 0; if (lifetime > 0){ _local1 = (currentLifetime / lifetime); }; return (_local1); } override public function update():void{ var _local1:int; if (deltaLife() < 1){ if ((((((particleCount < limit)) || ((limit == -1)))) && (isActive))){ _local1 = 0; while (_local1 < count) { particle = spawnParticle(); PlayObjectManager.instance.addObject(particle); particleCount++; _local1++; }; }; currentLifetime++; } else { stop(); }; } public function start():void{ isActive = true; } override public function render(_arg1:Render):void{ } } }//package game.entities
Section 241
//Pickup (game.entities.Pickup) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.entities.*; import flash.errors.*; public class Pickup extends PlayObject { protected var _item:Item; protected var _id:int; public function Pickup(_arg1:Point, _arg2:Item, _arg3:int){ _item = _arg2; _id = _arg3; super(_arg1); } public function get item():Item{ return (_item); } public function remove():void{ LevelManager.instance.removePickupFromRoomList(_id); PlayObjectManager.instance.removeObject(this); } override public function toString():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get id():String{ return (_item.id); } override protected function build():void{ assetName = _item.pickupAsset; hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; face = new RectTiles(_item.pickupRect, 32, 32); facePos = new Point(-16, -16); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } } }//package game.entities
Section 242
//PlayObjectData (game.entities.PlayObjectData) package game.entities { import flash.geom.*; public class PlayObjectData { public var id:int; public var pos:Point; public var type:String; public function PlayObjectData(_arg1:int, _arg2:String, _arg3:Point){ this.id = _arg1; this.type = _arg2; this.pos = _arg3; } } }//package game.entities
Section 243
//PoisonPool (game.entities.PoisonPool) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.entities.*; import game.*; import tofu.util.*; public class PoisonPool extends PlayObject { private var activeTime:int;// = 0 public var damage:int; public function PoisonPool(_arg1:Point, _arg2:int){ super(_arg1); this.damage = _arg2; isActive = true; } override protected function build():void{ assetName = Config.ASSET_POISONPARTICLE02; hit.width = 32; hit.height = 32; hit.x = -16; hit.y = -16; var _local1:int = CustomMath.rangedRandom(1, 6); face = new RectTiles(new Rectangle(0, (_local1 * 64), 384, 64), 64, 64); face.delay = 12; facePos = new Point(-32, -32); renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function update():void{ if (activeTime < Config.POISONPOOL_TIME){ activeTime++; } else { isActive = false; face.nextFrame(); if (!face.hasNextFrame()){ PlayObjectManager.instance.removeObject(this); }; }; } override public function toString():String{ return (Config.PLAYOBJ_POISON); } } }//package game.entities
Section 244
//Projectile (game.entities.Projectile) package game.entities { import flash.geom.*; import game.managers.*; import engine.blit.entities.*; import game.*; import tofu.util.*; import game.entities.pemitters.*; import flash.errors.*; public class Projectile extends PlayObject { protected var travelLength:Number; protected var departure:Point; public function Projectile(_arg1:Point, _arg2:Point){ super(_arg1); speed = _speed; departure = _arg1.clone(); travelLength = 0; this.vector = _arg2; } public function get critRate():Number{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get allowCrit():Boolean{ return (((critRate)>0) ? (Math.random() < critRate) : false); } public function remove():void{ var _local1:ParticleEmitter; var _local2:PoisonPool; if (aoeRadius > 0){ _local1 = new ExplosionEmitter01(position.clone()); _local1.start(); PlayObjectManager.instance.addObject(_local1); PlayObjectManager.instance.addExplosion(new ExplosionData(position.clone(), aoeRadius, damage)); }; if (poisons){ _local2 = new PoisonPool(position.clone(), damage); PlayObjectManager.instance.addObject(_local2, true); }; PlayObjectManager.instance.removeObject(this); } public function get energy():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get aoeRadius():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get _speed():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get poisons():Boolean{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function toString():String{ return (Config.PLAYOBJ_AVATAR_PROJECTILE); } public function get destination():Point{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get damage():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } override public function update():void{ if ((((distance > 0)) && ((aoeRadius <= 0)))){ travelLength = CustomMath.lengthBetweenPoints(position, departure); if ((distance - travelLength) > 3){ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); } else { remove(); }; } else { if (CustomMath.lengthBetweenPoints(position, destination) > 10){ position.x = (position.x + (vector.x * speed)); position.y = (position.y + (vector.y * speed)); } else { remove(); }; }; if (LevelManager.instance.getCollisionPixel(position) == Config.COLOR_WALL){ remove(); }; } public function get slows():Boolean{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get distance():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get seek():Boolean{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function get angle():int{ return (CustomMath.rad2deg(CustomMath.correctRadians(Math.atan2(vector.y, vector.x)))); } public function bounce():void{ vector.x = (vector.x * -1); vector.y = (vector.y * -1); } } }//package game.entities
Section 245
//Weapon (game.entities.Weapon) package game.entities { import flash.geom.*; import game.managers.*; import tofu.util.*; import flash.errors.*; public class Weapon { protected var shootTime:int; protected var pvector:Point; protected var pposition:Point; protected function addMuzzle(_arg1:Point, _arg2:Number):void{ } protected function get shootInterval():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function update():void{ if (shootTime > 0){ shootTime--; } else { shootTime = 0; }; } protected function arm():Projectile{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function get scatter():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function shoot(_arg1:Point, _arg2:Number):void{ var _local3:Projectile; var _local4:Array; var _local5:Number; var _local6:int; var _local7:int; var _local8:Number; var _local9:Number; if (shootTime == 0){ _local4 = []; if (scatter > 0){ _local7 = 0; while (_local7 < scatter) { _local8 = CustomMath.deg2rad((_arg2 - (10 * (_local7 + 1)))); _local4.push(_local8); _local9 = CustomMath.deg2rad((_arg2 + (10 * (_local7 + 1)))); _local4.push(_local9); _local7++; }; }; _local5 = CustomMath.deg2rad(_arg2); _local4.push(_local5); _local6 = 0; while (_local6 < _local4.length) { pposition = new Point(((Math.cos(_local4[_local6]) * 32) + _arg1.x), ((Math.sin(_local4[_local6]) * 32) + _arg1.y)); pvector = new Point(Math.cos(_local4[_local6]), Math.sin(_local4[_local6])); _local3 = arm(); if (_local3 != null){ PlayObjectManager.instance.addObject(_local3); if (_local6 == 0){ addMuzzle(pposition, _arg2); }; }; _local6++; }; shootTime = shootInterval; }; } } }//package game.entities
Section 246
//Level1A (game.levels.grind.Level1A) package game.levels.grind { import game.levels.*; import flash.geom.*; import game.*; import tofu.util.*; import game.entities.info.*; public class Level1A extends Level { override protected function difficulty():int{ return (1); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01]]); } override public function generateLevel():void{ maxRooms = generateRoomCount(); var _local1:int = generatePreRoomGridWidth(); var _local2:int = generatePreRoomGridHeight(); prerooms = []; prerooms.push(new PreRoom(0, 0, Config.ROOMTYPE_NW, this)); prerooms.push(new PreRoom(1, 0, Config.ROOMTYPE_NE, this)); prerooms.push(new PreRoom(0, 1, Config.ROOMTYPE_SW, this)); prerooms.push(new PreRoom(1, 1, Config.ROOMTYPE_SE, this)); var _local3:PreRoom = getPreRoom(0, 0); convertPreRoom(_local3); checkPreRooms(); currentRoom = rooms[0]; currentRoom.isVisited = true; currentRoom.enemyList = []; startingPoint = new Point((currentRoom.collisionTemplate.width * 0.5), (currentRoom.collisionTemplate.height * 0.5)); var _local4:Room = rooms[0]; var _local5:Room = rooms[1]; var _local6:Room = rooms[2]; var _local7:Room = rooms[3]; _local4.infoList = [new Info1(startingPoint.clone().add(new Point((-(Config.OBJ_SIZE_UNIT) * 2), (-(Config.OBJ_SIZE_UNIT) * 2)))), new Info2(startingPoint.clone().add(new Point((Config.OBJ_SIZE_UNIT * 2), (-(Config.OBJ_SIZE_UNIT) * 2)))), new Info3(startingPoint.clone().add(new Point((Config.OBJ_SIZE_UNIT * 2), (Config.OBJ_SIZE_UNIT * 2))))]; _local5.infoList = [new Info4(startingPoint.clone())]; _local6.infoList = [new Info5(startingPoint.clone())]; } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(4, 4)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (120); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 2)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(1, 3)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1A); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(4, 4)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 2)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(3, 4)); } } }//package game.levels.grind
Section 247
//Level1B (game.levels.grind.Level1B) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level1B extends Level { override protected function difficulty():int{ return (2); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(3, 5)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (180); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(2, 4), CustomMath.rangedRandom(1, 2)], [CustomMath.rangedRandom(3, 6)], [CustomMath.rangedRandom(2, 4)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1B); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(3, 5)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(3, 4)); } } }//package game.levels.grind
Section 248
//Level1C (game.levels.grind.Level1C) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level1C extends Level { override protected function difficulty():int{ return (3); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(4, 6)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (240); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(4, 6), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(8, 10)], [CustomMath.rangedRandom(8, 10)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1C); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(4, 6)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(3, 4)); } } }//package game.levels.grind
Section 249
//Level1D (game.levels.grind.Level1D) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level1D extends Level { override protected function difficulty():int{ return (4); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(5, 6)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (240); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 6), CustomMath.rangedRandom(5, 6)], [CustomMath.rangedRandom(5, 6), CustomMath.rangedRandom(5, 6)], [CustomMath.rangedRandom(10, 12)], [CustomMath.rangedRandom(10, 12)], [CustomMath.rangedRandom(10, 12)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1D); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(5, 6)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(3, 5)); } } }//package game.levels.grind
Section 250
//Level1E (game.levels.grind.Level1E) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level1E extends Level { override protected function difficulty():int{ return (5); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (300); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1E); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 251
//Level1F (game.levels.grind.Level1F) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level1F extends Level { override protected function difficulty():int{ return (6); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP01, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY01]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_FPULSE_I, Config.ITEM_MODCHIP_FPULSE_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_STRIKEPHOTON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function campaign():int{ return (1); } override public function get levelTime():int{ return (300); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(10, 16)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS05, door:Config.ASSET_DOOR05, floor:Config.ASSET_FLOORS05}); } override protected function id():String{ return (Config.LEVEL_1F); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 252
//Level2A (game.levels.grind.Level2A) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2A extends Level { override protected function difficulty():int{ return (1); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP02, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYSKINNY01]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (380); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5)], [CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5)], [CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5), CustomMath.rangedRandom(3, 5)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(5, 8), CustomMath.rangedRandom(5, 8)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)], [CustomMath.rangedRandom(10, 16)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2A); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(5, 7)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 253
//Level2B (game.levels.grind.Level2B) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2B extends Level { override protected function difficulty():int{ return (2); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYLIMP03, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(6, 8)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (420); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2B); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(6, 8)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 254
//Level2C (game.levels.grind.Level2C) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2C extends Level { override protected function difficulty():int{ return (3); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(6, 8)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (420); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2C); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(6, 8)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 255
//Level2D (game.levels.grind.Level2D) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2D extends Level { override protected function difficulty():int{ return (4); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(7, 9)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (460); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2D); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(7, 9)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 256
//Level2E (game.levels.grind.Level2E) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2E extends Level { override protected function difficulty():int{ return (5); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYLIMP04, Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY01, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP05, Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYLIMP01], [Config.ASSET_ENEMYLIMP02], [Config.ASSET_ENEMYLIMP03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT10, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(7, 9)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (460); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6), CustomMath.rangedRandom(2, 6)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(6, 9), CustomMath.rangedRandom(6, 9)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)], [CustomMath.rangedRandom(12, 18)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2E); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(7, 9)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(4, 6)); } } }//package game.levels.grind
Section 257
//Level2F (game.levels.grind.Level2F) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level2F extends Level { override protected function difficulty():int{ return (6); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYSKINNY02, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_FPULSE_III, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_STRIKEPHOTON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_I, Config.ITEM_MODCHIP_CNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function campaign():int{ return (2); } override public function get levelTime():int{ return (460); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS03, door:Config.ASSET_DOOR03, floor:Config.ASSET_FLOORS03}); } override protected function id():String{ return (Config.LEVEL_2F); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 258
//Level3A (game.levels.grind.Level3A) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3A extends Level { override protected function difficulty():int{ return (1); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY03, Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3A); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 259
//Level3B (game.levels.grind.Level3B) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3B extends Level { override protected function difficulty():int{ return (2); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3B); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 260
//Level3C (game.levels.grind.Level3C) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3C extends Level { override protected function difficulty():int{ return (3); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3C); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(8, 10)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 261
//Level3D (game.levels.grind.Level3D) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3D extends Level { override protected function difficulty():int{ return (4); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(4, 6)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(7, 10), CustomMath.rangedRandom(7, 10)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)], [CustomMath.rangedRandom(14, 20)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3D); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 262
//Level3E (game.levels.grind.Level3E) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3E extends Level { override protected function difficulty():int{ return (5); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYSKINNY04, Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY01], [Config.ASSET_ENEMYSKINNY02], [Config.ASSET_ENEMYSKINNY03], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(3, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3E); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(2, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 263
//Level3F (game.levels.grind.Level3F) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level3F extends Level { override protected function difficulty():int{ return (6); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYMEDIUM01, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM02, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_MODCHIP_XPULSE_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_STRIKEPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_I, Config.ITEM_MODCHIP_RSTRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_STRIKENEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_CPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (3); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS04, door:Config.ASSET_DOOR04, floor:Config.ASSET_FLOORS04}); } override protected function id():String{ return (Config.LEVEL_3F); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 7)); } } }//package game.levels.grind
Section 264
//Level4A (game.levels.grind.Level4A) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4A extends Level { override protected function difficulty():int{ return (1); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYMEDIUM03, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4A); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 265
//Level4B (game.levels.grind.Level4B) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4B extends Level { override protected function difficulty():int{ return (2); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4B); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 266
//Level4C (game.levels.grind.Level4C) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4C extends Level { override protected function difficulty():int{ return (3); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT50, Config.ITEM_CREDIT50, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4C); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 267
//Level4D (game.levels.grind.Level4D) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4D extends Level { override protected function difficulty():int{ return (4); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4D); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 268
//Level4E (game.levels.grind.Level4E) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4E extends Level { override protected function difficulty():int{ return (5); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM01], [Config.ASSET_ENEMYMEDIUM02], [Config.ASSET_ENEMYMEDIUM03], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4E); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 269
//Level4F (game.levels.grind.Level4F) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level4F extends Level { override protected function difficulty():int{ return (6); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY01]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_XPULSE_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SSPHOTON_II, Config.ITEM_MODCHIP_RSTRIKEPHOTON_II, Config.ITEM_MODCHIP_STRIKENEUTRON_III, Config.ITEM_MODCHIP_CNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_III, Config.ITEM_MODCHIP_CPLASMA_II, Config.ITEM_MODCHIP_STRIKEPLASMA_I]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (4); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS02, door:Config.ASSET_DOOR02, floor:Config.ASSET_FLOORS02}); } override protected function id():String{ return (Config.LEVEL_4F); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 270
//Level5A (game.levels.grind.Level5A) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5A extends Level { override protected function difficulty():int{ return (1); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5A); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 271
//Level5B (game.levels.grind.Level5B) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5B extends Level { override protected function difficulty():int{ return (2); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY02]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5B); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 272
//Level5C (game.levels.grind.Level5C) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5C extends Level { override protected function difficulty():int{ return (3); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY02, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYBULKY03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5C); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 273
//Level5D (game.levels.grind.Level5D) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5D extends Level { override protected function difficulty():int{ return (4); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY02, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYBULKY03]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5D); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 274
//Level5E (game.levels.grind.Level5E) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5E extends Level { override protected function difficulty():int{ return (5); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY01, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY02, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYMEDIUM04, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY04], [Config.ASSET_ENEMYLIMP04], [Config.ASSET_ENEMYLIMP05], [Config.ASSET_ENEMYSKINNY04], [Config.ASSET_ENEMYSKINNY05], [Config.ASSET_ENEMYMEDIUM04], [Config.ASSET_ENEMYMEDIUM05], [Config.ASSET_ENEMYFAT01], [Config.ASSET_ENEMYFAT02], [Config.ASSET_ENEMYFAT03], [Config.ASSET_ENEMYFAT04], [Config.ASSET_ENEMYFAT05], [Config.ASSET_ENEMYBULKY01], [Config.ASSET_ENEMYBULKY02], [Config.ASSET_ENEMYBULKY03], [Config.ASSET_ENEMYBULKY04]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5E); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 275
//Level5F (game.levels.grind.Level5F) package game.levels.grind { import game.levels.*; import game.*; import tofu.util.*; public class Level5F extends Level { override protected function difficulty():int{ return (6); } override protected function generateEnemyTypes():Array{ return ([[Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT02, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYFAT01, Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYMEDIUM05, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYFAT03, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYFAT04, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYFAT05, Config.ASSET_ENEMYBULKY05], [Config.ASSET_ENEMYBULKY05]]); } override public function get itemScavenge():Array{ return ([Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT100, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_CREDIT500, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_STRIKEPLASMA_II, Config.ITEM_MODCHIP_STRIKETACHYON_I, Config.ITEM_MODCHIP_STRIKETACHYON_II, Config.ITEM_MODCHIP_XTACHYON_I, Config.ITEM_MODCHIP_XTACHYON_II]); } override protected function generateRoomHeight():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function campaign():int{ return (5); } override public function get levelTime():int{ return (360); } override protected function generatePreRoomGridHeight():int{ return (CustomMath.rangedRandom(2, 3)); } override protected function generateEnemyCounts():Array{ return ([[CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(5, 7), CustomMath.rangedRandom(6, 8)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(8, 12), CustomMath.rangedRandom(8, 12)], [CustomMath.rangedRandom(16, 22)]]); } override protected function generateRoomTheme():Object{ return ({wall:Config.ASSET_WALLS01, door:Config.ASSET_DOOR01, floor:Config.ASSET_FLOORS01}); } override protected function id():String{ return (Config.LEVEL_5F); } override protected function generateRoomWidth():int{ return (CustomMath.rangedRandom(9, 11)); } override protected function generatePreRoomGridWidth():int{ return (CustomMath.rangedRandom(3, 4)); } override protected function generateRoomCount():int{ return (CustomMath.rangedRandom(5, 9)); } } }//package game.levels.grind
Section 276
//Door (game.levels.Door) package game.levels { import flash.geom.*; import engine.managers.*; import engine.blit.entities.*; import game.*; public class Door extends PlayObject { private var isHighLighted:Boolean; public var type:String; public var currentRoom:Room; public function Door(_arg1:Point, _arg2:Room, _arg3:String, _arg4:String){ this.currentRoom = _arg2; this.type = _arg3; isHighLighted = false; assetName = _arg4; super(_arg1); } public function hightlight(_arg1:Boolean=true):void{ var _local2:int = (Config.OBJ_SIZE_UNIT * 2); var _local3:int = (_arg1) ? (_local2 * 2) : 0; switch (type){ case Config.DOORTYPE_N: face = new RectTiles(new Rectangle(0, _local3, _local2, _local2), _local2, _local2); facePos = new Point(-(Config.OBJ_SIZE_UNIT), -(_local2)); break; case Config.DOORTYPE_S: face = new RectTiles(new Rectangle(0, (_local3 + _local2), _local2, _local2), _local2, _local2); facePos = new Point(-(Config.OBJ_SIZE_UNIT), 0); break; case Config.DOORTYPE_E: face = new RectTiles(new Rectangle(_local2, (_local3 + _local2), _local2, _local2), _local2, _local2); facePos = new Point(0, -(Config.OBJ_SIZE_UNIT)); break; case Config.DOORTYPE_W: face = new RectTiles(new Rectangle(_local2, _local3, _local2, _local2), _local2, _local2); facePos = new Point(-(_local2), -(Config.OBJ_SIZE_UNIT)); break; }; if (((_arg1) && (!(isHighLighted)))){ isHighLighted = true; SoundManager.instance.playSFX(Config.ASSET_SFXSHAFT); } else { if (!_arg1){ isHighLighted = false; }; }; renderHelper = new RectTilesRenderer(assetName, face, facePos, position); } override public function toString():String{ return (Config.PLAYOBJ_DOOR); } override protected function build():void{ hit.width = 16; hit.height = 16; hit.x = -8; hit.y = -8; hightlight(false); } } }//package game.levels
Section 277
//Level (game.levels.Level) package game.levels { import flash.geom.*; import game.*; import tofu.util.*; import nl.demonsters.debugger.*; import flash.errors.*; public class Level { public var currentRoom:Room; public var currentRoomIndex:int; public var startingPoint:Point; protected var maxRooms:int;// = 0 protected var prerooms:Array; public var rooms:Array; public function Level(){ prerooms = []; rooms = []; super(); } protected function generateRoomPattern():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function generatePreRoomGridWidth():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function getPreRoom(_arg1:int, _arg2:int):PreRoom{ var _local4:PreRoom; var _local3:int; while (_local3 < prerooms.length) { _local4 = prerooms[_local3]; if (((((!((_local4 == null))) && ((_local4.position.x == _arg1)))) && ((_local4.position.y == _arg2)))){ return (_local4); }; _local3++; }; return (null); } public function get itemScavenge():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function createRoom(_arg1:Point, _arg2:Array):void{ var _local5:Point; var _local3:Room = new Room(_arg1, (generateRoomWidth() * 2), (generateRoomHeight() * 2), generateRoomTheme(), _arg2, generateEnemyCounts(), generateEnemyTypes()); rooms.push(_local3); var _local4:int; while (_local4 < _local3.adjacents.length) { _local5 = _local3.adjacents[_local4]; markPreRoom(_local5.x, _local5.y, _local3); _local4++; }; } protected function campaign():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function markPreRoom(_arg1:int, _arg2:int, _arg3:Room):void{ var _local4:PreRoom = getPreRoom(_arg1, _arg2); if (_local4 != null){ _local4.isMarked = true; }; } protected function generatePreRoomGridHeight():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function getMarkedPreRooms():Array{ var _local3:PreRoom; var _local1:Array = []; var _local2:int; while (_local2 < prerooms.length) { _local3 = prerooms[_local2]; if (((!((_local3 == null))) && (_local3.isMarked))){ _local1.push(_local3); }; _local2++; }; MonsterDebugger.trace(this, ((" [!] FOUND " + _local1.length) + " marked prerooms."), 0x8080); return (_local1); } public function getRoom(_arg1:int, _arg2:int):Room{ var _local4:Room; var _local3:int; while (_local3 < rooms.length) { _local4 = rooms[_local3]; if (((((!((_local4 == null))) && ((_local4.position.x == _arg1)))) && ((_local4.position.y == _arg2)))){ return (_local4); }; _local3++; }; return (null); } protected function id():String{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } public function generateLevel():void{ var _local8:int; var _local9:String; var _local10:PreRoom; maxRooms = generateRoomCount(); var _local1:int = generatePreRoomGridWidth(); var _local2:int = generatePreRoomGridHeight(); MonsterDebugger.trace(this, (((("CREATING " + _local1) + " x ") + _local2) + " PreRooms"), 8947780); var _local3 = " PreRooms: "; prerooms = []; var _local4:int; while (_local4 < _local2) { _local8 = 0; while (_local8 < _local1) { _local9 = Config.ROOMTYPE_CENTER; if ((((_local8 == 0)) && ((_local4 == 0)))){ _local9 = Config.ROOMTYPE_NW; } else { if ((((((_local8 > 0)) && ((_local8 < (_local1 - 1))))) && ((_local4 == 0)))){ _local9 = Config.ROOMTYPE_N; } else { if ((((_local8 == (_local1 - 1))) && ((_local4 == 0)))){ _local9 = Config.ROOMTYPE_NE; } else { if ((((((_local8 == 0)) && ((_local4 > 0)))) && ((_local4 < (_local2 - 1))))){ _local9 = Config.ROOMTYPE_W; } else { if ((((((_local8 == (_local1 - 1))) && ((_local4 > 0)))) && ((_local4 < (_local2 - 1))))){ _local9 = Config.ROOMTYPE_E; } else { if ((((_local8 == 0)) && ((_local4 == (_local2 - 1))))){ _local9 = Config.ROOMTYPE_SW; } else { if ((((((_local8 > 0)) && ((_local8 < (_local1 - 1))))) && ((_local4 == (_local2 - 1))))){ _local9 = Config.ROOMTYPE_S; } else { if ((((_local8 == (_local1 - 1))) && ((_local4 == (_local2 - 1))))){ _local9 = Config.ROOMTYPE_SE; }; }; }; }; }; }; }; }; _local10 = new PreRoom(_local8, _local4, _local9, this); _local3 = (_local3 + (((_local10.position + ">") + _local10.type) + " | ")); prerooms.push(_local10); _local8++; }; _local4++; }; MonsterDebugger.trace(this, _local3, 0xFF0080); var _local5:int = CustomMath.rangedRandom(0, (_local1 - 1)); var _local6:int = CustomMath.rangedRandom(0, (_local2 - 1)); var _local7:PreRoom = getPreRoom(_local5, _local6); convertPreRoom(_local7); checkPreRooms(); currentRoomIndex = CustomMath.rangedRandom(0, (rooms.length - 1)); currentRoom = rooms[currentRoomIndex]; currentRoom.isVisited = true; currentRoom.enemyList = []; startingPoint = new Point((currentRoom.collisionTemplate.width * 0.5), (currentRoom.collisionTemplate.height * 0.5)); } public function hasAllRoomsCleared():Boolean{ var _local4:Room; var _local1:int; var _local2 = " [!] room status: "; var _local3:int; while (_local3 < rooms.length) { _local4 = rooms[_local3]; _local1 = (_local1 + (_local4.isCleared) ? 1 : 0); _local2 = (_local2 + (((_local4.position + ">") + _local4.isCleared) + " | ")); _local3++; }; MonsterDebugger.trace(this, _local2, 0x880000); MonsterDebugger.trace(this, (((" [?] Comparing cleared rooms and room count: " + _local1) + " vs ") + rooms.length), 0xFF8800); if (_local1 == rooms.length){ return (true); }; return (false); } public function cleanup():void{ var _local2:Room; var _local1:int = (rooms.length - 1); while (_local1 >= 0) { _local2 = rooms[_local1]; _local2.collisionTemplate.dispose(); _local2.floorTemplate.dispose(); rooms.splice(_local1, 1); _local1--; }; rooms = []; } protected function generateEnemyTypes():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function convertPreRoom(_arg1:PreRoom):void{ MonsterDebugger.trace(this, ((("CONVERTING PreRoom id: " + _arg1.position) + ", type: ") + _arg1.type), 0x8800FF); createRoom(_arg1.position, _arg1.setupDoors(rooms.length, maxRooms)); removePreRoom(_arg1); } public function get levelTime():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function generateRoomWidth():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function generateRoomHeight():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function generateRoomTheme():Object{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function removePreRoom(_arg1:PreRoom):void{ prerooms.splice(prerooms.indexOf(_arg1), 1); MonsterDebugger.trace(this, ((("[!!] REMOVING PreRoom id: " + _arg1.position) + " PreRoom.length: ") + prerooms.length), 0x666666); } protected function difficulty():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function checkPreRooms():void{ var _local2:int; var _local3:PreRoom; var _local1:Array = getMarkedPreRooms(); if (_local1.length > 0){ _local2 = 0; while (_local2 < _local1.length) { _local3 = _local1[_local2]; convertPreRoom(_local3); _local2++; }; checkPreRooms(); }; } protected function generateEnemyCounts():Array{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } protected function generateRoomCount():int{ throw (new IllegalOperationError("Abstract method: must be overriden within a subclass")); } } }//package game.levels
Section 278
//PreRoom (game.levels.PreRoom) package game.levels { import flash.geom.*; import game.*; import tofu.util.*; import nl.demonsters.debugger.*; public class PreRoom { public var isMarked:Boolean; public var position:Point; public var type:String; protected var level:Level; public function PreRoom(_arg1:int, _arg2:int, _arg3:String, _arg4:Level){ position = new Point(_arg1, _arg2); isMarked = false; this.type = _arg3; this.level = _arg4; } public function setupDoors(_arg1:int, _arg2:int):Array{ var _local3:Number = ((_arg1)==0) ? 1 : (((_arg1 / _arg2))>0.5) ? 0.2 : CustomMath.rangedRandom(0.4, 0.8, 0.1); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; switch (type){ case Config.ROOMTYPE_NW: _local7 = _local3; _local6 = _local3; break; case Config.ROOMTYPE_N: _local5 = _local3; _local7 = _local3; _local6 = _local3; break; case Config.ROOMTYPE_NE: _local5 = _local3; _local6 = _local3; break; case Config.ROOMTYPE_W: _local4 = _local3; _local6 = _local3; _local7 = _local3; break; case Config.ROOMTYPE_CENTER: _local4 = (_local3 + 0.2); _local6 = (_local3 + 0.2); _local7 = (_local3 + 0.2); _local5 = (_local3 + 0.2); break; case Config.ROOMTYPE_E: _local4 = _local3; _local6 = _local3; _local5 = _local3; break; case Config.ROOMTYPE_SW: _local4 = _local3; _local7 = _local3; break; case Config.ROOMTYPE_S: _local4 = _local3; _local5 = _local3; _local7 = _local3; break; case Config.ROOMTYPE_SE: _local4 = _local3; _local5 = _local3; break; }; var _local8:Array = []; if ((((_local4 > 0)) && ((Math.random() < _local4)))){ _local8.push(Config.DOORTYPE_N); }; if ((((_local6 > 0)) && ((Math.random() < _local6)))){ _local8.push(Config.DOORTYPE_S); }; if ((((_local7 > 0)) && ((Math.random() < _local7)))){ _local8.push(Config.DOORTYPE_E); }; if ((((_local5 > 0)) && ((Math.random() < _local5)))){ _local8.push(Config.DOORTYPE_W); }; var _local9:Room = level.getRoom(position.x, (position.y - 1)); var _local10:Room = level.getRoom(position.x, (position.y + 1)); var _local11:Room = level.getRoom((position.x - 1), position.y); var _local12:Room = level.getRoom((position.x + 1), position.y); if (((!((_local9 == null))) && (!((_local9.doorS == null))))){ if (_local8.indexOf(Config.DOORTYPE_N) == -1){ _local8.push(Config.DOORTYPE_N); }; } else { if (((!((_local9 == null))) && ((_local9.doorS == null)))){ if (_local8.indexOf(Config.DOORTYPE_N) > -1){ _local8.splice(_local8.indexOf(Config.DOORTYPE_N), 1); }; }; }; if (((!((_local10 == null))) && (!((_local10.doorN == null))))){ if (_local8.indexOf(Config.DOORTYPE_S) == -1){ _local8.push(Config.DOORTYPE_S); }; } else { if (((!((_local10 == null))) && ((_local10.doorN == null)))){ if (_local8.indexOf(Config.DOORTYPE_S) > -1){ _local8.splice(_local8.indexOf(Config.DOORTYPE_S), 1); }; }; }; if (((!((_local11 == null))) && (!((_local11.doorE == null))))){ if (_local8.indexOf(Config.DOORTYPE_W) == -1){ _local8.push(Config.DOORTYPE_W); }; } else { if (((!((_local11 == null))) && ((_local11.doorE == null)))){ if (_local8.indexOf(Config.DOORTYPE_W) > -1){ _local8.splice(_local8.indexOf(Config.DOORTYPE_W), 1); }; }; }; if (((!((_local12 == null))) && (!((_local12.doorW == null))))){ if (_local8.indexOf(Config.DOORTYPE_E) == -1){ _local8.push(Config.DOORTYPE_E); }; } else { if (((!((_local12 == null))) && ((_local12.doorW == null)))){ if (_local8.indexOf(Config.DOORTYPE_E) > -1){ _local8.splice(_local8.indexOf(Config.DOORTYPE_E), 1); }; }; }; MonsterDebugger.trace(this, (" > INCLUDED DOORS: " + _local8), 8421568); return (_local8); } } }//package game.levels
Section 279
//Room (game.levels.Room) package game.levels { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import game.*; import tofu.util.*; public class Room { public var enemyList:Array; public var collisionTemplate:BitmapData; public var doorE:Door; public var doorN:Door; public var doorS:Door; public var floorTemplate:BitmapData; public var isVisited:Boolean; public var isCleared:Boolean; public var infoList:Array; public var rectangle:Rectangle; public var doorW:Door; public var adjacents:Array; public var position:Point; public var pickupList:Array; public function Room(_arg1:Point, _arg2:int, _arg3:int, _arg4:Object, _arg5:Array, _arg6:Array, _arg7:Array){ var _local19:int; var _local20:Point; var _local21:int; var _local22:int; var _local23:int; var _local24:Point; var _local25:Point; var _local26:Point; var _local27:Point; var _local28:Point; var _local29:int; var _local30:int; var _local31:int; var _local32:int; var _local33:int; var _local34:Rectangle; var _local35:Point; var _local36:int; var _local37:int; var _local38:int; var _local39:Point; var _local40:PlayObjectData; var _local41:Enemy; super(); isCleared = false; isVisited = false; this.position = _arg1.clone(); var _local8:int = ((_arg2 * Config.OBJ_SIZE_UNIT) + Config.STAGE_WIDTH); var _local9:int = ((_arg3 * Config.OBJ_SIZE_UNIT) + Config.STAGE_HEIGHT); var _local10:Point = new Point((Config.STAGE_WIDTH * 0.5), (Config.STAGE_HEIGHT * 0.5)); rectangle = new Rectangle((Config.STAGE_WIDTH * 0.5), (Config.STAGE_HEIGHT * 0.5), (_local8 - Config.STAGE_WIDTH), (_local9 - Config.STAGE_HEIGHT)); collisionTemplate = new BitmapData(_local8, _local9, false, 0); floorTemplate = new BitmapData(_local8, _local9, false, 0); AssetManager.instance.loadBitmapAsset(_arg4.floor); AssetManager.instance.loadBitmapAsset(_arg4.wall); var _local11:int = int((AssetManager.instance.getBitmapAsset(_arg4.floor).bitmapData.width / Config.OBJ_SIZE_UNIT)); var _local12:int = int((AssetManager.instance.getBitmapAsset(_arg4.floor).bitmapData.height / Config.OBJ_SIZE_UNIT)); var _local13:int; while (_local13 < _arg3) { _local19 = 0; while (_local19 < _arg2) { _local20 = new Point((_local19 * Config.OBJ_SIZE_UNIT), (_local13 * Config.OBJ_SIZE_UNIT)).add(_local10); _local21 = CustomMath.rangedRandom(0, (_local11 - 1)); _local22 = CustomMath.rangedRandom(0, (_local12 - 1)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.floor).bitmapData, new Rectangle((_local21 * Config.OBJ_SIZE_UNIT), (_local22 * Config.OBJ_SIZE_UNIT), Config.OBJ_SIZE_UNIT, Config.OBJ_SIZE_UNIT), _local20); collisionTemplate.fillRect(new Rectangle(((_local19 * Config.OBJ_SIZE_UNIT) + _local10.x), ((_local13 * Config.OBJ_SIZE_UNIT) + _local10.y), Config.OBJ_SIZE_UNIT, Config.OBJ_SIZE_UNIT), Config.COLOR_FLOOR); _local19++; }; _local13++; }; var _local14:int = (Config.OBJ_SIZE_UNIT * 2); var _local15:int; while (_local15 < (_arg3 * 0.5)) { _local23 = 0; while (_local23 < (_arg2 * 0.5)) { _local24 = new Point((_local23 * _local14), (_local15 * _local14)).add(_local10); _local25 = _local24.add(new Point(0, -(_local14))); _local26 = _local24.add(new Point(0, _local14)); _local27 = _local24.add(new Point(-(_local14), 0)); _local28 = _local24.add(new Point(_local14, 0)); _local29 = collisionTemplate.getPixel(_local24.x, _local24.y); _local30 = collisionTemplate.getPixel(_local25.x, _local25.y); _local31 = collisionTemplate.getPixel(_local26.x, _local26.y); _local32 = collisionTemplate.getPixel(_local27.x, _local27.y); _local33 = collisionTemplate.getPixel(_local28.x, _local28.y); if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_WALL)))) && ((_local32 == Config.COLOR_WALL)))) && ((_local33 == Config.COLOR_FLOOR)))) && ((_local31 == Config.COLOR_FLOOR)))){ _local34 = new Rectangle(0, 0, _local14, _local14); _local35 = _local24.add(new Point(-(_local14), -(_local14))); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle(_local14, 0, _local14, _local14); _local35 = _local24.add(new Point(0, -(_local14))); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle(0, _local14, _local14, _local14); _local35 = _local24.add(new Point(-(_local14), 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_WALL)))) && ((_local32 == Config.COLOR_FLOOR)))) && ((_local33 == Config.COLOR_FLOOR)))) && ((_local31 == Config.COLOR_FLOOR)))){ _local34 = new Rectangle((_local14 * 2), 0, _local14, _local14); _local35 = _local24.add(new Point(0, -(_local14))); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_WALL)))) && ((_local32 == Config.COLOR_FLOOR)))) && ((_local33 == Config.COLOR_WALL)))) && ((_local31 == Config.COLOR_FLOOR)))){ _local34 = new Rectangle((_local14 * 4), 0, _local14, _local14); _local35 = _local24.add(new Point(_local14, -(_local14))); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle((_local14 * 3), 0, _local14, _local14); _local35 = _local24.add(new Point(0, -(_local14))); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle((_local14 * 4), _local14, _local14, _local14); _local35 = _local24.add(new Point(_local14, 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_FLOOR)))) && ((_local32 == Config.COLOR_WALL)))) && ((_local33 == Config.COLOR_FLOOR)))) && ((_local31 == Config.COLOR_FLOOR)))){ _local34 = new Rectangle(0, (_local14 * 2), _local14, _local14); _local35 = _local24.add(new Point(-(_local14), 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_FLOOR)))) && ((_local32 == Config.COLOR_FLOOR)))) && ((_local33 == Config.COLOR_WALL)))) && ((_local31 == Config.COLOR_FLOOR)))){ _local34 = new Rectangle((_local14 * 4), (_local14 * 2), _local14, _local14); _local35 = _local24.add(new Point(_local14, 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_FLOOR)))) && ((_local32 == Config.COLOR_WALL)))) && ((_local33 == Config.COLOR_FLOOR)))) && ((_local31 == Config.COLOR_WALL)))){ _local34 = new Rectangle(0, (_local14 * 4), _local14, _local14); _local35 = _local24.add(new Point(-(_local14), _local14)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle(_local14, (_local14 * 4), _local14, _local14); _local35 = _local24.add(new Point(0, _local14)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle(0, (_local14 * 3), _local14, _local14); _local35 = _local24.add(new Point(-(_local14), 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_FLOOR)))) && ((_local32 == Config.COLOR_FLOOR)))) && ((_local33 == Config.COLOR_FLOOR)))) && ((_local31 == Config.COLOR_WALL)))){ _local34 = new Rectangle((_local14 * 2), (_local14 * 4), _local14, _local14); _local35 = _local24.add(new Point(0, _local14)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); } else { if ((((((((((_local29 == Config.COLOR_FLOOR)) && ((_local30 == Config.COLOR_FLOOR)))) && ((_local32 == Config.COLOR_FLOOR)))) && ((_local33 == Config.COLOR_WALL)))) && ((_local31 == Config.COLOR_WALL)))){ _local34 = new Rectangle((_local14 * 4), (_local14 * 4), _local14, _local14); _local35 = _local24.add(new Point(_local14, _local14)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle((_local14 * 3), (_local14 * 4), _local14, _local14); _local35 = _local24.add(new Point(0, _local14)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); _local34 = new Rectangle((_local14 * 4), (_local14 * 3), _local14, _local14); _local35 = _local24.add(new Point(_local14, 0)); floorTemplate.copyPixels(AssetManager.instance.getBitmapAsset(_arg4.wall).bitmapData, _local34, _local35); }; }; }; }; }; }; }; }; _local23++; }; _local15++; }; adjacents = []; var _local16:int; while (_local16 < _arg5.length) { switch (_arg5[_local16]){ case Config.DOORTYPE_N: doorN = new Door(new Point(getRandomHorizontal(Config.OBJ_SIZE_UNIT, _local10.x), rectangle.y), this, Config.DOORTYPE_N, _arg4.door); adjacents.push(_arg1.add(new Point(0, -1))); break; case Config.DOORTYPE_E: doorE = new Door(new Point(rectangle.right, getRandomVertical(Config.OBJ_SIZE_UNIT, _local10.y)), this, Config.DOORTYPE_E, _arg4.door); adjacents.push(_arg1.add(new Point(1, 0))); break; case Config.DOORTYPE_S: doorS = new Door(new Point(getRandomHorizontal(Config.OBJ_SIZE_UNIT, _local10.x), rectangle.bottom), this, Config.DOORTYPE_S, _arg4.door); adjacents.push(_arg1.add(new Point(0, 1))); break; case Config.DOORTYPE_W: doorW = new Door(new Point(rectangle.x, getRandomVertical(Config.OBJ_SIZE_UNIT, _local10.y)), this, Config.DOORTYPE_W, _arg4.door); adjacents.push(_arg1.add(new Point(-1, 0))); break; }; _local16++; }; AssetManager.instance.deleteBitmapAsset(_arg4.floor); AssetManager.instance.deleteBitmapAsset(_arg4.wall); pickupList = []; infoList = []; enemyList = []; var _local17:int = CustomMath.rangedRandom(0, (_arg7.length - 1)); var _local18:int; while (_local18 < _arg6[_local17].length) { _local36 = 0; while (_local36 < int(_arg6[_local17][_local18])) { _local37 = (rectangle.x + CustomMath.rangedRandom(32, (rectangle.width - 32))); _local38 = (rectangle.y + CustomMath.rangedRandom(32, (rectangle.height - 32))); _local39 = new Point(_local37, _local38); _local40 = new PlayObjectData(((_local18 * _arg6.length) + _local36), _arg7[_local17][_local18], _local39); enemyList.push(_local40); _local41 = EnemyList.instance.getEnemy(_local40.type, _local40.id, _local40.pos); _local41.loadAsset(); _local36++; }; _local18++; }; } private function getRandomVertical(_arg1:int, _arg2:int):int{ return ((CustomMath.rangedRandom(_arg1, (rectangle.height - _arg1)) + _arg2)); } private function getRandomHorizontal(_arg1:int, _arg2:int):int{ return ((CustomMath.rangedRandom(_arg1, (rectangle.width - _arg1)) + _arg2)); } } }//package game.levels
Section 280
//ContextMenuManager (game.managers.ContextMenuManager) package game.managers { import engine.managers.*; import flash.net.*; import flash.events.*; import flash.ui.*; import game.*; import flash.errors.*; public class ContextMenuManager { private var playSFXItem:ContextMenuItem; private var muteMusicItem:ContextMenuItem; private var playMusicItem:ContextMenuItem; private var contextMenu:ContextMenu; private var isSFXMute:Boolean;// = false private var playMoreGames:ContextMenuItem; private var isMusicMute:Boolean;// = false private var muteSFXItem:ContextMenuItem; private static var _instance:ContextMenuManager; private static var allow:Boolean = false; public function ContextMenuManager(){ if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } private function onSelectPlaySFX(_arg1:ContextMenuEvent):void{ isSFXMute = false; SoundManager.instance.SFXMute = isSFXMute; build(); } private function onSelectMuteMusic(_arg1:ContextMenuEvent):void{ isMusicMute = true; SoundManager.instance.BGMMute = isMusicMute; build(); } private function onSelectMuteSFX(_arg1:ContextMenuEvent):void{ isSFXMute = true; SoundManager.instance.SFXMute = isSFXMute; build(); } private function setup():void{ contextMenu = new ContextMenu(); contextMenu.hideBuiltInItems(); muteSFXItem = new ContextMenuItem(Config.TEXT_CONTEXTMENU_MUTESFX); muteMusicItem = new ContextMenuItem(Config.TEXT_CONTEXTMENU_MUTEMUSIC); playSFXItem = new ContextMenuItem(Config.TEXT_CONTEXTMENU_PLAYSFX); playMusicItem = new ContextMenuItem(Config.TEXT_CONTEXTMENU_PLAYMUSIC); playMoreGames = new ContextMenuItem(Config.TEXT_CONTEXTMENU_PLAYMOREGAMES, true); muteSFXItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onSelectMuteSFX); muteMusicItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onSelectMuteMusic); playSFXItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onSelectPlaySFX); playMusicItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onSelectPlayMusic); playMoreGames.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onSelectPlayMore); } private function onSelectPlayMore(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } public function get contextmenu():ContextMenu{ setup(); build(); return (contextMenu); } private function onSelectPlayMusic(_arg1:ContextMenuEvent):void{ isMusicMute = false; SoundManager.instance.BGMMute = isMusicMute; build(); } private function build():void{ contextMenu.customItems = []; if (isSFXMute){ contextMenu.customItems.push(playSFXItem); } else { contextMenu.customItems.push(muteSFXItem); }; if (isMusicMute){ contextMenu.customItems.push(playMusicItem); } else { contextMenu.customItems.push(muteMusicItem); }; contextMenu.customItems.push(playMoreGames); } public static function get instance():ContextMenuManager{ if (!_instance){ allow = true; _instance = new (ContextMenuManager); allow = false; }; return (_instance); } } }//package game.managers
Section 281
//CursorManager (game.managers.CursorManager) package game.managers { import flash.geom.*; import engine.blit.*; import flash.ui.*; import flash.errors.*; public class CursorManager { public var loc:Point; public var target:Point; public var status:String; private var layer:Layer; private var isSystemCursorHidden:Boolean;// = false private static var _instance:CursorManager; private static var allow:Boolean = false; public function CursorManager(){ target = new Point(); loc = new Point(); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function cleanup():void{ } public function update():void{ target = Kamera.instance.frame.topLeft.add(new Point(Main.stage.mouseX, Main.stage.mouseY)); loc = new Point(Main.stage.mouseX, Main.stage.mouseY); } public function hide():void{ isSystemCursorHidden = true; Mouse.hide(); } public function show():void{ isSystemCursorHidden = false; Mouse.show(); } public static function get instance():CursorManager{ if (!_instance){ allow = true; _instance = new (CursorManager); allow = false; }; return (_instance); } } }//package game.managers
Section 282
//LevelManager (game.managers.LevelManager) package game.managers { import game.levels.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import engine.blit.*; import engine.blit.entities.*; import game.*; import nl.demonsters.debugger.*; import flash.errors.*; public class LevelManager { private var levelList:Array; private var currentLevelId:String; public var levelRect:Rectangle; private var currentLevel:Level; private var levelCleared:Boolean; private var render:Render; private var collisionBitmapObject:BitmapObject; private var floorLayer:Layer; public var startingPoint:Point; private var floorBitmapObject:BitmapObject; private var collisionLayer:Layer; public static const COLLISION:String = "collision"; public static const OBJECT:String = "object"; private static var _instance:LevelManager; private static var allow:Boolean = false; public function LevelManager(){ levelList = []; super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function openRoom(_arg1:Point, _arg2:String):void{ var _local4:Point; PlayObjectManager.instance.cleanup(); var _local3:Room = currentLevel.getRoom(_arg1.x, _arg1.y); if (_local3 == null){ throw (new IllegalOperationError((((("ROOM (" + _arg1.x) + ", ") + _arg1.y) + ") == NULL!"))); }; currentLevel.currentRoom = _local3; currentLevel.currentRoom.isVisited = true; setupRoom(); switch (_arg2){ case Config.DOORTYPE_N: _local4 = _local3.doorS.position.add(new Point(0, -(Config.OBJ_SIZE_UNIT))); break; case Config.DOORTYPE_S: _local4 = _local3.doorN.position.add(new Point(0, Config.OBJ_SIZE_UNIT)); break; case Config.DOORTYPE_E: _local4 = _local3.doorW.position.add(new Point(Config.OBJ_SIZE_UNIT, 0)); break; case Config.DOORTYPE_W: _local4 = _local3.doorE.position.add(new Point(-(Config.OBJ_SIZE_UNIT), 0)); break; }; PlayObjectManager.instance.avatarPosition.x = _local4.x; PlayObjectManager.instance.avatarPosition.y = _local4.y; render.cameraBorders = levelRect; } public function setupLevel(_arg1:Render, _arg2:Layer, _arg3:Layer):void{ levelCleared = false; currentLevel = levelList[currentLevelId]; currentLevel.generateLevel(); this.render = _arg1; this.collisionLayer = _arg3; this.floorLayer = _arg2; setupRoom(); startingPoint = currentLevel.startingPoint; PlayObjectManager.instance.setupAvatar(startingPoint); _arg1.cameraTarget = startingPoint; _arg1.cameraBorders = levelRect; } public function isRoomCleared():Boolean{ if (((!((currentLevel == null))) && (!((currentLevel.currentRoom == null))))){ return (currentLevel.currentRoom.isCleared); }; return (false); } public function isLevelCleared():Boolean{ return (levelCleared); } public function get startingRoom():Room{ return (currentLevel.currentRoom); } public function saveLevelProgress():void{ var _local1 = Profile.instance.levelCounts; var _local2 = currentLevelId; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; } public function modifyCollision(_arg1:Rectangle, _arg2:int):void{ collisionBitmapObject.bitmapdata.fillRect(_arg1, _arg2); } public function get currentRoomItems():Array{ return (currentLevel.currentRoom.pickupList); } public function openLevel(_arg1:String):void{ currentLevelId = _arg1; ScreenManager.instance.showScreen(Config.SCREEN_PLAY, Config.TRANS_USER2PLAY); } public function get levelRooms():Array{ return (currentLevel.rooms); } public function addLevel(_arg1:String, _arg2:Level):void{ levelList[_arg1] = _arg2; } public function cleanup():void{ if (collisionLayer.numObjects > 0){ collisionLayer.removeObject(collisionBitmapObject); }; if (floorLayer.numObjects > 0){ floorLayer.removeObject(floorBitmapObject); }; collisionBitmapObject = null; floorBitmapObject = null; currentLevel.currentRoom = null; currentLevel.cleanup(); } public function getCollisionPixel(_arg1:Point):uint{ return (collisionBitmapObject.bitmapdata.getPixel(_arg1.x, _arg1.y)); } public function removeEnemyFromRoomList(_arg1:int):void{ var _local3:PlayObjectData; var _local2:int; while (_local2 < currentLevel.currentRoom.enemyList.length) { _local3 = currentLevel.currentRoom.enemyList[_local2]; if (_local3.id == _arg1){ currentLevel.currentRoom.enemyList.splice(_local2, 1); break; }; _local2++; }; } public function get levelTime():int{ return (currentLevel.levelTime); } public function modifyFloor(_arg1:IRenderer):void{ if (getCollisionPixel(_arg1.getPoint().add(Kamera.instance.frame.topLeft.clone())) != 0){ currentLevel.currentRoom.floorTemplate.copyPixels(_arg1.getBitmapData(), _arg1.getRect(), _arg1.getPoint().add(Kamera.instance.frame.topLeft.clone())); }; } public function clearRoom():void{ if (((!((currentLevel == null))) && (!((currentLevel.currentRoom == null))))){ currentLevel.currentRoom.isCleared = true; if (((currentLevel.hasAllRoomsCleared()) && (!(levelCleared)))){ levelCleared = true; }; }; } public function get currentLevelScavenge():Array{ return (currentLevel.itemScavenge); } private function setupRoom():void{ var _local2:int; var _local3:PlayObjectData; var _local4:Enemy; var _local5:int; var _local6:PlayObjectData; var _local7:int; var _local8:Info; var _local1:Room = currentLevel.currentRoom; if (collisionLayer.numObjects > 0){ collisionLayer.removeObject(collisionBitmapObject); }; if (floorLayer.numObjects > 0){ floorLayer.removeObject(floorBitmapObject); }; collisionBitmapObject = new BitmapObject(_local1.collisionTemplate); floorBitmapObject = new BitmapObject(_local1.floorTemplate); collisionLayer.addObject(collisionBitmapObject); floorLayer.addObject(floorBitmapObject); levelRect = floorBitmapObject.bitmapdata.rect; if (_local1.doorN != null){ PlayObjectManager.instance.addObject(_local1.doorN, true); }; if (_local1.doorS != null){ PlayObjectManager.instance.addObject(_local1.doorS, true); }; if (_local1.doorE != null){ PlayObjectManager.instance.addObject(_local1.doorE, true); }; if (_local1.doorW != null){ PlayObjectManager.instance.addObject(_local1.doorW, true); }; if (!_local1.isCleared){ _local2 = 0; while (_local2 < _local1.enemyList.length) { _local3 = _local1.enemyList[_local2]; _local4 = EnemyList.instance.getEnemy(_local3.type, _local3.id, _local3.pos); if (_local4 != null){ PlayObjectManager.instance.addObject(_local4); } else { throw (new IllegalOperationError("LevelManager: Found null enemy object!!!")); }; _local2++; }; }; if (_local1.pickupList.length > 0){ _local5 = 0; while (_local5 < _local1.pickupList.length) { _local6 = _local1.pickupList[_local5]; PlayObjectManager.instance.addObject(ItemList.instance.getPickup(_local6.type, _local6.id, _local6.pos)); _local5++; }; }; if (_local1.infoList.length > 0){ MonsterDebugger.trace(this, ("infos: " + _local1.infoList.length)); _local7 = 0; while (_local7 < _local1.infoList.length) { _local8 = _local1.infoList[_local7]; MonsterDebugger.trace(this, ((("info: " + _local8) + " > ") + _local8.text())); PlayObjectManager.instance.addObject(_local8, true); _local7++; }; }; } public function removePickupFromRoomList(_arg1:int):void{ var _local3:PlayObjectData; var _local2:int; while (_local2 < currentLevel.currentRoom.pickupList.length) { _local3 = currentLevel.currentRoom.pickupList[_local2]; if (_local3.id == _arg1){ currentLevel.currentRoom.pickupList.splice(_local2, 1); break; }; _local2++; }; } public function get currentRoomPosition():Point{ return ((((!((currentLevel == null))) && (!((currentLevel.currentRoom == null))))) ? currentLevel.currentRoom.position : new Point()); } public static function get instance():LevelManager{ if (!_instance){ allow = true; _instance = new (LevelManager); allow = false; }; return (_instance); } } }//package game.managers
Section 283
//PlayObjectManager (game.managers.PlayObjectManager) package game.managers { import game.levels.*; import flash.geom.*; import engine.managers.*; import game.entities.*; import engine.blit.*; import engine.blit.entities.*; import flash.utils.*; import game.*; import game.entities.items.*; import game.screens.*; import tofu.util.*; import game.entities.projectiles.*; import game.entities.pickups.*; import flash.errors.*; public class PlayObjectManager { private var playScreen:PlayScreen; private var objectLayer:Layer; private var nextDoorPos:Point; private var avatar:Avatar; private var teleportTimer:Timer; private var nextDoorType:String; private var hitDoor:Boolean; private var objectList:Array; private var explosions:Array; private static var _instance:PlayObjectManager; private static var allow:Boolean = false; public function PlayObjectManager(){ objectList = []; explosions = []; playScreen = (ScreenManager.instance.getScreen(Config.SCREEN_PLAY) as PlayScreen); teleportTimer = new Timer(2000, 1); super(); if (!allow){ throw (new IllegalOperationError("Singleton class, cannot be instatiated. Please use the instance property instead")); }; } public function get avatarPoison():Number{ return (avatar.poisonedPercentage); } public function teleport():void{ if (LevelManager.instance.isLevelCleared()){ endGame(true); ScreenManager.instance.showScreen(Config.SCREEN_CLEARED); }; } public function set avatarPosition(_arg1:Point):void{ avatar.position = _arg1; } public function setupAvatar(_arg1:Point):void{ avatar = new Avatar(_arg1); objectLayer.addObject(avatar); } public function update():void{ var _local1:int; var _local2:PlayObject; if (objectList.length > 0){ _local1 = 0; while (_local1 < objectList.length) { _local2 = objectList[_local1]; _local2.update(); _local1++; }; }; avatar.update(); checkCollisions(); } private function checkInfoCollision(_arg1:Array):void{ var _local2:String; var _local3:int; var _local4:Info; if (_arg1.length > 0){ _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1[_local3]; if (avatar.hitTest(_local4)){ _local2 = _local4.text(); break; } else { playScreen.showInfo(false); }; _local3++; }; if (_local2 != ""){ playScreen.showInfo(true, _local2); }; }; } private function checkExplosionCollision(_arg1:Array):void{ var _local2:int; var _local3:ExplosionData; var _local4:int; var _local5:Enemy; var _local6:Number; if (explosions.length > 0){ _local2 = 0; while (_local2 < explosions.length) { _local3 = explosions[_local2]; if (_arg1.length > 0){ _local4 = 0; while (_local4 < _arg1.length) { _local5 = _arg1[_local4]; if (((!((_local5 == null))) && ((Point.distance(_local5.position.clone(), _local3.location) <= _local3.radius)))){ _local6 = CustomMath.rad2deg(Math.atan2((_local5.position.y - _local3.location.y), (_local5.position.x - _local3.location.x))); _local5.applyHit(_local3.damage, _local6); }; _local4++; }; }; _local2++; }; explosions = []; }; } public function get avatarAmmo():Number{ return (avatar.ammoPercentage); } public function addObject(_arg1:PlayObject, _arg2:Boolean=false):void{ objectLayer.addObject(_arg1, _arg2); objectList.push(_arg1); } public function objectCount(_arg1:String=""):int{ var _local3:int; var _local4:PlayObject; var _local2:int = objectList.length; if (_arg1 != ""){ _local2 = 0; _local3 = 0; while (_local3 < objectList.length) { _local4 = objectList[_local3]; if (_local4.toString() == _arg1){ _local2++; }; _local3++; }; }; return (_local2); } public function setupLayer(_arg1:Layer):void{ this.objectLayer = _arg1; objectList = []; } public function get avatarHealth():Number{ return (avatar.healthPercentage); } public function getRandomEnemy():Enemy{ var _local1:PlayObject; var _local2:Array; var _local3:int; if (objectList.length > 0){ _local2 = ArrayTool.shuffle(ArrayTool.copyArray(objectList)); _local3 = 0; while (_local3 < _local2.length) { _local1 = _local2[_local3]; if (_local1.toString() == Config.PLAYOBJ_ENEMY){ return ((_local1 as Enemy)); }; _local3++; }; }; return (null); } public function openDoor():Point{ var _local1:Point; if (((((hitDoor) && (nextDoorPos))) && (nextDoorType))){ LevelManager.instance.openRoom(nextDoorPos, nextDoorType); _local1 = nextDoorPos.clone(); hitDoor = false; nextDoorPos = null; nextDoorType = null; return (_local1); }; return (null); } public function cleanupAvatar():void{ objectLayer.removeObject(avatar); } private function checkDoorCollision(_arg1:Array):void{ var _local2:int; var _local3:Door; var _local4:Point; var _local5:Point; if (_arg1.length > 0){ _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; if (avatar.hitTest(_local3)){ _local4 = _local3.currentRoom.position; _local5 = new Point(); switch (_local3.type){ case Config.DOORTYPE_N: _local5 = _local4.add(new Point(0, -1)); break; case Config.DOORTYPE_S: _local5 = _local4.add(new Point(0, 1)); break; case Config.DOORTYPE_E: _local5 = _local4.add(new Point(1, 0)); break; case Config.DOORTYPE_W: _local5 = _local4.add(new Point(-1, 0)); break; }; hitDoor = true; nextDoorPos = _local5; nextDoorType = _local3.type; _local3.hightlight(); } else { _local3.hightlight(false); }; _local2++; }; }; } public function get avatarPosition():Point{ return (avatar.position); } public function removeObject(_arg1:PlayObject):void{ var _local2:int; if (objectLayer.removeObject(_arg1)){ _local2 = objectList.indexOf(_arg1); objectList.splice(_local2, 1); } else { trace((("!!! Unable to remove object: " + _arg1.toString()) + " from objectLayer !!!")); }; } private function checkCollisions():void{ var _local9:int; var _local10:PlayObject; var _local1:Array = []; var _local2:Array = []; var _local3:Array = []; var _local4:Array = []; var _local5:Array = []; var _local6:Array = []; var _local7:Array = []; var _local8:Array = []; hitDoor = false; playScreen.showInfo(false); if (objectList.length > 0){ _local9 = 0; while (_local9 < objectList.length) { _local10 = objectList[_local9]; switch (_local10.toString()){ case Config.PLAYOBJ_ENEMY: _local1.push(_local10); break; case Config.PLAYOBJ_AVATAR_PROJECTILE: _local2.push(_local10); break; case Config.PLAYOBJ_ENEMY_PROJECTILE: _local3.push(_local10); break; case Config.PLAYOBJ_XPICKUP: _local4.push(_local10); break; case Config.PLAYOBJ_POISON: _local7.push(_local10); break; case Config.PLAYOBJ_DOOR: _local6.push(_local10); break; case Config.PLAYOBJ_INFO: _local8.push(_local10); break; }; _local9++; }; }; checkEnemyCollision(_local1, _local2); checkExplosionCollision(_local1); checkPoisonCollision(_local7); checkEnemyProjectileCollision(_local3); checkXPickupCollision(_local4); checkCPickupCollision(_local5); checkDoorCollision(_local6); checkInfoCollision(_local8); } private function checkCPickupCollision(_arg1:Array):void{ if (_arg1.length > 0){ }; } public function cleanup():void{ var _local2:PlayObject; var _local1:int = (objectList.length - 1); while (_local1 >= 0) { _local2 = objectList[_local1]; removeObject(_local2); _local1--; }; objectList = []; } private function checkEnemyProjectileCollision(_arg1:Array):void{ var _local2:int; var _local3:Projectile; if (_arg1.length > 0){ _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; if (avatar.hitTest(_local3)){ if (((_local3.poisons) && ((avatar.poisonedPercentage == 0)))){ avatar.applyPoison(_local3.damage); }; if (_local3.slows){ avatar.applySlow(); }; avatar.applyHit(_local3.damage); _local3.remove(); }; _local2++; }; }; } public function endGame(_arg1:Boolean=false):void{ if (_arg1){ LevelManager.instance.saveLevelProgress(); Profile.instance.save(); }; ScreenManager.instance.getScreen(Config.SCREEN_PLAY).pause(); cleanup(); cleanupAvatar(); objectLayer.cleanup(); LevelManager.instance.cleanup(); } private function checkPoisonCollision(_arg1:Array):void{ var _local2:int; var _local3:PoisonPool; if (_arg1.length > 0){ _local2 = 0; while (_local2 < _arg1.length) { _local3 = (_arg1[_local2] as PoisonPool); if (((avatar.hitTest(_local3)) && (_local3.active))){ avatar.applyPoison(_local3.damage); }; _local2++; }; }; } private function checkXPickupCollision(_arg1:Array):void{ var _local2:int; var _local3:XPickup; var _local4:WeaponEnergy; var _local5:ArmorEnergy; if (_arg1.length > 0){ _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; if (avatar.hitTest(_local3)){ switch (_local3.item.type){ case Config.ITEMTYPE_WEAPONENERGY: _local4 = (_local3.item as WeaponEnergy); avatar.addWeaponPack(_local4.capacity); break; case Config.ITEMTYPE_ARMORENERGY: _local5 = (_local3.item as ArmorEnergy); avatar.addArmorPack(_local5.capacity); break; }; playScreen.addReport((Config.TEXT_PLAY_FOUND + _local3.item.id)); _local3.remove(); }; _local2++; }; }; } public function applyInputs(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean):void{ if (((_arg1) && (!(_arg2)))){ avatar.moveUp(); } else { if (((!(_arg1)) && (_arg2))){ avatar.moveDown(); } else { if (((!(_arg1)) && (!(_arg2)))){ avatar.stopVertical(); }; }; }; if (((_arg4) && (!(_arg3)))){ avatar.moveRight(); } else { if (((!(_arg4)) && (_arg3))){ avatar.moveLeft(); } else { if (((!(_arg4)) && (!(_arg3)))){ avatar.stopHorizontal(); }; }; }; if (_arg5){ avatar.shoot(); }; } private function checkEnemyCollision(_arg1:Array, _arg2:Array):void{ var _local3:int; var _local4:Enemy; var _local5:int; var _local6:AvatarProjectile; var _local7:int; if (_arg1.length > 0){ _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1[_local3]; if (avatar.hitTest(_local4)){ avatar.applyHit(_local4.damage); }; if (_arg2.length > 0){ _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (_local4.hitTest(_local6)){ _local7 = (_local6.allowCrit) ? (_local6.damage * 5.5) : _local6.damage; if (!_local6.allowPierce){ _local6.remove(); } else { _local6.addPierce(_local4); }; _local4.applyHit(_local7, _local6.angle); }; _local5++; }; }; _local3++; }; } else { if (!LevelManager.instance.isRoomCleared()){ LevelManager.instance.clearRoom(); playScreen.updateMiniMap(); if (LevelManager.instance.isLevelCleared()){ playScreen.showClearedLabel(); }; }; }; } public function addExplosion(_arg1:ExplosionData):void{ SoundManager.instance.playSFX(Config.ASSET_SFXEXPLODE); explosions.push(_arg1); } public static function get instance():PlayObjectManager{ if (!_instance){ allow = true; _instance = new (PlayObjectManager); allow = false; }; return (_instance); } } }//package game.managers
Section 284
//Equip (game.screens.widget.groups.Equip) package game.screens.widget.groups { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.*; import game.screens.widget.*; import game.entities.items.*; import game.screens.widget.itemboxes.*; public class Equip extends Group { private var itemsCol:int; private var inventoryGroup:Sprite; private var pages:int; private var nextButton:BitmapButton; private var itemsRow:int; private var prevButton:BitmapButton; private var armorChipItemBox:EquipDeselect; private var weaponChipItemBox:EquipDeselect; private var wChipLabel:Label; private var pagingGroup:Sprite; private var armorEPackItemBox:EquipDeselect; private var wEPackLabel:Label; private var armorSlot:Sprite; private var pageLabel:Label; private var aChipLabel:Label; private var inventoryItemBoxes:Array; private var equipGroup:Sprite; private var armorLabel:Label; private var weaponEPackItemBox:EquipDeselect; private var aEPackLabel:Label; private var weaponLabel:Label; private var weaponSlot:Sprite; private var pageNumber:int; public function Equip(){ var _local7:int; var _local8:EquipSelect; super(); itemsCol = 5; itemsRow = 5; inventoryGroup = new Sprite(); inventoryGroup.graphics.beginFill(0, 0.4); inventoryGroup.graphics.drawRoundRect(0, 0, 260, 288, 16, 16); inventoryGroup.x = 8; inventoryGroup.y = 8; inventoryItemBoxes = []; var _local1:int; while (_local1 < itemsRow) { _local7 = 0; while (_local7 < itemsCol) { _local8 = new EquipSelect(this); inventoryItemBoxes.push(_local8); _local8.sprite.x = ((_local7 * (_local8.sprite.width + 5)) + 10); _local8.sprite.y = ((_local1 * (_local8.sprite.height + 5)) + 10); inventoryGroup.addChild(_local8.sprite); _local7++; }; _local1++; }; equipGroup = new Sprite(); equipGroup.x = 347; equipGroup.y = 51; weaponSlot = new Sprite(); weaponSlot.graphics.beginFill(0, 0.4); weaponSlot.graphics.drawRoundRect(0, 0, 118, 88, 16, 16); armorSlot = new Sprite(); armorSlot.graphics.beginFill(0, 0.4); armorSlot.graphics.drawRoundRect(0, 0, 118, 88, 16, 16); armorSlot.y = 98; weaponEPackItemBox = new EquipDeselect(this); weaponChipItemBox = new EquipDeselect(this); armorEPackItemBox = new EquipDeselect(this); armorChipItemBox = new EquipDeselect(this); weaponEPackItemBox.sprite.x = 10; weaponEPackItemBox.sprite.y = 34; weaponSlot.addChild(weaponEPackItemBox.sprite); weaponChipItemBox.sprite.x = 64; weaponChipItemBox.sprite.y = 34; weaponSlot.addChild(weaponChipItemBox.sprite); armorEPackItemBox.sprite.x = 10; armorEPackItemBox.sprite.y = 34; armorSlot.addChild(armorEPackItemBox.sprite); armorChipItemBox.sprite.x = 64; armorChipItemBox.sprite.y = 34; armorSlot.addChild(armorChipItemBox.sprite); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); weaponLabel = new Label(Config.TEXT_EQUIP_WEAPON, _local2); armorLabel = new Label(Config.TEXT_EQUIP_ARMOR, _local2); wEPackLabel = new Label(Config.TEXT_EQUIP_ENERGYPACK, _local3); wChipLabel = new Label(Config.TEXT_EQUIP_CHIP, _local3); aEPackLabel = new Label(Config.TEXT_EQUIP_ENERGYPACK, _local3); aChipLabel = new Label(Config.TEXT_EQUIP_CHIP, _local3); weaponLabel.element.x = 8; weaponLabel.element.y = 7; wEPackLabel.element.x = 8; wEPackLabel.element.y = 22; wEPackLabel.element.alpha = 0.6; wChipLabel.element.x = 62; wChipLabel.element.y = 22; wChipLabel.element.alpha = 0.6; weaponSlot.addChild(weaponLabel.element); weaponSlot.addChild(wEPackLabel.element); weaponSlot.addChild(wChipLabel.element); armorLabel.element.x = 8; armorLabel.element.y = 7; aEPackLabel.element.x = 8; aEPackLabel.element.y = 22; aEPackLabel.element.alpha = 0.6; aChipLabel.element.x = 62; aChipLabel.element.y = 22; aChipLabel.element.alpha = 0.6; armorSlot.addChild(armorLabel.element); armorSlot.addChild(aEPackLabel.element); armorSlot.addChild(aChipLabel.element); equipGroup.addChild(weaponSlot); equipGroup.addChild(armorSlot); AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); var _local4:BitmapData = new BitmapData(15, 55); _local4.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(15, 0, 15, 55), new Point()); var _local5:BitmapData = new BitmapData(15, 55); _local5.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(0, 0, 15, 55), new Point()); AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); var _local6:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); pageNumber = 1; pages = 1; pageLabel = new Label((((Config.TEXT_SHOP_PAGE + pageNumber) + "/") + pages), _local6); nextButton = new BitmapButton(_local4, 15, 11); prevButton = new BitmapButton(_local5, 15, 11); pageLabel.element.width = 120; pageLabel.element.x = 15; nextButton.x = 135; pagingGroup = new Sprite(); pagingGroup.addChild(pageLabel.element); pagingGroup.addChild(nextButton); pagingGroup.addChild(prevButton); pagingGroup.x = ((inventoryGroup.width - pagingGroup.width) * 0.5); pagingGroup.y = ((inventoryGroup.height - pagingGroup.height) - 14); inventoryGroup.addChild(pagingGroup); container.addChild(inventoryGroup); container.addChild(equipGroup); buildDesc(); nextButton.click = onClickNext; prevButton.click = onClickPrev; } private function onClickPrev():void{ pageNumber--; update(); } override public function update():void{ var _local7:EquipSelect; Profile.instance.inventory.sort(); pages = Math.ceil((Profile.instance.inventory.length / inventoryItemBoxes.length)); pageLabel.update((((Config.TEXT_SHOP_PAGE + pageNumber) + "/") + pages)); var _local1:int = ((pageNumber - 1) * inventoryItemBoxes.length); var _local2:int; while (_local2 < inventoryItemBoxes.length) { _local7 = inventoryItemBoxes[_local2]; _local7.cleanup(); if (Profile.instance.inventory[(_local2 + _local1)] != null){ _local7.insert(ItemList.instance.getItem(Profile.instance.inventory[(_local2 + _local1)])); }; _local2++; }; nextButton.unlock(); prevButton.unlock(); if ((((pageNumber == pages)) || ((pages == 0)))){ nextButton.lock(); }; if (pageNumber == 1){ prevButton.lock(); }; weaponEPackItemBox.cleanup(); weaponChipItemBox.cleanup(); armorEPackItemBox.cleanup(); armorChipItemBox.cleanup(); var _local3:WeaponEnergy = (ItemList.instance.getItem(Profile.instance.weaponEnergy) as WeaponEnergy); var _local4:Chip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); var _local5:ArmorEnergy = (ItemList.instance.getItem(Profile.instance.armorEnergy) as ArmorEnergy); var _local6:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); if (_local3 != null){ weaponEPackItemBox.insert(_local3); }; if (_local4 != null){ weaponChipItemBox.insert(_local4); }; if (_local5 != null){ armorEPackItemBox.insert(_local5); }; if (_local6 != null){ armorChipItemBox.insert(_local6); }; } private function onClickNext():void{ pageNumber++; update(); } } }//package game.screens.widget.groups
Section 285
//Map (game.screens.widget.groups.Map) package game.screens.widget.groups { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import game.screens.widget.*; import gs.*; import tofu.util.*; public class Map extends Group { private var occupiedGrid:Array; private var nextButton:BitmapButton; private var prevButton:BitmapButton; private var warningLabel:Label; private var gridX:int;// = 31 private var gridY:int;// = 14 private var blueprint:Bitmap; private var map:Sprite; private var topGroup:Sprite; private var warning:Sprite; private var mask:Sprite; private var movingMap:Boolean;// = false private var location:Label; private var group:Sprite; public function Map(){ AssetManager.instance.loadBitmapAsset(Config.ASSET_MAP01); blueprint = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_MAP01).bitmapData); AssetManager.instance.deleteBitmapAsset(Config.ASSET_MAP01); mask = new Sprite(); mask.graphics.beginFill(0, 1); mask.graphics.drawRoundRect(0, 0, 528, 0x0100, 16, 16); blueprint.mask = mask; blueprint.alpha = 0.6; group = new Sprite(); group.graphics.beginFill(0, 0.4); group.graphics.drawRoundRect(0, 0, 528, 0x0100, 16, 16); group.x = 8; group.y = 40; map = new Sprite(); group.addChild(blueprint); group.addChild(mask); group.addChild(map); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAlign(LabelStyle.ALIGN_CENTER); location = new Label(Config.TEXT_MAP_SECTOR, _local1); location.element.alpha = 0.8; location.element.height = 16; AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); var _local2:BitmapData = new BitmapData(15, 55); _local2.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(15, 0, 15, 55), new Point()); var _local3:BitmapData = new BitmapData(15, 55); _local3.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(0, 0, 15, 55), new Point()); AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); nextButton = new BitmapButton(_local2, 15, 11); prevButton = new BitmapButton(_local3, 15, 11); nextButton.lock(); prevButton.lock(); topGroup = new Sprite(); topGroup.addChild(location.element); topGroup.x = (group.x + ((mask.width - topGroup.width) * 0.5)); topGroup.y = 16; warning = new Sprite(); warning.graphics.beginFill(0, 0.6); warning.graphics.drawRoundRect(0, 0, 528, 0x0100, 16, 16); warning.x = 8; warning.y = 40; var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4); warningLabel = new Label(Config.TEXT_MAP_UNEQUIPPED, _local4); warningLabel.element.width = 400; warningLabel.element.x = ((warning.width - warningLabel.element.width) * 0.5); warningLabel.element.y = ((warning.height - warningLabel.element.height) * 0.5); warning.addChild(warningLabel.element); container.addChild(group); container.addChild(topGroup); buildDesc(); } override public function update():void{ super.update(); if ((((((Profile.instance.weaponEnergy == "")) || ((Profile.instance.weaponChip == "")))) || ((Profile.instance.armorEnergy == "")))){ container.addChild(warning); map.mouseChildren = false; } else { if (container.contains(warning)){ container.removeChild(warning); }; map.mouseChildren = true; if (movingMap){ movingMap = false; TweenLite.to(blueprint, 3, {x:(-528 * (Profile.instance.campaign - 1)), onComplete:prepareMissions}); }; }; } private function clear():void{ var _local1:int = (map.numChildren - 1); while (_local1 >= 0) { map.removeChildAt(_local1); _local1--; }; } private function prepareMissions():void{ var _local1:Array; var _local2:int; var _local3:int; var _local4:int; var _local5:LevelButton; var _local6:Point; if (!Profile.instance.isFinished){ occupiedGrid = []; _local1 = listDifficulties(); _local2 = 0; _local3 = 0; while (_local3 < _local1.length) { if (_local1[_local3] < 6){ _local2 = 3; } else { _local2 = 1; }; _local4 = 0; while (_local4 < CustomMath.rangedRandom(1, _local2)) { _local5 = new LevelButton(Profile.instance.campaign, _local1[_local3], this); _local6 = getGrid(); _local5.sprite.x = ((_local6.x * 16) + 16); _local5.sprite.y = ((_local6.y * 16) + 16); map.addChild(_local5.sprite); _local4++; }; _local3++; }; }; } override public function init():void{ clear(); if ((((((((((Profile.instance.levelCounts[Config.LEVEL_1F] >= Config.REQ_LEVEL_1[5])) && ((Profile.instance.campaign == 1)))) || ((((Profile.instance.levelCounts[Config.LEVEL_2F] >= Config.REQ_LEVEL_2[5])) && ((Profile.instance.campaign == 2)))))) || ((((Profile.instance.levelCounts[Config.LEVEL_3F] >= Config.REQ_LEVEL_3[5])) && ((Profile.instance.campaign == 3)))))) || ((((Profile.instance.levelCounts[Config.LEVEL_4F] >= Config.REQ_LEVEL_4[5])) && ((Profile.instance.campaign == 4)))))){ movingMap = true; Profile.instance.campaign++; }; location.update(((Config.TEXT_MAP_SECTOR + " ") + Profile.instance.campaign)); if (!movingMap){ blueprint.x = (-528 * (Profile.instance.campaign - 1)); prepareMissions(); }; } private function listDifficulties():Array{ var _local1:Array = []; var _local2:Array = []; switch (Profile.instance.campaign){ case 1: if (Profile.instance.levelCounts[Config.LEVEL_1E] >= Config.REQ_LEVEL_1[4]){ _local2.push(6); }; if (Profile.instance.levelCounts[Config.LEVEL_1D] >= Config.REQ_LEVEL_1[3]){ _local2.push(5); }; if (Profile.instance.levelCounts[Config.LEVEL_1C] >= Config.REQ_LEVEL_1[2]){ _local2.push(4); }; if (Profile.instance.levelCounts[Config.LEVEL_1B] >= Config.REQ_LEVEL_1[1]){ _local2.push(3); }; if (Profile.instance.levelCounts[Config.LEVEL_1A] >= Config.REQ_LEVEL_1[0]){ _local2.push(2); }; _local2.push(1); break; case 2: if (Profile.instance.levelCounts[Config.LEVEL_2E] >= Config.REQ_LEVEL_2[4]){ _local2.push(6); }; if (Profile.instance.levelCounts[Config.LEVEL_2D] >= Config.REQ_LEVEL_2[3]){ _local2.push(5); }; if (Profile.instance.levelCounts[Config.LEVEL_2C] >= Config.REQ_LEVEL_2[2]){ _local2.push(4); }; if (Profile.instance.levelCounts[Config.LEVEL_2B] >= Config.REQ_LEVEL_2[1]){ _local2.push(3); }; if (Profile.instance.levelCounts[Config.LEVEL_2A] >= Config.REQ_LEVEL_2[0]){ _local2.push(2); }; _local2.push(1); break; case 3: if (Profile.instance.levelCounts[Config.LEVEL_3E] >= Config.REQ_LEVEL_3[4]){ _local2.push(6); }; if (Profile.instance.levelCounts[Config.LEVEL_3D] >= Config.REQ_LEVEL_3[3]){ _local2.push(5); }; if (Profile.instance.levelCounts[Config.LEVEL_3C] >= Config.REQ_LEVEL_3[2]){ _local2.push(4); }; if (Profile.instance.levelCounts[Config.LEVEL_3B] >= Config.REQ_LEVEL_3[1]){ _local2.push(3); }; if (Profile.instance.levelCounts[Config.LEVEL_3A] >= Config.REQ_LEVEL_3[0]){ _local2.push(2); }; _local2.push(1); break; case 4: if (Profile.instance.levelCounts[Config.LEVEL_4E] >= Config.REQ_LEVEL_4[4]){ _local2.push(6); }; if (Profile.instance.levelCounts[Config.LEVEL_4D] >= Config.REQ_LEVEL_4[3]){ _local2.push(5); }; if (Profile.instance.levelCounts[Config.LEVEL_4C] >= Config.REQ_LEVEL_4[2]){ _local2.push(4); }; if (Profile.instance.levelCounts[Config.LEVEL_4B] >= Config.REQ_LEVEL_4[1]){ _local2.push(3); }; if (Profile.instance.levelCounts[Config.LEVEL_4A] >= Config.REQ_LEVEL_4[0]){ _local2.push(2); }; _local2.push(1); break; case 5: if (Profile.instance.levelCounts[Config.LEVEL_5E] >= Config.REQ_LEVEL_5[4]){ _local2.push(6); }; if (Profile.instance.levelCounts[Config.LEVEL_5D] >= Config.REQ_LEVEL_5[3]){ _local2.push(5); }; if (Profile.instance.levelCounts[Config.LEVEL_5C] >= Config.REQ_LEVEL_5[2]){ _local2.push(4); }; if (Profile.instance.levelCounts[Config.LEVEL_5B] >= Config.REQ_LEVEL_5[1]){ _local2.push(3); }; if (Profile.instance.levelCounts[Config.LEVEL_5A] >= Config.REQ_LEVEL_5[0]){ _local2.push(2); }; _local2.push(1); break; }; return (_local2); } private function getGrid():Point{ var _local1:int = CustomMath.rangedRandom(0, (gridX - 1)); var _local2:int = CustomMath.rangedRandom(0, (gridY - 1)); var _local3:Point = new Point(_local1, _local2); if (occupiedGrid.indexOf(_local3) > -1){ return (getGrid()); }; return (_local3); } } }//package game.screens.widget.groups
Section 286
//Shop (game.screens.widget.groups.Shop) package game.screens.widget.groups { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.*; import game.screens.widget.*; import game.screens.widget.itemboxes.*; public class Shop extends Group { private var inventoryNextButton:BitmapButton; private var inventoryGroup:Sprite; private var merchantGroup:Sprite; private var inventoryTab:Sprite; private var credits:Label; private var merchantPageNumber:int; private var itemsCol:int; private var inventoryPageLabel:Label; private var merchantPrevButton:BitmapButton; private var merchantTab:Sprite; private var allMerchantItems:Array; private var merchantItemList:Array; private var merchantPageLabel:Label; private var inventoryPrevButton:BitmapButton; private var inventoryPageNumber:int; public var tempItemList:Array; private var merchant:Label; private var inventoryPages:int; private var inventoryPagingGroup:Sprite; private var merchantPages:int; private var inventory:Label; private var inventoryItemBoxes:Array; private var merchantPagingGroup:Sprite; private var merchantNextButton:BitmapButton; private var itemsRow:int; private var merchantItemBoxes:Array; public function Shop(){ var _local9:int; var _local10:ShopBuy; var _local11:int; var _local12:ShopSell; super(); merchantItemList = [[Config.ITEM_ARMORENERGYPACK50, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I], [Config.ITEM_ARMORENERGYPACK50, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_ARMORENERGYPACK100, Config.ITEM_WEAPONENERGYPACK100, Config.ITEM_ARMORCHIP_X1, Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_I], [Config.ITEM_ARMORENERGYPACK50, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_ARMORENERGYPACK100, Config.ITEM_WEAPONENERGYPACK100, Config.ITEM_ARMORENERGYPACK250, Config.ITEM_WEAPONENERGYPACK250, Config.ITEM_ARMORCHIP_X1, Config.ITEM_ARMORCHIP_X2, Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V, Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV, Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II, Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_SCATTERNEUTRON_I, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II], [Config.ITEM_ARMORENERGYPACK50, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_ARMORENERGYPACK100, Config.ITEM_WEAPONENERGYPACK100, Config.ITEM_ARMORENERGYPACK250, Config.ITEM_WEAPONENERGYPACK250, Config.ITEM_ARMORENERGYPACK500, Config.ITEM_WEAPONENERGYPACK500, Config.ITEM_ARMORCHIP_X1, Config.ITEM_ARMORCHIP_X2, Config.ITEM_ARMORCHIP_X3, Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V, Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV, Config.ITEM_WEAPONCHIP_NEUTRON_V, Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II, Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V, Config.ITEM_WEAPONCHIP_TACHYON_I, Config.ITEM_WEAPONCHIP_TACHYON_II, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_SCATTERNEUTRON_I, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_III], [Config.ITEM_ARMORENERGYPACK50, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_ARMORENERGYPACK100, Config.ITEM_WEAPONENERGYPACK100, Config.ITEM_ARMORENERGYPACK250, Config.ITEM_WEAPONENERGYPACK250, Config.ITEM_ARMORENERGYPACK500, Config.ITEM_WEAPONENERGYPACK500, Config.ITEM_ARMORENERGYPACK1000, Config.ITEM_WEAPONENERGYPACK1000, Config.ITEM_ARMORCHIP_X1, Config.ITEM_ARMORCHIP_X2, Config.ITEM_ARMORCHIP_X3, Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V, Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV, Config.ITEM_WEAPONCHIP_NEUTRON_V, Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II, Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V, Config.ITEM_WEAPONCHIP_TACHYON_I, Config.ITEM_WEAPONCHIP_TACHYON_II, Config.ITEM_WEAPONCHIP_TACHYON_III, Config.ITEM_WEAPONCHIP_TACHYON_IV, Config.ITEM_WEAPONCHIP_TACHYON_V, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_SCATTERNEUTRON_I, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_III]]; allMerchantItems = [Config.ITEM_WEAPONCHIP_PULSE_I, Config.ITEM_WEAPONCHIP_PULSE_II, Config.ITEM_WEAPONCHIP_PULSE_III, Config.ITEM_WEAPONCHIP_PULSE_IV, Config.ITEM_WEAPONCHIP_PULSE_V, Config.ITEM_WEAPONCHIP_PHOTON_I, Config.ITEM_WEAPONCHIP_PHOTON_II, Config.ITEM_WEAPONCHIP_PHOTON_III, Config.ITEM_WEAPONCHIP_PHOTON_IV, Config.ITEM_WEAPONCHIP_PHOTON_V, Config.ITEM_WEAPONCHIP_NEUTRON_I, Config.ITEM_WEAPONCHIP_NEUTRON_II, Config.ITEM_WEAPONCHIP_NEUTRON_III, Config.ITEM_WEAPONCHIP_NEUTRON_IV, Config.ITEM_WEAPONCHIP_NEUTRON_V, Config.ITEM_WEAPONCHIP_PLASMA_I, Config.ITEM_WEAPONCHIP_PLASMA_II, Config.ITEM_WEAPONCHIP_PLASMA_III, Config.ITEM_WEAPONCHIP_PLASMA_IV, Config.ITEM_WEAPONCHIP_PLASMA_V, Config.ITEM_WEAPONCHIP_TACHYON_I, Config.ITEM_WEAPONCHIP_TACHYON_II, Config.ITEM_WEAPONCHIP_TACHYON_III, Config.ITEM_WEAPONCHIP_TACHYON_IV, Config.ITEM_WEAPONCHIP_TACHYON_V, Config.ITEM_ARMORENERGYPACK50, Config.ITEM_ARMORENERGYPACK100, Config.ITEM_ARMORENERGYPACK250, Config.ITEM_ARMORENERGYPACK500, Config.ITEM_ARMORENERGYPACK1000, Config.ITEM_WEAPONENERGYPACK50, Config.ITEM_WEAPONENERGYPACK100, Config.ITEM_WEAPONENERGYPACK250, Config.ITEM_WEAPONENERGYPACK500, Config.ITEM_WEAPONENERGYPACK1000, Config.ITEM_ARMORCHIP_X1, Config.ITEM_ARMORCHIP_X2, Config.ITEM_ARMORCHIP_X3, Config.ITEM_MODCHIP_BOLT, Config.ITEM_MODCHIP_SCATTER, Config.ITEM_MODCHIP_STRIKE, Config.ITEM_MODCHIP_RAPID, Config.ITEM_MODCHIP_BOLTPULSE_I, Config.ITEM_MODCHIP_BOLTPULSE_II, Config.ITEM_MODCHIP_SCATTERPULSE_I, Config.ITEM_MODCHIP_SCATTERPULSE_II, Config.ITEM_MODCHIP_FPHOTON_I, Config.ITEM_MODCHIP_FPHOTON_II, Config.ITEM_MODCHIP_FPHOTON_III, Config.ITEM_MODCHIP_SCATTERPHOTON, Config.ITEM_MODCHIP_STRIKEPHOTON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_I, Config.ITEM_MODCHIP_BOLTNEUTRON_II, Config.ITEM_MODCHIP_BOLTNEUTRON_III, Config.ITEM_MODCHIP_SCATTERNEUTRON_I, Config.ITEM_MODCHIP_SCATTERNEUTRON_II, Config.ITEM_MODCHIP_SCATTERNEUTRON_III, Config.ITEM_MODCHIP_RPLASMA_I, Config.ITEM_MODCHIP_RPLASMA_II, Config.ITEM_MODCHIP_RPLASMA_III, Config.ITEM_MODCHIP_SCATTERPLASMA_I, Config.ITEM_MODCHIP_SCATTERPLASMA_II, Config.ITEM_MODCHIP_SCATTERPLASMA_III]; merchantPageNumber = 1; merchantPages = 1; inventoryPageNumber = 1; inventoryPages = 1; itemsCol = 5; itemsRow = 4; inventoryGroup = new Sprite(); inventoryGroup.graphics.beginFill(0, 0.4); inventoryGroup.graphics.drawRoundRect(0, 0, 260, 245, 16, 16); inventoryGroup.x = 8; inventoryGroup.y = 50; merchantGroup = new Sprite(); merchantGroup.graphics.beginFill(0, 0.4); merchantGroup.graphics.drawRoundRect(0, 0, 260, 245, 16, 16); merchantGroup.x = 276; merchantGroup.y = 50; merchantItemBoxes = []; var _local1:int; while (_local1 < itemsRow) { _local9 = 0; while (_local9 < itemsCol) { _local10 = new ShopBuy(this); merchantItemBoxes.push(_local10); _local10.sprite.x = ((_local9 * (_local10.sprite.width + 5)) + 10); _local10.sprite.y = ((_local1 * (_local10.sprite.height + 5)) + 10); merchantGroup.addChild(_local10.sprite); _local9++; }; _local1++; }; inventoryItemBoxes = []; var _local2:int; while (_local2 < itemsRow) { _local11 = 0; while (_local11 < itemsCol) { _local12 = new ShopSell(this); inventoryItemBoxes.push(_local12); _local12.sprite.x = ((_local11 * (_local12.sprite.width + 5)) + 10); _local12.sprite.y = ((_local2 * (_local12.sprite.height + 5)) + 10); inventoryGroup.addChild(_local12.sprite); _local11++; }; _local2++; }; merchantTab = new Sprite(); merchantTab.graphics.beginFill(0, 0.4); merchantTab.graphics.lineTo(54, 0); merchantTab.graphics.lineTo(70, 10); merchantTab.graphics.lineTo(0, 10); merchantTab.graphics.lineTo(0, 0); merchantTab.x = 288; merchantTab.y = 40; inventoryTab = new Sprite(); inventoryTab.graphics.beginFill(0, 0.4); inventoryTab.graphics.moveTo(0, 10); inventoryTab.graphics.lineTo(16, 0); inventoryTab.graphics.lineTo(70, 0); inventoryTab.graphics.lineTo(70, 10); inventoryTab.graphics.lineTo(0, 10); inventoryTab.x = 187; inventoryTab.y = 40; var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local5:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_RIGHT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_RIGHT); inventory = new Label(Config.TEXT_SHOP_INVENTORY, _local5); inventory.element.width = 64; inventory.element.x = 190; inventory.element.y = 39; inventory.element.alpha = 0.4; merchant = new Label(Config.TEXT_SHOP_MERCHANT, _local4); merchant.element.width = 64; merchant.element.x = 292; merchant.element.y = 39; merchant.element.alpha = 0.4; credits = new Label(Config.TEXT_SHOP_CREDITS, _local3); credits.element.width = 0x0200; credits.element.x = 16; credits.element.y = 16; credits.element.alpha = 0.8; AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); var _local6:BitmapData = new BitmapData(15, 55); _local6.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(15, 0, 15, 55), new Point()); var _local7:BitmapData = new BitmapData(15, 55); _local7.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CUSTOMBUTTONS).bitmapData, new Rectangle(0, 0, 15, 55), new Point()); AssetManager.instance.loadBitmapAsset(Config.ASSET_CUSTOMBUTTONS); var _local8:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); merchantPageLabel = new Label((((Config.TEXT_SHOP_PAGE + merchantPageNumber) + "/") + merchantPages), _local8); merchantNextButton = new BitmapButton(_local6, 15, 11); merchantPrevButton = new BitmapButton(_local7, 15, 11); merchantPageLabel.element.width = 120; merchantPageLabel.element.x = 15; merchantNextButton.x = 135; merchantPagingGroup = new Sprite(); merchantPagingGroup.addChild(merchantPageLabel.element); merchantPagingGroup.addChild(merchantNextButton); merchantPagingGroup.addChild(merchantPrevButton); merchantPagingGroup.x = ((merchantGroup.width - merchantPagingGroup.width) * 0.5); merchantPagingGroup.y = ((merchantGroup.height - merchantPagingGroup.height) - 14); merchantGroup.addChild(merchantPagingGroup); inventoryPageLabel = new Label((((Config.TEXT_SHOP_PAGE + inventoryPageNumber) + "/") + inventoryPages), _local8); inventoryNextButton = new BitmapButton(_local6, 15, 11); inventoryPrevButton = new BitmapButton(_local7, 15, 11); inventoryPageLabel.element.width = 120; inventoryPageLabel.element.x = 15; inventoryNextButton.x = 135; inventoryPagingGroup = new Sprite(); inventoryPagingGroup.addChild(inventoryPageLabel.element); inventoryPagingGroup.addChild(inventoryNextButton); inventoryPagingGroup.addChild(inventoryPrevButton); inventoryPagingGroup.x = ((inventoryGroup.width - inventoryPagingGroup.width) * 0.5); inventoryPagingGroup.y = ((inventoryGroup.height - inventoryPagingGroup.height) - 14); inventoryGroup.addChild(inventoryPagingGroup); container.addChild(inventoryGroup); container.addChild(merchantGroup); container.addChild(inventoryTab); container.addChild(merchantTab); container.addChild(inventory.element); container.addChild(merchant.element); container.addChild(credits.element); buildDesc(); merchantNextButton.click = onClickNextMerchant; merchantPrevButton.click = onClickPrevMerchant; inventoryNextButton.click = onClickNextInventory; inventoryPrevButton.click = onClickPrevInventory; } private function onClickPrevInventory():void{ inventoryPageNumber--; update(); } private function onClickPrevMerchant():void{ merchantPageNumber--; update(); } override public function init():void{ tempItemList = []; } override public function update():void{ var _local7:ShopBuy; var _local8:ShopSell; Profile.instance.inventory.sort(); credits.update(((Config.TEXT_SHOP_CREDITS + "") + Profile.instance.credits)); var _local1:Array = ((tempItemList.length)>0) ? merchantItemList[(Profile.instance.campaign - 1)].concat(tempItemList) : merchantItemList[(Profile.instance.campaign - 1)]; var _local2:Array = ((tempItemList.length)>0) ? allMerchantItems.concat(tempItemList) : allMerchantItems; merchantPages = Math.ceil((_local2.length / merchantItemBoxes.length)); merchantPageLabel.update((((Config.TEXT_SHOP_PAGE + merchantPageNumber) + "/") + merchantPages)); var _local3:int = ((merchantPageNumber - 1) * merchantItemBoxes.length); var _local4:int; while (_local4 < merchantItemBoxes.length) { _local7 = merchantItemBoxes[_local4]; _local7.cleanup(); if (_local2[(_local4 + _local3)] != null){ _local7.insert(ItemList.instance.getItem(_local2[(_local4 + _local3)])); if (_local1.indexOf(_local2[(_local4 + _local3)]) == -1){ _local7.lock(); }; }; _local4++; }; inventoryPages = Math.ceil((Profile.instance.inventory.length / inventoryItemBoxes.length)); inventoryPageLabel.update((((Config.TEXT_SHOP_PAGE + inventoryPageNumber) + "/") + inventoryPages)); var _local5:int = ((inventoryPageNumber - 1) * inventoryItemBoxes.length); var _local6:int; while (_local6 < inventoryItemBoxes.length) { _local8 = inventoryItemBoxes[_local6]; _local8.cleanup(); if (Profile.instance.inventory[(_local6 + _local5)] != null){ _local8.insert(ItemList.instance.getItem(Profile.instance.inventory[(_local6 + _local5)])); }; _local6++; }; merchantNextButton.unlock(); merchantPrevButton.unlock(); if (merchantPageNumber == merchantPages){ merchantNextButton.lock(); }; if (merchantPageNumber == 1){ merchantPrevButton.lock(); }; inventoryNextButton.unlock(); inventoryPrevButton.unlock(); if (inventoryPageNumber == inventoryPages){ inventoryNextButton.lock(); }; if (inventoryPageNumber == 1){ inventoryPrevButton.lock(); }; } private function onClickNextInventory():void{ inventoryPageNumber++; update(); } private function onClickNextMerchant():void{ merchantPageNumber++; update(); } } }//package game.screens.widget.groups
Section 287
//Stat (game.screens.widget.groups.Stat) package game.screens.widget.groups { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.*; import game.screens.widget.*; import tofu.util.*; import mochi.as3.*; public class Stat extends Group { private var awardGroup:Sprite; private var performanceLabel:Label; private var submitButton:CustomScaleBitmapButton; private var performanceGroup:Sprite; private var awardBadgesGroup:Sprite; private var awards:Array; private var awardsLabel:Label; private var performanceItemTitleLabel:Label; public function Stat(){ var _local5:Object; var _local6:Award; super(); performanceGroup = new Sprite(); performanceGroup.graphics.beginFill(0, 0.4); performanceGroup.graphics.drawRoundRect(0, 0, 260, 288, 16, 16); performanceGroup.x = 8; performanceGroup.y = 8; awardGroup = new Sprite(); awardGroup.graphics.beginFill(0, 0.4); awardGroup.graphics.drawRoundRect(0, 0, 260, 288, 16, 16); awardGroup.x = 276; awardGroup.y = 8; awardBadgesGroup = new Sprite(); awardBadgesGroup.x = 28; awardBadgesGroup.y = 40; awards = []; var _local1:int; var _local2:int; var _local3:int; while (_local3 < AwardList.instance.length) { _local5 = AwardList.instance.getAwardByIndex(_local3); _local6 = new Award(this, _local5); _local6.sprite.x = ((32 + 12) * _local1); _local6.sprite.y = ((32 + 16) * _local2); awardBadgesGroup.addChild(_local6.sprite); awards.push(_local6); _local1++; if (_local1 == 5){ _local1 = 0; _local2++; }; _local3++; }; var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT).setLeading(4); performanceLabel = new Label(Config.TEXT_STAT_PERFORMANCE, _local4); performanceLabel.element.alpha = 0.8; performanceLabel.element.x = (performanceLabel.element.y = 16); awardsLabel = new Label(Config.TEXT_STAT_AWARDS, _local4); awardsLabel.element.alpha = 0.8; awardsLabel.element.x = (awardsLabel.element.y = 16); performanceItemTitleLabel = new Label("", _local4); performanceItemTitleLabel.element.alpha = 0.8; performanceItemTitleLabel.element.width = 228; performanceItemTitleLabel.element.x = 16; performanceItemTitleLabel.element.y = ((performanceLabel.element.y + performanceLabel.element.height) + 8); submitButton = new CustomScaleBitmapButton(Config.TEXT_STAT_SUBMITSCORE, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); submitButton.buttonLabelStyle = new LabelStyle().clone(_local4).setAlign(LabelStyle.ALIGN_CENTER); submitButton.width = 244; submitButton.height = 18; submitButton.x = ((performanceGroup.width - submitButton.width) * 0.5); submitButton.y = ((performanceGroup.height - submitButton.height) - 8); performanceGroup.addChild(performanceLabel.element); performanceGroup.addChild(performanceItemTitleLabel.element); performanceGroup.addChild(submitButton); awardGroup.addChild(awardsLabel.element); awardGroup.addChild(awardBadgesGroup); container.addChild(performanceGroup); container.addChild(awardGroup); container.addChild(floatingDesc.sprite); submitButton.click = onSubmitScore; } override public function update():void{ var _local2:Award; performanceItemTitleLabel.update(StringTool.embed(Config.TEXT_STAT_DETAILS, [Profile.instance.exp, Profile.instance.statCredits, Profile.instance.statCreditsSpent, Profile.instance.statSitesCleared, Profile.instance.statSites, Profile.instance.statRooms, Profile.instance.statKills, int(((Profile.instance.statHits / Profile.instance.statShots) * 100)), Profile.instance.statItemsCollected, Profile.instance.statItemsSold])); var _local1:int; while (_local1 < awards.length) { _local2 = awards[_local1]; _local2.update(); _local1++; }; } private function onSubmitScore():void{ MochiScores.showLeaderboard({score:Profile.instance.exp, name:Profile.instance.name}); } } }//package game.screens.widget.groups
Section 288
//EquipDeselect (game.screens.widget.itemboxes.EquipDeselect) package game.screens.widget.itemboxes { import game.*; import game.screens.widget.*; import game.entities.items.*; public class EquipDeselect extends ItemBox { public function EquipDeselect(_arg1:Group){ super(_arg1); } override protected function click():void{ var _local1:Chip; switch (item.type){ case Config.ITEMTYPE_ARMORENERGY: Profile.instance.armorEnergy = ""; Profile.instance.inventory.push(item.id); break; case Config.ITEMTYPE_WEAPONCHIP: Profile.instance.weaponChip = ""; _local1 = (item as Chip); if (_local1.modChip != null){ Profile.instance.inventory.push(((_local1.id + Config.MODCHIP_SPACER) + _local1.modChip.id)); } else { Profile.instance.inventory.push(_local1.id); }; break; case Config.ITEMTYPE_WEAPONENERGY: Profile.instance.weaponEnergy = ""; Profile.instance.inventory.push(item.id); break; case Config.ITEMTYPE_ARMORCHIP: Profile.instance.armorChip = ""; Profile.instance.inventory.push(item.id); break; }; Profile.instance.save(); } override protected function postInsert():void{ container.buttonMode = true; box.alpha = 1; captureInputs(); } } }//package game.screens.widget.itemboxes
Section 289
//EquipSelect (game.screens.widget.itemboxes.EquipSelect) package game.screens.widget.itemboxes { import engine.managers.*; import game.entities.*; import game.*; import game.screens.widget.*; import game.entities.items.*; public class EquipSelect extends ItemBox { public function EquipSelect(_arg1:Group){ super(_arg1); } override protected function click():void{ var _local1:String; var _local2:Chip; switch (item.type){ case Config.ITEMTYPE_ARMORCHIP: Profile.instance.armorChip = item.id; _local1 = item.id; removeFromInventory(_local1); break; case Config.ITEMTYPE_ARMORENERGY: Profile.instance.armorEnergy = item.id; _local1 = item.id; removeFromInventory(_local1); break; case Config.ITEMTYPE_WEAPONCHIP: _local2 = (item as Chip); if (_local2.modChip != null){ Profile.instance.weaponChip = ((_local2.id + Config.MODCHIP_SPACER) + _local2.modChip.id); _local1 = ((_local2.id + Config.MODCHIP_SPACER) + _local2.modChip.id); } else { Profile.instance.weaponChip = _local2.id; _local1 = _local2.id; }; removeFromInventory(_local1); break; case Config.ITEMTYPE_WEAPONENERGY: Profile.instance.weaponEnergy = item.id; _local1 = item.id; removeFromInventory(_local1); break; case Config.ITEMTYPE_MODCHIP: Profile.instance.tempModToEquip = item.id; ScreenManager.instance.showDialog(Config.DIALOG_EQUIP, true); break; }; } override protected function postInsert():void{ var _local2:ModChip; var _local3:Chip; var _local1:Boolean; switch (item.type){ case Config.ITEMTYPE_ARMORENERGY: if (Profile.instance.armorEnergy != ""){ _local1 = true; }; break; case Config.ITEMTYPE_ARMORCHIP: if (Profile.instance.armorChip != ""){ _local1 = true; }; break; case Config.ITEMTYPE_WEAPONENERGY: if (Profile.instance.weaponEnergy != ""){ _local1 = true; }; break; case Config.ITEMTYPE_WEAPONCHIP: if (Profile.instance.weaponChip != ""){ _local1 = true; }; break; case Config.ITEMTYPE_MODCHIP: _local2 = (item as ModChip); if (Profile.instance.weaponChip != ""){ _local3 = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); if (_local3.modChip == null){ if (_local2.chipTypes.length > 0){ if (_local2.chipTypes.indexOf(_local3.id) > -1){ _local1 = false; } else { _local1 = true; }; } else { _local1 = false; }; } else { _local1 = true; }; } else { _local1 = true; }; break; }; if (!_local1){ container.buttonMode = true; box.alpha = 1; captureInputs(); }; } public function removeFromInventory(_arg1:String):void{ var _local2:int = Profile.instance.inventory.indexOf(_arg1); Profile.instance.inventory.splice(_local2, 1); Profile.instance.save(); } } }//package game.screens.widget.itemboxes
Section 290
//ShopBuy (game.screens.widget.itemboxes.ShopBuy) package game.screens.widget.itemboxes { import game.entities.*; import game.*; import game.screens.widget.*; import game.screens.widget.groups.*; public class ShopBuy extends ItemBox { public function ShopBuy(_arg1:Group){ super(_arg1); } override protected function click():void{ Profile.instance.credits = (Profile.instance.credits - item.buyCost); Profile.instance.inventory.push(item.id); Profile.instance.statCreditsSpent = (Profile.instance.statCreditsSpent + item.buyCost); var _local1:int = Shop(group).tempItemList.indexOf(item.id); if (_local1 > -1){ Shop(group).tempItemList.splice(_local1, 1); }; if ((((item.id.indexOf("PHOTON") > -1)) && ((Profile.instance.statPhotons.indexOf(item.id) == -1)))){ Profile.instance.statPhotons.push(item.id); } else { if ((((item.id.indexOf("PULSE") > -1)) && ((Profile.instance.statPulses.indexOf(item.id) == -1)))){ Profile.instance.statPulses.push(item.id); } else { if ((((item.id.indexOf("NEUTRON") > -1)) && ((Profile.instance.statNeutrons.indexOf(item.id) == -1)))){ Profile.instance.statNeutrons.push(item.id); } else { if ((((item.id.indexOf("PLASMA") > -1)) && ((Profile.instance.statPlasmas.indexOf(item.id) == -1)))){ Profile.instance.statPlasmas.push(item.id); } else { if ((((item.id.indexOf("TACHYON") > -1)) && ((Profile.instance.statTachyons.indexOf(item.id) == -1)))){ Profile.instance.statTachyons.push(item.id); }; }; }; }; }; if ((((item.id.indexOf("MOD") > -1)) && ((Profile.instance.statMods.indexOf(item.id) == -1)))){ Profile.instance.statMods.push(item.id); }; if (AwardList.instance.isValid(Config.AWARD31.id, Profile.instance.statMods.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD31.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD150.id, Profile.instance.statPulses.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD150.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD151.id, Profile.instance.statPhotons.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD151.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD152.id, Profile.instance.statNeutrons.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD152.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD153.id, Profile.instance.statPlasmas.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD153.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD154.id, Profile.instance.statTachyons.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD154.id)] = true; }; } override protected function postInsert():void{ if (Profile.instance.credits >= item.buyCost){ container.buttonMode = true; box.alpha = 1; captureInputs(); }; } public function lock(_arg1:Boolean=true):void{ if (_arg1){ container.buttonMode = false; box.alpha = 0.2; container.addChild(lockIcon); }; } } }//package game.screens.widget.itemboxes
Section 291
//ShopSell (game.screens.widget.itemboxes.ShopSell) package game.screens.widget.itemboxes { import game.entities.*; import game.*; import game.screens.widget.*; import game.entities.items.*; import game.screens.widget.groups.*; public class ShopSell extends ItemBox { public function ShopSell(_arg1:Group){ super(_arg1); } override protected function click():void{ var _local3:Chip; Profile.instance.credits = (Profile.instance.credits + item.sellCost); Profile.instance.statItemsSold++; Profile.instance.statCredits = (Profile.instance.statCredits + item.sellCost); if (AwardList.instance.isValid(Config.AWARD5.id, Profile.instance.statCredits, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD5.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD10.id, Profile.instance.statCredits, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD10.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD30.id, Profile.instance.statItemsSold, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD30.id)] = true; }; var _local1:String = item.id; if (item.type == Config.ITEMTYPE_WEAPONCHIP){ _local3 = (item as Chip); if (_local3.modChip != null){ _local1 = (_local1 + (Config.MODCHIP_SPACER + _local3.modChip.id)); }; }; var _local2:int = Profile.instance.inventory.indexOf(_local1); Profile.instance.inventory.splice(_local2, 1); Shop(group).tempItemList.push(_local1); } override protected function postInsert():void{ container.buttonMode = true; box.alpha = 1; captureInputs(); } } }//package game.screens.widget.itemboxes
Section 292
//Award (game.screens.widget.Award) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.events.*; import game.entities.*; import game.*; public class Award { private var container:Sprite; private var bitmap:Bitmap; private var desc:String; private var status:Boolean;// = false private var title:String; private var id:String; private var group:Group; public function Award(_arg1:Group, _arg2:Object){ this.group = _arg1; this.id = _arg2.id; this.title = _arg2.title; this.desc = _arg2.desc; container = new Sprite(); bitmap = new Bitmap(new BitmapData(32, 32, true, 0xFFFFFF)); container.addChild(bitmap); container.addEventListener(MouseEvent.MOUSE_MOVE, onMove); container.addEventListener(MouseEvent.MOUSE_OVER, onOver); container.addEventListener(MouseEvent.MOUSE_OUT, onOut); } protected function onOut(_arg1:MouseEvent):void{ group.hideDesc(); } public function update():void{ status = Profile.instance.awards[AwardList.instance.getAwardIndex(id)]; AssetManager.instance.loadBitmapAsset(Config.ASSET_AWARD); if (!status){ bitmap.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_AWARD).bitmapData, new Rectangle(0, 0, 32, 32), new Point(0, 0)); } else { bitmap.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_AWARD).bitmapData, new Rectangle(32, 0, 32, 32), new Point(0, 0)); }; AssetManager.instance.deleteBitmapAsset(Config.ASSET_AWARD); } public function get sprite():Sprite{ return (container); } protected function onMove(_arg1:MouseEvent):void{ if (status){ group.updateDesc(title, desc); }; } protected function onOver(_arg1:MouseEvent):void{ if (status){ group.showDesc(); }; } } }//package game.screens.widget
Section 293
//CustomScaleBitmapButton (game.screens.widget.CustomScaleBitmapButton) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.events.*; import tofu.ui.*; import game.*; public class CustomScaleBitmapButton extends ScaleBitmapButton { public function CustomScaleBitmapButton(_arg1:String="", _arg2:BitmapData=null, _arg3:int=100, _arg4:int=50, _arg5:Rectangle=null, _arg6:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } override protected function onClickHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((click is Function)))){ SoundManager.instance.playSFX(Config.ASSET_SFXPRESS); click(); }; } override protected function onOverHandler(_arg1:MouseEvent):void{ SoundManager.instance.playSFX(Config.ASSET_SFXHOVER); if (((this.enabled) && ((mouseover is Function)))){ mouseover(); }; } } }//package game.screens.widget
Section 294
//FloatingDesc (game.screens.widget.FloatingDesc) package game.screens.widget { import flash.display.*; import engine.managers.*; import tofu.ui.*; import game.*; public class FloatingDesc { private var sub:Sprite; private var container:Sprite; private var descLabel:Label; private var nameLabel:Label; public function FloatingDesc(){ container = new Sprite(); sub = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT4).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); nameLabel = new Label("", _local1); descLabel = new Label("", _local2); nameLabel.element.width = 150; descLabel.element.width = 150; sub.x = (sub.y = 10); sub.addChild(nameLabel.element); sub.addChild(descLabel.element); container.addChild(sub); } public function get sprite():Sprite{ return (container); } public function update(_arg1:String, _arg2:String):void{ nameLabel.update(_arg1); descLabel.update(_arg2); descLabel.element.y = ((nameLabel.element.y + nameLabel.element.textHeight) + 10); container.graphics.clear(); container.graphics.beginFill(0, 0.9); container.graphics.drawRoundRect(0, 0, (sub.width + 20), (sub.height + 20), 16, 16); } } }//package game.screens.widget
Section 295
//Group (game.screens.widget.Group) package game.screens.widget { import flash.display.*; import game.*; public class Group { protected var container:Sprite; protected var floatingDesc:FloatingDesc; public function Group(){ container = new Sprite(); floatingDesc = new FloatingDesc(); floatingDesc.sprite.visible = false; } public function init():void{ } public function get sprite():Sprite{ return (container); } public function update():void{ } public function hideDesc():void{ floatingDesc.sprite.visible = false; } public function updateDesc(_arg1:String, _arg2:String):void{ var _local3:int; var _local4:int; if (Main.stage.mouseX >= (Config.STAGE_WIDTH * 0.5)){ _local3 = ((sprite.mouseX - floatingDesc.sprite.width) - 10); } else { _local3 = (sprite.mouseX + 10); }; if (Main.stage.mouseY >= (Config.STAGE_HEIGHT * 0.5)){ _local4 = ((sprite.mouseY - floatingDesc.sprite.height) - 10); } else { _local4 = (sprite.mouseY + 10); }; floatingDesc.sprite.x = _local3; floatingDesc.sprite.y = _local4; floatingDesc.update(_arg1, _arg2); } public function showDesc():void{ floatingDesc.sprite.visible = true; } public function buildDesc():void{ container.addChild(floatingDesc.sprite); } } }//package game.screens.widget
Section 296
//HUDBar (game.screens.widget.HUDBar) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; import gs.*; public class HUDBar { private var container:Sprite; private var align:String; private var energy:Sprite; private var chip:Sprite; private var header:String; private var minimum:Number; private var bar:Sprite; private var percentage:Number; private var typeLabel:Label; private var percLabel:Label; public static var ALIGN_LEFT:String = "left"; public static var ALIGN_RIGHT:String = "right"; public function HUDBar(_arg1:String, _arg2:String, _arg3:Number=0.1){ percentage = 1; this.minimum = _arg3; this.header = _arg2; this.align = _arg1; container = new Sprite(); var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT4).fontName).setSize(24).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(false).setAlign(((_arg1)==ALIGN_LEFT) ? LabelStyle.ALIGN_LEFT : LabelStyle.ALIGN_RIGHT).setBorder(false); var _local5:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(false).setAlign(((_arg1)==ALIGN_LEFT) ? LabelStyle.ALIGN_LEFT : LabelStyle.ALIGN_RIGHT).setBorder(false); typeLabel = new Label(_arg2, _local5); percLabel = new Label(persen(), _local4); typeLabel.element.width = 140; percLabel.element.width = 140; if (_arg1 == ALIGN_LEFT){ typeLabel.element.x = (percLabel.element.x = 5); } else { typeLabel.element.x = (percLabel.element.x = 20); }; typeLabel.element.y = 8; percLabel.element.y = 8; bar = new Sprite(); bar.graphics.beginFill(0xFFFFFF, 0.2); chip = new Sprite(); energy = new Sprite(); var _local6:Bitmap = new Bitmap(new BitmapData(165, 94, true, 0xFFFFFF)); var _local7:Bitmap = new Bitmap(new BitmapData(165, 94, true, 0xFFFFFF)); if (_arg1 == ALIGN_LEFT){ bar.graphics.drawRect(0, 0, 161, 42); energy.x = 6; energy.y = 42; chip.x = 52; chip.y = 49; AssetManager.instance.loadBitmapAsset(Config.ASSET_HUDBACKLEFT); AssetManager.instance.loadBitmapAsset(Config.ASSET_HUDFRONTLEFT); _local7.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_HUDBACKLEFT).bitmapData, new Rectangle(0, 0, 165, 94), new Point()); _local6.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_HUDFRONTLEFT).bitmapData, new Rectangle(0, 0, 165, 94), new Point()); AssetManager.instance.deleteBitmapAsset(Config.ASSET_HUDBACKLEFT); AssetManager.instance.deleteBitmapAsset(Config.ASSET_HUDFRONTLEFT); } else { bar.graphics.drawRect(0, 0, 161, 42); bar.x = 4; energy.x = 115; energy.y = 42; chip.x = 69; chip.y = 49; AssetManager.instance.loadBitmapAsset(Config.ASSET_HUDBACKRIGHT); AssetManager.instance.loadBitmapAsset(Config.ASSET_HUDFRONTRIGHT); _local7.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_HUDBACKRIGHT).bitmapData, new Rectangle(0, 0, 165, 94), new Point()); _local6.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_HUDFRONTRIGHT).bitmapData, new Rectangle(0, 0, 165, 94), new Point()); AssetManager.instance.deleteBitmapAsset(Config.ASSET_HUDBACKRIGHT); AssetManager.instance.deleteBitmapAsset(Config.ASSET_HUDFRONTRIGHT); }; bar.y = 4; bar.cacheAsBitmap = true; _local6.cacheAsBitmap = true; container.addChild(_local7); container.addChild(bar); container.addChild(_local6); container.addChild(typeLabel.element); container.addChild(percLabel.element); container.addChild(chip); container.addChild(energy); bar.mask = _local6; } public function update(_arg1:Number):void{ percentage = ((_arg1)>1) ? 1 : ((_arg1)<0) ? 0 : _arg1; percLabel.update(persen()); bar.scaleX = percentage; if (align == ALIGN_RIGHT){ bar.x = (161 - bar.width); }; if (_arg1 <= minimum){ TweenMax.to(bar, 1, {tint:0xFF0000}); } else { TweenMax.to(bar, 1, {tint:0xFFFFFF}); }; } public function setChipAndEnergy(_arg1:DisplayObject, _arg2:DisplayObject):void{ if (chip.numChildren > 0){ chip.removeChildAt(0); }; if (energy.numChildren > 0){ energy.removeChildAt(0); }; chip.addChild(_arg1); energy.addChild(_arg2); } public function get sprite():Sprite{ return (container); } private function persen():String{ var _local1:int = (percentage * 100); var _local2 = "%"; return ((_local1.toString() + _local2)); } public function set limit(_arg1:Number):void{ minimum = _arg1; } } }//package game.screens.widget
Section 297
//ItemBox (game.screens.widget.ItemBox) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.events.*; import game.entities.*; import game.*; import flash.filters.*; public class ItemBox { protected var container:Sprite; protected var lockIcon:Bitmap; protected var box:Sprite; protected var item:Item; protected var group:Group; public function ItemBox(_arg1:Group){ this.group = _arg1; container = new Sprite(); container.graphics.beginFill(0xFFFFFF, 0.1); container.graphics.drawRect(0, 0, 44, 44); box = new Sprite(); box.mouseChildren = false; box.mouseEnabled = false; AssetManager.instance.loadBitmapAsset(Config.ASSET_LOCK); lockIcon = new Bitmap(new BitmapData(40, 40, true, 0xFFFFFF)); lockIcon.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_LOCK).bitmapData, new Rectangle(0, 0, 44, 44), new Point(2, 2)); lockIcon.alpha = 0.6; AssetManager.instance.deleteBitmapAsset(Config.ASSET_LOCK); container.addChild(box); container.addEventListener(MouseEvent.MOUSE_MOVE, onMove); container.addEventListener(MouseEvent.MOUSE_OVER, onOver); container.addEventListener(MouseEvent.MOUSE_OUT, onOut); } protected function postInsert():void{ } public function get sprite():Sprite{ return (container); } protected function onOut(_arg1:MouseEvent):void{ group.hideDesc(); box.filters = []; out(); } protected function onClick(_arg1:MouseEvent):void{ click(); group.update(); group.hideDesc(); } protected function click():void{ } protected function out():void{ } protected function captureInputs():void{ container.addEventListener(MouseEvent.CLICK, onClick); } protected function releaseInputs():void{ if (container.hasEventListener(MouseEvent.CLICK)){ container.removeEventListener(MouseEvent.CLICK, onClick); }; } protected function over():void{ } protected function onOver(_arg1:MouseEvent):void{ if (item != null){ group.showDesc(); }; box.filters = [new GlowFilter(0xFFFFFF, 0.8, 3, 3, 2, 3)]; over(); } protected function onMove(_arg1:MouseEvent):void{ if (item != null){ group.updateDesc(item.id, item.desc); }; } public function insert(_arg1:Item):void{ this.item = _arg1; box.addChild(_arg1.icon); postInsert(); } public function cleanup():void{ item = null; releaseInputs(); container.buttonMode = false; box.alpha = 0.6; box.filters = []; if (container.contains(lockIcon)){ container.removeChild(lockIcon); }; if (box.numChildren > 0){ box.removeChildAt(0); }; } } }//package game.screens.widget
Section 298
//LevelButton (game.screens.widget.LevelButton) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.managers.*; import game.*; import tofu.util.*; public class LevelButton { private var container:Sprite; private var d:int; private var g:Group; private var m:BitmapButton; private var t:int; private var id:String; public function LevelButton(_arg1:int, _arg2:int, _arg3:Group){ switch (_arg1){ case 1: id = ((_arg2)==1) ? Config.LEVEL_1A : ((_arg2)==2) ? Config.LEVEL_1B : ((_arg2)==3) ? Config.LEVEL_1C : ((_arg2)==4) ? Config.LEVEL_1D : ((_arg2)==5) ? Config.LEVEL_1E : Config.LEVEL_1F; break; case 2: id = ((_arg2)==1) ? Config.LEVEL_2A : ((_arg2)==2) ? Config.LEVEL_2B : ((_arg2)==3) ? Config.LEVEL_2C : ((_arg2)==4) ? Config.LEVEL_2D : ((_arg2)==5) ? Config.LEVEL_2E : Config.LEVEL_2F; break; case 3: id = ((_arg2)==1) ? Config.LEVEL_3A : ((_arg2)==2) ? Config.LEVEL_3B : ((_arg2)==3) ? Config.LEVEL_3C : ((_arg2)==4) ? Config.LEVEL_3D : ((_arg2)==5) ? Config.LEVEL_3E : Config.LEVEL_3F; break; case 4: id = ((_arg2)==1) ? Config.LEVEL_4A : ((_arg2)==2) ? Config.LEVEL_4B : ((_arg2)==3) ? Config.LEVEL_4C : ((_arg2)==4) ? Config.LEVEL_4D : ((_arg2)==5) ? Config.LEVEL_4E : Config.LEVEL_4F; break; case 5: id = ((_arg2)==1) ? Config.LEVEL_5A : ((_arg2)==2) ? Config.LEVEL_5B : ((_arg2)==3) ? Config.LEVEL_5C : ((_arg2)==4) ? Config.LEVEL_5D : ((_arg2)==5) ? Config.LEVEL_5E : Config.LEVEL_5F; break; }; container = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_LEVELBUTTONS); var _local4:BitmapData = new BitmapData(15, 75); _local4.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_LEVELBUTTONS).bitmapData, new Rectangle(((_arg2 - 1) * 15), 0, 15, 75), new Point()); AssetManager.instance.deleteBitmapAsset(Config.ASSET_LEVELBUTTONS); m = new BitmapButton(_local4, 15, 15); m.click = onClick; m.mouseover = onOver; m.mousemove = onMove; m.mouseout = onOut; container.addChild(m); g = _arg3; d = _arg2; t = int(CustomMath.rangedRandom(10, 999)); } public function get sprite():Sprite{ return (container); } private function onClick():void{ g.hideDesc(); Profile.instance.statSites++; LevelManager.instance.openLevel(id); } private function onOver():void{ g.showDesc(); g.updateDesc(title, diff); } private function get diff():String{ return ((Config.TEXT_MAP_DIFFICULTY + d)); } private function onMove():void{ g.updateDesc(title, diff); } private function get title():String{ return ((Config.TEXT_MAP_SITE + t)); } private function onOut():void{ g.hideDesc(); } } }//package game.screens.widget
Section 299
//MiniMap (game.screens.widget.MiniMap) package game.screens.widget { import flash.display.*; import game.levels.*; import flash.geom.*; public class MiniMap { private var container:Sprite; private var range:int; private var rooms:Array; public function MiniMap(){ container = new Sprite(); } public function cleanup():void{ var _local1:int; if (container.numChildren > 0){ _local1 = (container.numChildren - 1); while (_local1 >= 0) { container.removeChildAt(_local1); _local1--; }; }; } public function get sprite():Sprite{ return (container); } public function update(_arg1:Point):void{ cleanup(); build(_arg1); } public function build(_arg1:Point):void{ var _local12:MiniRoom; var _local13:MiniRoom; var _local14:MiniRoom; var _local15:MiniRoom; var _local16:MiniRoom; var _local17:MiniRoom; var _local18:MiniRoom; var _local19:MiniRoom; var _local2:Room = getRoom(_arg1); var _local3:MiniRoom = createMiniRoom(_local2, true); _local3.sprite.x = 18; _local3.sprite.y = 18; container.addChild(_local3.sprite); var _local4:Room = getRoom(_arg1.add(new Point(0, -1))); var _local5:Room = getRoom(_arg1.add(new Point(0, 1))); var _local6:Room = getRoom(_arg1.add(new Point(1, 0))); var _local7:Room = getRoom(_arg1.add(new Point(-1, 0))); var _local8:Room = getRoom(_arg1.add(new Point(1, -1))); var _local9:Room = getRoom(_arg1.add(new Point(-1, -1))); var _local10:Room = getRoom(_arg1.add(new Point(1, 1))); var _local11:Room = getRoom(_arg1.add(new Point(-1, 1))); if (_local4){ _local12 = createMiniRoom(_local4); _local12.sprite.x = 18; _local12.sprite.y = 0; container.addChild(_local12.sprite); }; if (_local5){ _local13 = createMiniRoom(_local5); _local13.sprite.x = 18; _local13.sprite.y = (18 * 2); container.addChild(_local13.sprite); }; if (_local6){ _local14 = createMiniRoom(_local6); _local14.sprite.x = (18 * 2); _local14.sprite.y = 18; container.addChild(_local14.sprite); }; if (_local7){ _local15 = createMiniRoom(_local7); _local15.sprite.x = 0; _local15.sprite.y = 18; container.addChild(_local15.sprite); }; if (_local8){ _local16 = createMiniRoom(_local8); _local16.sprite.x = (18 * 2); _local16.sprite.y = 0; container.addChild(_local16.sprite); }; if (_local9){ _local17 = createMiniRoom(_local9); _local17.sprite.x = 0; _local17.sprite.y = 0; container.addChild(_local17.sprite); }; if (_local10){ _local18 = createMiniRoom(_local10); _local18.sprite.x = (18 * 2); _local18.sprite.y = (18 * 2); container.addChild(_local18.sprite); }; if (_local11){ _local19 = createMiniRoom(_local11); _local19.sprite.x = 0; _local19.sprite.y = (18 * 2); container.addChild(_local19.sprite); }; } private function getRoom(_arg1:Point):Room{ var _local3:Room; var _local2:int; while (_local2 < rooms.length) { _local3 = rooms[_local2]; if (_local3.position.equals(_arg1)){ return (_local3); }; _local2++; }; return (null); } private function createMiniRoom(_arg1:Room, _arg2:Boolean=false):MiniRoom{ var _local3:Boolean = (_arg1.doorN) ? true : false; var _local4:Boolean = (_arg1.doorS) ? true : false; var _local5:Boolean = (_arg1.doorE) ? true : false; var _local6:Boolean = (_arg1.doorW) ? true : false; return (new MiniRoom(_local3, _local4, _local5, _local6, _arg1.isVisited, _arg1.isCleared, _arg2)); } public function setup(_arg1:Array, _arg2:int):void{ this.rooms = _arg1; this.range = _arg2; } } }//package game.screens.widget
Section 300
//MiniRoom (game.screens.widget.MiniRoom) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import game.*; public class MiniRoom { private var container:Sprite; public function MiniRoom(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean){ container = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_MINIMAP); var _local8:Rectangle = new Rectangle(0, 0, 18, 18); if (((((((_arg1) && (!(_arg2)))) && (!(_arg3)))) && (!(_arg4)))){ _local8.offsetPoint(new Point(18, 0)); } else { if (((((((!(_arg1)) && (!(_arg2)))) && (!(_arg3)))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 2), 0)); } else { if (((((((!(_arg1)) && (_arg2))) && (!(_arg3)))) && (!(_arg4)))){ _local8.offsetPoint(new Point((18 * 3), 0)); } else { if (((((((_arg1) && (!(_arg2)))) && (_arg3))) && (!(_arg4)))){ _local8.offsetPoint(new Point((18 * 4), 0)); } else { if (((((((_arg1) && (!(_arg2)))) && (!(_arg3)))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 5), 0)); } else { if (((((((!(_arg1)) && (_arg2))) && (!(_arg3)))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 6), 0)); } else { if (((((((!(_arg1)) && (_arg2))) && (_arg3))) && (!(_arg4)))){ _local8.offsetPoint(new Point((18 * 7), 0)); } else { if (((((((!(_arg1)) && (!(_arg2)))) && (_arg3))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 8), 0)); } else { if (((((((_arg1) && (_arg2))) && (!(_arg3)))) && (!(_arg4)))){ _local8.offsetPoint(new Point((18 * 9), 0)); } else { if (((((((!(_arg1)) && (_arg2))) && (_arg3))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 10), 0)); } else { if (((((((_arg1) && (!(_arg2)))) && (_arg3))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 11), 0)); } else { if (((((((_arg1) && (_arg2))) && (_arg3))) && (!(_arg4)))){ _local8.offsetPoint(new Point((18 * 12), 0)); } else { if (((((((_arg1) && (_arg2))) && (!(_arg3)))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 13), 0)); } else { if (((((((_arg1) && (_arg2))) && (_arg3))) && (_arg4))){ _local8.offsetPoint(new Point((18 * 14), 0)); }; }; }; }; }; }; }; }; }; }; }; }; }; }; if (_arg7){ if (_arg6){ _local8.offsetPoint(new Point(0, (18 * 3))); } else { _local8.offsetPoint(new Point(0, 18)); }; } else { if (_arg6){ _local8.offsetPoint(new Point(0, (18 * 4))); } else { if (_arg5){ _local8.offsetPoint(new Point(0, (18 * 2))); }; }; }; var _local9:Bitmap = new Bitmap(new BitmapData(18, 18, true, 0xFFFFFF)); _local9.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_MINIMAP).bitmapData, _local8, new Point()); AssetManager.instance.deleteBitmapAsset(Config.ASSET_MINIMAP); container.addChild(_local9); } public function get sprite():Sprite{ return (container); } } }//package game.screens.widget
Section 301
//PoisonBar (game.screens.widget.PoisonBar) package game.screens.widget { import flash.display.*; import engine.managers.*; import tofu.ui.*; import game.*; public class PoisonBar { private var container:Sprite; private var text:Label; private var minimum:Number; private var bar:Sprite; private var percentage:Number; public function PoisonBar(){ percentage = 1; container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(false).setAlign(LabelStyle.ALIGN_CENTER); text = new Label(Config.TEXT_PLAY_HUD_POISON, _local1); text.element.width = 120; text.element.y = 8; bar = new Sprite(); bar.graphics.beginFill(0x8CAA00, 0.6); bar.graphics.drawRect(0, 0, 112, 17); bar.x = (bar.y = 4); var _local2:Sprite = new Sprite(); _local2.graphics.beginFill(0xFFFFFF, 0.2); _local2.graphics.drawRoundRect(0, 0, 120, 25, 8, 8); var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0); _local3.graphics.drawRoundRect(0, 0, 112, 17, 4, 4); _local3.x = (_local3.y = 4); container.addChild(_local2); container.addChild(bar); container.addChild(_local3); container.addChild(text.element); bar.mask = _local3; } public function get sprite():Sprite{ return (container); } public function update(_arg1:Number):void{ percentage = ((_arg1)>1) ? 1 : ((_arg1)<0) ? 0 : _arg1; text.update((Config.TEXT_PLAY_HUD_POISON + persen())); bar.scaleX = percentage; bar.x = ((container.width - bar.width) * 0.5); } private function persen():String{ var _local1:int = (percentage * 100); var _local2 = "%"; return ((_local1.toString() + _local2)); } } }//package game.screens.widget
Section 302
//ReportSlot (game.screens.widget.ReportSlot) package game.screens.widget { import engine.managers.*; import flash.events.*; import tofu.ui.*; import flash.utils.*; import game.*; import gs.*; import flash.text.*; public class ReportSlot { private var timer:Timer; private var _statusReport:StatusReport; private var _label:Label; public function ReportSlot(_arg1:String, _arg2:StatusReport){ var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(false).setAlign(LabelStyle.ALIGN_LEFT); _label = new Label(_arg1, _local3); _label.element.width = 320; _statusReport = _arg2; timer = new Timer(3600, 1); timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer.start(); } private function remove():void{ _statusReport.removeSlot(this); } public function get element():TextField{ return (_label.element); } private function onTimerComplete(_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); TweenLite.to(element, 1, {alpha:0, onComplete:remove}); } } }//package game.screens.widget
Section 303
//SaveSlot (game.screens.widget.SaveSlot) package game.screens.widget { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.*; public class SaveSlot { private var container:Sprite; private var newGroup:Sprite; private var cancelButton:CustomScaleBitmapButton; private var selectButton:CustomScaleBitmapButton; private var endLabel:Label; private var id:String; private var nameLabel:Label; private var okButton:CustomScaleBitmapButton; private var startLabel:Label; private var enterLabel:Label; private var defaultGroup:Sprite; private var nameInput:Input; public function SaveSlot(_arg1:String){ this.id = _arg1; container = new Sprite(); defaultGroup = new Sprite(); newGroup = new Sprite(); container.graphics.beginFill(0, 0.4); container.graphics.drawRoundRect(0, 0, 448, 64, 16, 16); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(16).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(16).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setAlign(LabelStyle.ALIGN_LEFT).setMaxChars(10).setRestrict("a-z A-Z 0-9").setBackground(true).setBackgroundColor(0); var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local5:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); nameLabel = new Label(Config.TEXT_SELECTPROFILE_EMPTYNAME, _local2); startLabel = new Label((Config.TEXT_SELECTPROFILE_START + Config.TEXT_SELECTPROFILE_EMPTYTIME), _local4); endLabel = new Label((Config.TEXT_SELECTPROFILE_LAST + Config.TEXT_SELECTPROFILE_EMPTYTIME), _local4); selectButton = new CustomScaleBitmapButton(Config.TEXT_SELECTPROFILE_SELECTBUTTON, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); nameLabel.element.width = 320; nameLabel.element.x = 16; nameLabel.element.y = 8; nameLabel.element.alpha = 0.6; startLabel.element.width = 320; startLabel.element.x = 16; startLabel.element.y = 32; startLabel.element.alpha = 0.6; endLabel.element.width = 320; endLabel.element.x = 16; endLabel.element.y = 42; endLabel.element.alpha = 0.6; selectButton.buttonLabelStyle = _local5; selectButton.width = 72; selectButton.height = 18; selectButton.x = ((container.width - selectButton.width) - 16); selectButton.y = ((container.height - selectButton.height) * 0.5); defaultGroup.addChild(nameLabel.element); defaultGroup.addChild(startLabel.element); defaultGroup.addChild(endLabel.element); defaultGroup.addChild(selectButton); enterLabel = new Label(Config.TEXT_SELECTPROFILE_ENTERNAME, _local4); nameInput = new Input(_local3); okButton = new CustomScaleBitmapButton(Config.TEXT_SELECTPROFILE_OKBUTTON, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); cancelButton = new CustomScaleBitmapButton(Config.TEXT_SELECTPROFILE_CANCELBUTTON, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); enterLabel.element.width = 320; enterLabel.element.x = 16; enterLabel.element.y = 14; nameInput.element.width = 240; nameInput.element.x = 16; nameInput.element.y = 28; cancelButton.buttonLabelStyle = _local5; cancelButton.width = 72; cancelButton.height = 18; cancelButton.x = ((container.width - selectButton.width) - 16); cancelButton.y = ((container.height - selectButton.height) * 0.5); okButton.buttonLabelStyle = _local5; okButton.width = 72; okButton.height = 18; okButton.x = ((cancelButton.x - okButton.width) - 8); okButton.y = ((container.height - selectButton.height) * 0.5); newGroup.addChild(enterLabel.element); newGroup.addChild(nameInput.element); newGroup.addChild(okButton); newGroup.addChild(cancelButton); container.addChild(defaultGroup); container.addChild(newGroup); } private function onClickCancel():void{ defaultGroup.visible = true; newGroup.visible = false; } private function captureInputs():void{ selectButton.click = onClickSelect; okButton.click = onClickOK; cancelButton.click = onClickCancel; } public function init():void{ if (SharedObjectManager.instance.apply(Config.LSO_SLOTSDATA)){ nameLabel.update(SharedObjectManager.instance.current.data[id].name); startLabel.update(SharedObjectManager.instance.current.data[id].start); endLabel.update(SharedObjectManager.instance.current.data[id].end); }; defaultGroup.visible = true; newGroup.visible = false; captureInputs(); } public function get sprite():Sprite{ return (container); } private function releaseInputs():void{ selectButton.click = null; okButton.click = null; cancelButton.click = null; } private function onClickSelect():void{ if (Config.isNewGame){ nameInput.update(); defaultGroup.visible = false; newGroup.visible = true; } else { loadProfile(); }; } private function onClickOK():void{ newProfile(); } private function loadProfile():void{ Profile.instance.id = id; if (SharedObjectManager.instance.apply(id)){ Profile.instance.load(); ScreenManager.instance.showScreen(Config.SCREEN_USER); } else { throw (new Error(("Unable to load SO: " + id))); }; } public function cleanup():void{ releaseInputs(); } 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; Profile.instance.id = id; if (nameInput.element.text == ""){ nameInput.element.text = Config.TEXT_SELECTPROFILE_NONAME; }; Profile.instance.name = nameInput.element.text; if (SharedObjectManager.instance.apply(Config.LSO_SLOTSDATA)){ _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); SharedObjectManager.instance.current.data[id].name = Profile.instance.name; SharedObjectManager.instance.current.data[id].start = _local7; SharedObjectManager.instance.current.data[id].end = _local7; SharedObjectManager.instance.update(); } else { throw (new Error(("Unable to open SO: " + Config.LSO_SLOTSDATA))); }; if (SharedObjectManager.instance.apply(id)){ Profile.instance.save(); ScreenManager.instance.showScreen(Config.SCREEN_INTRO); } else { throw (new Error(("Unable to create SO: " + id))); }; } } }//package game.screens.widget
Section 304
//StatusReport (game.screens.widget.StatusReport) package game.screens.widget { import flash.display.*; public class StatusReport { private var container:Sprite; private var reports:Array; public function StatusReport(){ container = new Sprite(); reports = []; } public function get sprite():Sprite{ return (container); } public function reset():void{ var _local1:int; reports = []; if (container.numChildren > 0){ _local1 = (container.numChildren - 1); while (_local1 >= 0) { container.removeChildAt(_local1); _local1--; }; }; } public function addSlot(_arg1:String):void{ nudgeUp(); var _local2:ReportSlot = new ReportSlot(_arg1, this); reports.push(_local2); container.addChild(_local2.element); } public function removeSlot(_arg1:ReportSlot):void{ if (reports.indexOf(_arg1) > -1){ reports.splice(reports.indexOf(_arg1), 1); container.removeChild(_arg1.element); }; } private function nudgeUp():void{ var _local2:ReportSlot; var _local1:int; while (_local1 < reports.length) { _local2 = reports[_local1]; _local2.element.y = (_local2.element.y - _local2.element.height); _local1++; }; } } }//package game.screens.widget
Section 305
//BumperScreen (game.screens.BumperScreen) package game.screens { import flash.display.*; import engine.managers.*; import flash.events.*; import flash.utils.*; import engine.ui.*; import game.*; public class BumperScreen extends Screen { private var timer:Timer; private var introSWF:MovieClip; public function BumperScreen(){ container = new Sprite(); container.graphics.beginFill(0xFFFFFF); container.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); timer = new Timer((7 * 1000), 1); } override public function start():void{ timer.start(); } override public function cleanup():void{ } private function onCompleteTimer(_arg1:TimerEvent):void{ container.removeChild(introSWF); introSWF = null; timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onCompleteTimer); ScreenManager.instance.showScreen(Config.SCREEN_TITLE); } override public function pause():void{ } override public function captureInputs():void{ } override public function init():Boolean{ introSWF = AssetManager.instance.getSWFAsset(Config.ASSET_SPONSOR_INTRO); container.addChild(introSWF); timer.addEventListener(TimerEvent.TIMER_COMPLETE, onCompleteTimer); return (true); } override public function releaseInputs():void{ } } }//package game.screens
Section 306
//CreditsScreen (game.screens.CreditsScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class CreditsScreen extends Screen { private var continueButton:CustomScaleBitmapButton; private var foreground:Bitmap; private var wituteklogo:Bitmap; private var title:Label; private var background:Bitmap; private var content:Label; public function CreditsScreen(){ container = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_WITUTEKLOGOBIG); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); wituteklogo = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_WITUTEKLOGOBIG).bitmapData); continueButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_CONTINUE, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WITUTEKLOGOBIG); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); title = new Label(Config.TEXT_CREDIT_TITLE, _local2); title.element.alpha = 0.8; title.element.width = 544; title.element.height = 30; title.element.x = ((background.width - title.element.width) * 0.5); title.element.y = 48; continueButton.buttonLabelStyle = _local1; continueButton.width = 100; continueButton.height = 18; continueButton.x = ((background.width - continueButton.width) - 32); continueButton.y = ((background.height - continueButton.height) - 32); content = new Label(Config.TEXT_CREDIT_CONTENT, _local1); content.element.alpha = 0.8; content.element.width = 544; content.element.height = 300; content.element.x = ((background.width - content.element.width) * 0.5); content.element.y = ((title.element.y + title.element.height) + 16); container.addChild(background); container.addChild(wituteklogo); container.addChild(title.element); container.addChild(content.element); container.addChild(continueButton); container.addChild(foreground); } override public function captureInputs():void{ continueButton.click = onClickContinue; } override public function releaseInputs():void{ continueButton.click = null; } override public function init():Boolean{ return (true); } override public function start():void{ captureInputs(); } override public function cleanup():void{ } override public function pause():void{ } private function onClickContinue():void{ ScreenManager.instance.showScreen(Config.SCREEN_TITLE); } } }//package game.screens
Section 307
//EquipDialog (game.screens.EquipDialog) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; import tofu.util.*; public class EquipDialog extends Screen { private var cancelButton:CustomScaleBitmapButton; private var okButton:CustomScaleBitmapButton; private var pauseLabel:Label; private var group:Sprite; public function EquipDialog(){ container = new Sprite(); group = new Sprite(); group.graphics.beginFill(0); group.graphics.drawRoundRect(0, 0, 300, 160, 16, 16); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); pauseLabel = new Label(Config.TEXT_EQUIP_TITLE, _local1); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); okButton = new CustomScaleBitmapButton(Config.TEXT_EQUIP_OK, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); cancelButton = new CustomScaleBitmapButton(Config.TEXT_EQUIP_CANCEL, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); okButton.buttonLabelStyle = _local2; cancelButton.buttonLabelStyle = _local2; pauseLabel.element.width = 284; pauseLabel.element.x = ((group.width - pauseLabel.element.width) * 0.5); pauseLabel.element.y = 10; okButton.width = 284; okButton.height = 18; cancelButton.width = 284; cancelButton.height = 18; cancelButton.x = (okButton.x = 8); cancelButton.y = ((group.height - cancelButton.height) - 8); okButton.y = ((cancelButton.y - okButton.height) - 4); group.x = ((Config.STAGE_WIDTH - group.width) * 0.5); group.y = ((Config.STAGE_HEIGHT - group.height) * 0.5); group.addChild(pauseLabel.element); group.addChild(okButton); group.addChild(cancelButton); var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0, 0); _local3.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); _local3.mouseEnabled = true; container.addChild(_local3); container.addChild(group); } override public function start():void{ } override public function cleanup():void{ releaseInputs(); } override public function releaseInputs():void{ InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_ESC, onCancel); okButton.click = null; cancelButton.click = null; } override public function captureInputs():void{ InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_ESC, onCancel); okButton.click = onClickOK; cancelButton.click = onCancel; } override public function init():Boolean{ pauseLabel.update(StringTool.embed(Config.TEXT_EQUIP_TITLE, [Profile.instance.tempModToEquip, Profile.instance.weaponChip])); captureInputs(); return (true); } private function onClickOK():void{ Profile.instance.weaponChip = (Profile.instance.weaponChip + (Config.MODCHIP_SPACER + Profile.instance.tempModToEquip)); var _local1:int = Profile.instance.inventory.indexOf(Profile.instance.tempModToEquip); Profile.instance.inventory.splice(_local1, 1); Profile.instance.save(); Profile.instance.tempModToEquip = ""; var _local2:UserScreen = (ScreenManager.instance.getScreen(Config.SCREEN_USER) as UserScreen); _local2.updateEquip(); ScreenManager.instance.hideDialog(); } override public function pause():void{ } private function onCancel():void{ ScreenManager.instance.hideDialog(); } } }//package game.screens
Section 308
//HelpScreen (game.screens.HelpScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class HelpScreen extends Screen { private var continueButton:CustomScaleBitmapButton; private var foreground:Bitmap; private var pages:Array; private var nextButton:CustomScaleBitmapButton; private var title:Label; private var currentPage:int;// = 0 private var background:Bitmap; private var content:Label; public function HelpScreen(){ container = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONFRAME); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); nextButton = new CustomScaleBitmapButton(Config.TEXT_NEXT, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); continueButton = new CustomScaleBitmapButton(Config.TEXT_TOMENU, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONFRAME); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(16); var _local2:LabelStyle = new LabelStyle().clone(_local1).setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20); var _local3:LabelStyle = new LabelStyle().clone(_local1).setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT5).fontName).setAlign(LabelStyle.ALIGN_LEFT).setLeading(8).setSize(8); title = new Label(Config.TEXT_HELP_TITLE, _local2); title.element.alpha = 0.8; title.element.width = 444; title.element.height = 30; title.element.x = ((background.width - title.element.width) * 0.5); title.element.y = 48; continueButton.buttonLabelStyle = _local1; continueButton.width = 100; continueButton.height = 18; continueButton.x = ((background.width - continueButton.width) - 32); continueButton.y = ((background.height - continueButton.height) - 32); nextButton.buttonLabelStyle = _local1; nextButton.width = 100; continueButton.height = 18; nextButton.x = ((background.width - nextButton.width) * 0.5); nextButton.y = ((background.height - nextButton.height) - 64); content = new Label(Config.TEXT_HELP_PAGE_1, _local3); content.element.alpha = 0.8; content.element.width = 444; content.element.x = int(((background.width - content.element.width) * 0.5)); content.element.y = int(((title.element.y + title.element.height) + 16)); container.addChild(background); container.addChild(title.element); container.addChild(content.element); container.addChild(nextButton); container.addChild(continueButton); container.addChild(foreground); pages = [Config.TEXT_HELP_PAGE_1, Config.TEXT_HELP_PAGE_2, Config.TEXT_HELP_PAGE_3, Config.TEXT_HELP_PAGE_4, Config.TEXT_HELP_PAGE_5, Config.TEXT_HELP_PAGE_6]; } override public function releaseInputs():void{ continueButton.click = null; nextButton.click = null; } override public function captureInputs():void{ continueButton.click = onClickContinue; nextButton.click = onClickNext; } override public function init():Boolean{ return (true); } override public function start():void{ captureInputs(); } override public function cleanup():void{ } override public function pause():void{ } private function onClickContinue():void{ ScreenManager.instance.showScreen(Config.SCREEN_TITLE); } private function onClickNext():void{ currentPage++; if (currentPage == pages.length){ currentPage = 0; }; content.update(pages[currentPage]); } } }//package game.screens
Section 309
//IntroScreen (game.screens.IntroScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class IntroScreen extends Screen { private var foreground:Bitmap; private var mothLogo:Bitmap; private var okButton:CustomScaleBitmapButton; private var background:Bitmap; private var contentLabel:Label; private var group:Sprite; public function IntroScreen(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4); contentLabel = new Label(Config.TEXT_INTRO, _local2); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_MOTHLOGO); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); mothLogo = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_MOTHLOGO).bitmapData); okButton = new CustomScaleBitmapButton(Config.TEXT_OK, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.deleteBitmapAsset(Config.ASSET_MOTHLOGO); group = new Sprite(); group.graphics.beginFill(0, 0.4); group.graphics.drawRoundRect(0, 0, 480, 320, 16, 16); group.x = (group.y = 80); mothLogo.x = ((group.width - mothLogo.width) * 0.5); mothLogo.y = 16; okButton.buttonLabelStyle = _local2; contentLabel.element.width = 448; contentLabel.element.height = 144; contentLabel.element.x = 16; contentLabel.element.y = 128; okButton.width = 96; okButton.height = 18; okButton.x = ((group.width - okButton.width) * 0.5); okButton.y = ((contentLabel.element.y + contentLabel.element.height) + 16); group.addChild(mothLogo); group.addChild(contentLabel.element); group.addChild(okButton); container.addChild(background); container.addChild(group); container.addChild(foreground); } override public function pause():void{ } private function onClickOK():void{ ScreenManager.instance.showScreen(Config.SCREEN_USER); } override public function releaseInputs():void{ okButton.click = null; } override public function captureInputs():void{ okButton.click = onClickOK; } override public function init():Boolean{ captureInputs(); return (true); } override public function start():void{ } override public function cleanup():void{ releaseInputs(); } } }//package game.screens
Section 310
//KilledScreen (game.screens.KilledScreen) package game.screens { import flash.display.*; import engine.managers.*; import flash.events.*; import tofu.ui.*; import flash.utils.*; import engine.ui.*; import game.*; public class KilledScreen extends Screen { private var timer:Timer; private var title:Label; public function KilledScreen(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); title = new Label(Config.TEXT_KILLED, _local1); title.element.width = Config.STAGE_WIDTH; title.element.y = ((Config.STAGE_HEIGHT - title.element.height) * 0.5); container.addChild(title.element); timer = new Timer(2000, 1); } override public function start():void{ timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimer); timer.start(); } override public function cleanup():void{ timer.stop(); timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimer); } private function onTimer(_arg1:TimerEvent):void{ cleanup(); ScreenManager.instance.showScreen(Config.SCREEN_USER); } override public function releaseInputs():void{ } override public function captureInputs():void{ } override public function init():Boolean{ Profile.instance.statSitesUnKilled = 0; return (true); } override public function pause():void{ } } }//package game.screens
Section 311
//LevelSummary (game.screens.LevelSummary) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.events.*; import tofu.ui.*; import game.entities.*; import flash.utils.*; import engine.ui.*; import game.*; import game.screens.widget.*; import game.entities.items.*; import tofu.util.*; public class LevelSummary extends Screen { private var scavengeTime:int; private var details:Label; private var scavengeLabel:Label; private var itemSubGroup:Group; private var scavengeGroup:Sprite; private var title:Label; private var scavengeTimer:Timer; private var adGroup:Sprite; private var scavengeBar:Sprite; private var okButton:CustomScaleBitmapButton; private var scavengeBarBorder:Sprite; private var itemBoxes:Array; private var summaryGroup:Sprite; public function LevelSummary(){ var _local5:int; var _local6:ItemBox; super(); container = new Sprite(); summaryGroup = new Sprite(); summaryGroup.graphics.beginFill(0xFFFFFF, 0.2); summaryGroup.graphics.drawRoundRect(0, 0, 624, 464, 16, 16); summaryGroup.x = 8; summaryGroup.y = 8; var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); title = new Label(Config.TEXT_LEVELCOMPLETE, _local1); title.element.width = (summaryGroup.width - 16); title.element.x = ((summaryGroup.width - title.element.width) * 0.5); title.element.y = 8; var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT).setLeading(4); details = new Label(Config.TEXT_SUMMARY_DETAILS, _local2); details.element.alpha = 0.8; details.element.width = (summaryGroup.width - 0x0100); details.element.x = ((summaryGroup.width - details.element.width) * 0.5); details.element.y = int(((title.element.y + title.element.height) + 24)); okButton = new CustomScaleBitmapButton(Config.TEXT_SELECTPROFILE_OKBUTTON, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); okButton.buttonLabelStyle = _local3; okButton.width = 72; okButton.height = 18; okButton.x = ((summaryGroup.width - okButton.width) * 0.5); okButton.y = ((summaryGroup.height - okButton.height) - 8); itemSubGroup = new Group(); itemSubGroup.sprite.graphics.beginFill(0, 0.2); itemSubGroup.sprite.graphics.drawRoundRect(0, 0, 0x0100, 112, 16, 16); itemSubGroup.sprite.x = ((summaryGroup.width - itemSubGroup.sprite.width) * 0.5); itemSubGroup.sprite.y = ((okButton.y - itemSubGroup.sprite.height) - 8); itemBoxes = []; var _local4:int; while (_local4 < 2) { _local5 = 0; while (_local5 < 5) { _local6 = new ItemBox(itemSubGroup); _local6.sprite.x = (((_local5)>0) ? (_local5 * (_local6.sprite.width + 4)) : 0 + 10); _local6.sprite.y = (((_local4)>0) ? (_local4 * (_local6.sprite.height + 4)) : 0 + 10); itemSubGroup.sprite.addChild(_local6.sprite); itemBoxes.push(_local6); _local5++; }; _local4++; }; itemSubGroup.buildDesc(); scavengeGroup = new Sprite(); scavengeGroup.graphics.beginFill(0, 0.2); scavengeGroup.graphics.drawRoundRect(0, 0, 0x0100, 112, 16, 16); scavengeBarBorder = new Sprite(); scavengeBarBorder.graphics.lineStyle(2, 0xFFFFFF, 1, true); scavengeBarBorder.graphics.drawRect(0, 0, 128, 16); scavengeBar = new Sprite(); scavengeBar.graphics.beginFill(0xFFFFFF); scavengeBar.graphics.drawRect(0, 0, 124, 12); scavengeBar.x = (scavengeBar.y = 2); scavengeBarBorder.addChild(scavengeBar); scavengeBarBorder.x = ((scavengeGroup.width - scavengeBarBorder.width) * 0.5); scavengeBarBorder.y = ((scavengeGroup.height - scavengeBarBorder.height) * 0.5); scavengeLabel = new Label(Config.TEXT_SUMMARY_SCAVENGE_TIMER, _local3); scavengeLabel.element.width = 0x0100; scavengeLabel.element.height = 16; scavengeLabel.element.x = 0; scavengeLabel.element.y = (scavengeBarBorder.y - 24); scavengeGroup.addChild(scavengeBarBorder); scavengeGroup.addChild(scavengeLabel.element); scavengeGroup.x = ((summaryGroup.width - scavengeGroup.width) * 0.5); scavengeGroup.y = ((okButton.y - scavengeGroup.height) - 8); summaryGroup.addChild(title.element); summaryGroup.addChild(details.element); summaryGroup.addChild(itemSubGroup.sprite); summaryGroup.addChild(scavengeGroup); summaryGroup.addChild(okButton); container.addChild(summaryGroup); scavengeTimer = new Timer(100); scavengeTimer.addEventListener(TimerEvent.TIMER, onTimerScavenge); } override public function captureInputs():void{ okButton.click = onClickOk; } override public function init():Boolean{ var _local18:int; var _local19:Item; var _local20:ItemBox; var _local21:Item; Profile.instance.statSitesCleared++; Profile.instance.statSitesUnKilled++; if (AwardList.instance.isValid(Config.AWARD130.id, Profile.instance.statSitesUnKilled, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD130.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD140.id, Profile.instance.statSitesUnKilled, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD140.id)] = true; }; scavengeTime = (Profile.instance.lastLevelTime / Config.SCAVENGE_TIME); var _local1:Array = []; var _local2:Array = ArrayTool.shuffle(ArrayTool.copyArray(Profile.instance.lastLevelScavenge)); var _local3:int; while (_local3 < scavengeTime) { _local18 = CustomMath.rangedRandom(0, (_local2.length - 1)); _local19 = ItemList.instance.getItem(_local2[_local18]); if (Math.random() <= _local19.rarity){ _local1.push(_local19); }; _local3++; }; var _local4:int; var _local5:int; while (_local5 < (itemBoxes.length - 1)) { _local20 = itemBoxes[_local5]; _local21 = _local1[_local5]; _local20.cleanup(); if (_local21){ _local20.insert(_local21); if (_local21.type != Config.ITEMTYPE_CREDIT){ Profile.instance.inventory.push(_local21.id); Profile.instance.statItemsCollected++; if (AwardList.instance.isValid(Config.AWARD20.id, Profile.instance.statItemsCollected, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD20.id)] = true; }; if (Profile.instance.statMods.indexOf(_local21.id) == -1){ Profile.instance.statMods.push(_local21.id); }; if (AwardList.instance.isValid(Config.AWARD31.id, Profile.instance.statMods.length, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD31.id)] = true; }; } else { _local4 = (_local4 + Credit(_local21).value); }; }; _local5++; }; Profile.instance.statHits = (Profile.instance.statHits + Profile.instance.lastLevelHits); Profile.instance.statShots = (Profile.instance.statShots + Profile.instance.lastLevelShots); Profile.instance.statKills = (Profile.instance.statKills + Profile.instance.lastLevelKills); if (AwardList.instance.isValid(Config.AWARD100.id, Profile.instance.statKills, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD100.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD110.id, Profile.instance.statKills, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD110.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD120.id, Profile.instance.statKills, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD120.id)] = true; }; var _local6:int = int(((Profile.instance.lastLevelHits / Profile.instance.lastLevelShots) * 100)); var _local7:int = (Profile.instance.lastLevelExp * 10); var _local8:int = (Profile.instance.lastLevelTime * 10); var _local9:int = (_local6 * 10); var _local10:int = ((_local7 + _local8) + _local9); var _local11:int = (int((_local8 * 0.25)) + (Profile.instance.lastLevelExp * 2)); details.update(StringTool.embed(Config.TEXT_SUMMARY_DETAILS, [Profile.instance.lastLevelTime, Profile.instance.lastLevelKills, _local6, Profile.instance.lastLevelHits, Profile.instance.lastLevelShots, _local7, _local8, _local9, _local10, _local11])); Profile.instance.exp = (Profile.instance.exp + _local10); var _local12:int = (_local4 + _local11); Profile.instance.credits = (Profile.instance.credits + _local12); Profile.instance.statCredits = (Profile.instance.statCredits + _local12); if (AwardList.instance.isValid(Config.AWARD5.id, Profile.instance.statCredits, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD5.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD10.id, Profile.instance.statCredits, AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD10.id)] = true; }; var _local13:int = ((((Profile.instance.levelCounts[Config.LEVEL_1F] >= Config.REQ_LEVEL_1[5])) && ((Profile.instance.campaign == 1)))) ? 1 : 0; var _local14:int = ((((Profile.instance.levelCounts[Config.LEVEL_2F] >= Config.REQ_LEVEL_2[5])) && ((Profile.instance.campaign == 2)))) ? 1 : 0; var _local15:int = ((((Profile.instance.levelCounts[Config.LEVEL_3F] >= Config.REQ_LEVEL_3[5])) && ((Profile.instance.campaign == 3)))) ? 1 : 0; var _local16:int = ((((Profile.instance.levelCounts[Config.LEVEL_4F] >= Config.REQ_LEVEL_4[5])) && ((Profile.instance.campaign == 4)))) ? 1 : 0; var _local17:int = ((((Profile.instance.levelCounts[Config.LEVEL_5F] >= Config.REQ_LEVEL_5[5])) && ((Profile.instance.campaign == 5)))) ? 1 : 0; if (AwardList.instance.isValid(Config.AWARD150.id, _local13, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD150.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD151.id, _local14, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD151.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD152.id, _local15, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD152.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD153.id, _local16, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD153.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD154.id, _local17, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD154.id)] = true; }; if (_local17 == 1){ if (AwardList.instance.isValid(Config.AWARD40.id, int(((Profile.instance.statHits / Profile.instance.statShots) * 100)), AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD40.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD50.id, int(((Profile.instance.statHits / Profile.instance.statShots) * 100)), AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD50.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD60.id, int(((Profile.instance.statHits / Profile.instance.statShots) * 100)), AwardList.COMPARE_HIGHER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD60.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD61.id, Profile.instance.statSites, AwardList.COMPARE_LOWER)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD61.id)] = true; }; if (AwardList.instance.isValid(Config.AWARD62.id, Profile.instance.statSites, AwardList.COMPARE_EQUAL)){ Profile.instance.awards[AwardList.instance.getAwardIndex(Config.AWARD62.id)] = true; }; Profile.instance.isFinished = true; }; Profile.instance.save(); scavengeGroup.visible = true; itemSubGroup.sprite.visible = false; scavengeBar.scaleX = 0; okButton.lock(); return (true); } private function onTimerScavenge(_arg1:TimerEvent):void{ if (scavengeTimer.currentCount < scavengeTime){ scavengeBar.scaleX = (scavengeTimer.currentCount / scavengeTime); } else { scavengeTimer.reset(); okButton.unlock(); scavengeGroup.visible = false; itemSubGroup.sprite.visible = true; }; } override public function start():void{ captureInputs(); scavengeTimer.start(); } private function onClickOk():void{ releaseInputs(); if (Profile.instance.isFinished){ ScreenManager.instance.showScreen(Config.SCREEN_VICTORY); } else { ScreenManager.instance.showScreen(Config.SCREEN_USER); }; } override public function releaseInputs():void{ okButton.click = null; } override public function cleanup():void{ } override public function pause():void{ } } }//package game.screens
Section 312
//PauseDialog (game.screens.PauseDialog) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import game.managers.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class PauseDialog extends Screen { private var quitButton:CustomScaleBitmapButton; private var pauseLabel:Label; private var cancelButton:CustomScaleBitmapButton; private var group:Sprite; public function PauseDialog(){ container = new Sprite(); group = new Sprite(); group.graphics.beginFill(0); group.graphics.drawRoundRect(0, 0, 300, 100, 16, 16); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); pauseLabel = new Label(Config.TEXT_PAUSE_TITLE, _local1); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); quitButton = new CustomScaleBitmapButton(Config.TEXT_PAUSE_QUIT, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); cancelButton = new CustomScaleBitmapButton(Config.TEXT_PAUSE_CANCEL, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); quitButton.buttonLabelStyle = _local2; cancelButton.buttonLabelStyle = _local2; pauseLabel.element.width = 284; pauseLabel.element.x = ((group.width - pauseLabel.element.width) * 0.5); pauseLabel.element.y = 10; quitButton.width = 284; quitButton.height = 18; cancelButton.width = 284; cancelButton.height = 18; cancelButton.x = (quitButton.x = 8); quitButton.y = ((group.height - quitButton.height) - 8); cancelButton.y = ((quitButton.y - cancelButton.height) - 4); group.x = ((Config.STAGE_WIDTH - group.width) * 0.5); group.y = ((Config.STAGE_HEIGHT - group.height) * 0.5); group.addChild(pauseLabel.element); group.addChild(quitButton); group.addChild(cancelButton); container.addChild(group); } override public function cleanup():void{ releaseInputs(); } override public function releaseInputs():void{ InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_ESC, onCancel); quitButton.click = null; cancelButton.click = null; } override public function start():void{ captureInputs(); } override public function captureInputs():void{ InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_ESC, onCancel); quitButton.click = onClickQuit; cancelButton.click = onCancel; } override public function init():Boolean{ return (true); } override public function pause():void{ } private function onCancel():void{ ScreenManager.instance.hideDialog(); ScreenManager.instance.getScreen(Config.SCREEN_PLAY).start(); } private function onClickQuit():void{ PlayObjectManager.instance.endGame(); ScreenManager.instance.hideDialog(); ScreenManager.instance.showScreen(Config.SCREEN_USER); } } }//package game.screens
Section 313
//PlayScreen (game.screens.PlayScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.net.*; import flash.events.*; import tofu.ui.*; import game.entities.*; import game.managers.*; import engine.blit.*; import engine.ui.*; import game.*; import game.screens.widget.*; import game.entities.items.*; import flash.filters.*; import tofu.util.*; public class PlayScreen extends Screen { private var isPressingUp:Boolean; private var mapContainer:Render; private var isPressingRight:Boolean; private var clearedLevelLabel:Label; private var isPressingMouse:Boolean; private var cursorBitmap:Bitmap; private var hitGlowDelay:int; private var minimap:MiniMap; private var timerLabel:Label; private var isPressingLeft:Boolean; private var infoLayer:Sprite; private var isPressingDown:Boolean; private var statusReport:StatusReport; private var collisionLayer:Layer; private var objectLayer:Layer; private var armorBar:HUDBar; private var weaponBar:HUDBar; private var lightLayer:Sprite; private var belowObjectLayer:Layer; private var lightBitmap:Bitmap; private var infoLabel:Label; private var poisonBar:PoisonBar; private var hudContainer:Sprite; private var currentTime:int; private var hitGlowLayer:Sprite; private var isPaused:Boolean; private var sponsorSprite:Sprite; public function PlayScreen(){ isPaused = false; container = new Sprite(); mapContainer = new Render(Config.STAGE_WIDTH, Config.STAGE_HEIGHT); hudContainer = new Sprite(); infoLayer = new Sprite(); lightLayer = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_CURSOR); cursorBitmap = new Bitmap(new BitmapData(8, 8, true, 0xFFFFFF)); cursorBitmap.bitmapData.copyPixels(AssetManager.instance.getBitmapAsset(Config.ASSET_CURSOR).bitmapData, new Rectangle(0, 0, 8, 8), new Point()); AssetManager.instance.deleteBitmapAsset(Config.ASSET_CURSOR); var _local1:Bitmap = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_SPONSOR_SMALL).bitmapData); sponsorSprite = new Sprite(); sponsorSprite.addChild(_local1); sponsorSprite.buttonMode = true; collisionLayer = new Layer(); belowObjectLayer = new Layer(); objectLayer = new Layer(); lightBitmap = new Bitmap(new BitmapData(Config.LIGHTLAYER_WIDTH, Config.LIGHTLAYER_HEIGHT, true, 0xFFFFFF), PixelSnapping.ALWAYS, false); lightBitmap.x = (-(Config.LIGHTLAYER_WIDTH) * 0.5); lightBitmap.y = (-(Config.LIGHTLAYER_HEIGHT) * 0.5); lightLayer.addChild(lightBitmap); lightLayer.x = (Config.STAGE_WIDTH * 0.5); lightLayer.y = (Config.STAGE_HEIGHT * 0.5); hitGlowLayer = new Sprite(); hitGlowLayer.graphics.beginFill(0); hitGlowLayer.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); hitGlowLayer.filters = [new GlowFilter(0xFF0000, 1, 320, 240, 1, 3, true, true)]; hitGlowLayer.visible = false; hitGlowDelay = 0; sponsorSprite.x = ((Config.STAGE_WIDTH - sponsorSprite.width) * 0.5); sponsorSprite.y = 8; statusReport = new StatusReport(); statusReport.sprite.x = 10; statusReport.sprite.y = (Config.STAGE_HEIGHT - 10); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(false).setAlign(LabelStyle.ALIGN_CENTER); clearedLevelLabel = new Label(Config.TEXT_PLAY_CLEARED, _local2); clearedLevelLabel.element.width = 320; clearedLevelLabel.element.x = ((Config.STAGE_WIDTH - clearedLevelLabel.element.width) * 0.5); clearedLevelLabel.element.y = 130; var _local3:LabelStyle = new LabelStyle().clone(_local2).setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20); timerLabel = new Label("00", _local3); timerLabel.element.width = 240; timerLabel.element.x = int(((Config.STAGE_WIDTH - timerLabel.element.width) * 0.5)); timerLabel.element.y = ((sponsorSprite.y + sponsorSprite.height) + 10); armorBar = new HUDBar(HUDBar.ALIGN_LEFT, Config.TEXT_PLAY_HUD_ARMOR); weaponBar = new HUDBar(HUDBar.ALIGN_RIGHT, Config.TEXT_PLAY_HUD_WEAPON); poisonBar = new PoisonBar(); weaponBar.sprite.y = (armorBar.sprite.y = 6); weaponBar.sprite.x = 475; poisonBar.sprite.x = (Config.STAGE_CENTER_X - (poisonBar.sprite.width * 0.5)); poisonBar.sprite.y = int(((timerLabel.element.y + timerLabel.element.height) + 10)); poisonBar.sprite.visible = false; minimap = new MiniMap(); minimap.sprite.x = (Config.STAGE_WIDTH - (18 * 4)); minimap.sprite.y = (Config.STAGE_HEIGHT - (18 * 4)); infoLabel = new Label("", new LabelStyle().clone(_local2).setAlign(LabelStyle.ALIGN_RIGHT).setWordWrap(true).setMultiLine(true).setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT5).fontName).setSize(8)); infoLabel.element.width = 0x0200; infoLabel.element.height = 64; infoLabel.element.alpha = 0.8; infoLabel.element.x = int(((minimap.sprite.x - infoLabel.element.width) - 16)); infoLabel.element.y = int(((Config.STAGE_HEIGHT - infoLabel.element.height) - 48)); infoLayer.addChild(infoLabel.element); mapContainer.addLayer(collisionLayer); mapContainer.addLayer(belowObjectLayer); mapContainer.addLayer(objectLayer); hudContainer.addChild(cursorBitmap); hudContainer.addChild(armorBar.sprite); hudContainer.addChild(poisonBar.sprite); hudContainer.addChild(weaponBar.sprite); hudContainer.addChild(minimap.sprite); hudContainer.addChild(statusReport.sprite); hudContainer.addChild(clearedLevelLabel.element); hudContainer.addChild(timerLabel.element); hudContainer.addChild(infoLayer); hudContainer.addChild(sponsorSprite); container.addChild(mapContainer); container.addChild(lightLayer); container.addChild(hitGlowLayer); container.addChild(hudContainer); sponsorSprite.addEventListener(MouseEvent.CLICK, onClickSponsor); } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } private function setupLights():void{ var _local1:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); var _local2:int = _local1.centerLightRadius; var _local3:int = _local1.torchLightWidth; var _local4:int = _local1.torchLightHeight; var _local5:Number = 0; var _local6:Number = 0.7; var _local7:Number = 0; var _local8:Number = 0.6; var _local9 = 180; var _local10 = 0xFF; var _local11 = 200; var _local12 = 0xFF; var _local13:Matrix = new Matrix(); var _local14:Sprite = new Sprite(); var _local15:Matrix = new Matrix(); var _local16:Sprite = new Sprite(); _local13.createGradientBox(_local2, _local2, 0, ((Config.LIGHTLAYER_WIDTH * 0.5) - (_local2 * 0.5)), ((Config.LIGHTLAYER_HEIGHT * 0.5) - (_local2 * 0.5))); _local14.graphics.beginGradientFill(GradientType.RADIAL, [0, 0], [_local5, _local6], [_local9, _local10], _local13); _local14.graphics.drawRect(0, 0, Config.LIGHTLAYER_WIDTH, Config.LIGHTLAYER_HEIGHT); _local14.graphics.endFill(); _local15.createGradientBox(_local3, _local4, 0, ((Config.LIGHTLAYER_WIDTH * 0.5) - 4), ((Config.LIGHTLAYER_HEIGHT * 0.5) - (_local4 * 0.5))); _local16.graphics.beginGradientFill(GradientType.RADIAL, [0, 0], [_local7, _local8], [_local11, _local12], _local15, SpreadMethod.PAD, InterpolationMethod.RGB, -1); _local16.graphics.drawRect(0, 0, Config.LIGHTLAYER_WIDTH, Config.LIGHTLAYER_HEIGHT); _local16.graphics.endFill(); lightBitmap.bitmapData.fillRect(new Rectangle(0, 0, Config.LIGHTLAYER_WIDTH, Config.LIGHTLAYER_HEIGHT), 0xFFFFFF); lightBitmap.bitmapData.draw(_local14); lightBitmap.bitmapData.draw(_local16); } public function showHitGlow():void{ hitGlowLayer.visible = true; hitGlowDelay = 1; } override public function init():Boolean{ Profile.instance.lastLevelTime = 0; Profile.instance.lastLevelShots = 0; Profile.instance.lastLevelHits = 0; Profile.instance.lastLevelKills = 0; Profile.instance.lastLevelExp = 0; Profile.instance.lastLevelScavenge = []; statusReport.reset(); setupLights(); isPressingDown = false; isPressingLeft = false; isPressingRight = false; isPressingUp = false; isPressingMouse = false; AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_AVATARUPPER); AssetManager.instance.loadBitmapAsset(Config.ASSET_AVATARPOISONED); AssetManager.instance.loadBitmapAsset(Config.ASSET_AVATARSLOWED); AssetManager.instance.loadBitmapAsset(Config.ASSET_PICKUP); AssetManager.instance.loadBitmapAsset(Config.ASSET_DOOR01); AssetManager.instance.loadBitmapAsset(Config.ASSET_DOOR02); AssetManager.instance.loadBitmapAsset(Config.ASSET_DOOR03); AssetManager.instance.loadBitmapAsset(Config.ASSET_DOOR04); AssetManager.instance.loadBitmapAsset(Config.ASSET_DOOR05); AssetManager.instance.loadBitmapAsset(Config.ASSET_BLOODPARTICLE01); AssetManager.instance.loadBitmapAsset(Config.ASSET_BLOODPARTICLE02); AssetManager.instance.loadBitmapAsset(Config.ASSET_BLOODPARTICLE03); AssetManager.instance.loadBitmapAsset(Config.ASSET_BLOODPARTICLE04); AssetManager.instance.loadBitmapAsset(Config.ASSET_POISONPARTICLE01); AssetManager.instance.loadBitmapAsset(Config.ASSET_POISONPARTICLE02); AssetManager.instance.loadBitmapAsset(Config.ASSET_POISONPARTICLE03); AssetManager.instance.loadBitmapAsset(Config.ASSET_POISONPARTICLE04); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_PULSE); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_PHOTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_NEUTRON); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_PLASMA); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_TACHYON); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_MELEE); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_POISON); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_SLOWS); AssetManager.instance.loadBitmapAsset(Config.ASSET_PROJECTILE_BASIC); AssetManager.instance.loadBitmapAsset(Config.ASSET_MUZZLE_PULSE); AssetManager.instance.loadBitmapAsset(Config.ASSET_MUZZLE_PHOTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_MUZZLE_NEUTRON); AssetManager.instance.loadBitmapAsset(Config.ASSET_MUZZLE_PLASMA); AssetManager.instance.loadBitmapAsset(Config.ASSET_MUZZLE_TACHYON); AssetManager.instance.loadBitmapAsset(Config.ASSET_EXPLOSION_A); AssetManager.instance.loadBitmapAsset(Config.ASSET_CURSOR); AssetManager.instance.loadBitmapAsset(Config.ASSET_MINIMAP); PlayObjectManager.instance.setupLayer(objectLayer); LevelManager.instance.setupLevel(mapContainer, belowObjectLayer, collisionLayer); minimap.setup(LevelManager.instance.levelRooms, 3); updateMiniMap(LevelManager.instance.startingRoom.position); var _local1:Chip = (ItemList.instance.getItem(Profile.instance.weaponChip) as Chip); var _local2:WeaponEnergy = (ItemList.instance.getItem(Profile.instance.weaponEnergy) as WeaponEnergy); var _local3:ArmorChip = (ItemList.instance.getItem(Profile.instance.armorChip) as ArmorChip); var _local4:ArmorEnergy = (ItemList.instance.getItem(Profile.instance.armorEnergy) as ArmorEnergy); var _local5:int = (((!((_local1.modChip == null))) && ((_local1.modChip.modEnergyConsumption.value(_local1.energyConsumption) > 0)))) ? _local1.modChip.modEnergyConsumption.value(_local1.energyConsumption) : _local1.energyConsumption; var _local6:Number = (_local5 / _local2.capacity); weaponBar.limit = _local6; weaponBar.setChipAndEnergy(_local1.icon, _local2.icon); armorBar.setChipAndEnergy(_local3.icon, _local4.icon); clearedLevelLabel.element.visible = false; hitGlowLayer.visible = false; hitGlowDelay = 0; currentTime = (LevelManager.instance.levelTime * Main.stage.frameRate); updateIndicators(); render(); return (true); } private function onPressLeft():void{ isPressingLeft = true; } private function onReleaseLeft():void{ isPressingLeft = false; } private function onReleaseRight():void{ isPressingRight = false; } private function render():void{ mapContainer.render(); } override public function cleanup():void{ releaseInputs(); AssetManager.instance.cleanupBitmapAssets(); } private function openPauseDialog():void{ pause(); releaseInputs(); ScreenManager.instance.showDialog(Config.DIALOG_PAUSE); } public function addReport(_arg1:String):void{ statusReport.addSlot(_arg1); } private function onPressT():void{ if (!isPaused){ Profile.instance.lastLevelTime = int((currentTime / Main.stage.frameRate)); Profile.instance.lastLevelScavenge = LevelManager.instance.currentLevelScavenge; PlayObjectManager.instance.teleport(); }; } private function onMouseUp():void{ isPressingMouse = false; } public function showClearedLabel():void{ if (!clearedLevelLabel.element.visible){ clearedLevelLabel.element.visible = true; }; } private function onMouseDown():void{ isPressingMouse = true; } private function update(_arg1:Event):void{ if (((Main.root.hasEventListener(Event.ENTER_FRAME)) || (!(isPaused)))){ if (hitGlowDelay > 0){ hitGlowDelay--; } else { hitGlowDelay = 0; hitGlowLayer.visible = false; }; currentTime--; if (currentTime < Main.stage.frameRate){ if (!LevelManager.instance.isLevelCleared()){ PlayObjectManager.instance.endGame(); ScreenManager.instance.showScreen(Config.SCREEN_KILLED); }; } else { PlayObjectManager.instance.applyInputs(isPressingUp, isPressingDown, isPressingLeft, isPressingRight, isPressingMouse); PlayObjectManager.instance.update(); CursorManager.instance.update(); onMouseMove(); updateIndicators(); render(); }; } else { pause(); }; } override public function captureInputs():void{ InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_ESC, openPauseDialog); InputManager.instance.registerKey(InputManager.UP, Config.KEY_DOWN, onReleaseDown); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_DOWN, onPressDown); InputManager.instance.registerKey(InputManager.UP, Config.KEY_UP, onReleaseUp); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_UP, onPressUp); InputManager.instance.registerKey(InputManager.UP, Config.KEY_LEFT, onReleaseLeft); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_LEFT, onPressLeft); InputManager.instance.registerKey(InputManager.UP, Config.KEY_RIGHT, onReleaseRight); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_RIGHT, onPressRight); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_SPACE, onPressSpace); InputManager.instance.registerKey(InputManager.DOWN, Config.KEY_T, onPressT); InputManager.instance.registerMouse(InputManager.UP, onMouseUp); InputManager.instance.registerMouse(InputManager.DOWN, onMouseDown); } override public function releaseInputs():void{ InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_ESC, openPauseDialog); InputManager.instance.unregisterKey(InputManager.UP, Config.KEY_DOWN, onReleaseDown); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_DOWN, onPressDown); InputManager.instance.unregisterKey(InputManager.UP, Config.KEY_UP, onReleaseUp); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_UP, onPressUp); InputManager.instance.unregisterKey(InputManager.UP, Config.KEY_LEFT, onReleaseLeft); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_LEFT, onPressLeft); InputManager.instance.unregisterKey(InputManager.UP, Config.KEY_RIGHT, onReleaseRight); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_RIGHT, onPressRight); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_SPACE, onPressSpace); InputManager.instance.unregisterKey(InputManager.DOWN, Config.KEY_T, onPressT); InputManager.instance.unregisterMouse(InputManager.UP, onMouseUp); InputManager.instance.unregisterMouse(InputManager.DOWN, onMouseDown); } private function onPressRight():void{ isPressingRight = true; } public function showInfo(_arg1:Boolean=true, _arg2:String=""):void{ if (_arg1){ if (_arg2 == null){ _arg2 = ""; }; infoLabel.update(_arg2); infoLayer.visible = true; } else { infoLayer.visible = false; }; } private function onReleaseUp():void{ isPressingUp = false; } private function onPressSpace():void{ var _local1:Point = PlayObjectManager.instance.openDoor(); if (_local1 != null){ updateMiniMap(_local1); }; } override public function start():void{ SoundManager.instance.playBGM(Config.ASSET_BGMMISSION); captureInputs(); cursorBitmap.visible = true; CursorManager.instance.hide(); onMouseMove(); Main.root.addEventListener(Event.ENTER_FRAME, update); isPaused = false; } private function onReleaseDown():void{ isPressingDown = false; } private function onPressUp():void{ isPressingUp = true; } private function updateIndicators():void{ weaponBar.update(PlayObjectManager.instance.avatarAmmo); armorBar.update(PlayObjectManager.instance.avatarHealth); poisonBar.update(PlayObjectManager.instance.avatarPoison); if (PlayObjectManager.instance.avatarPoison > 0){ poisonBar.sprite.visible = true; } else { poisonBar.sprite.visible = false; }; var _local1:String = int((currentTime / Main.stage.frameRate)).toString(); timerLabel.update(((_local1.length)==1) ? ("00" + _local1) : ((_local1.length)==2) ? ("0" + _local1) : _local1); } private function onPressDown():void{ isPressingDown = true; } override public function pause():void{ SoundManager.instance.stopBGM(); isPaused = true; releaseInputs(); cursorBitmap.visible = false; CursorManager.instance.show(); Main.root.removeEventListener(Event.ENTER_FRAME, update); } private function onMouseMove():void{ var _local1:Number = Math.atan2((CursorManager.instance.loc.y - Config.STAGE_CENTER_Y), (CursorManager.instance.loc.x - Config.STAGE_CENTER_X)); lightLayer.rotation = CustomMath.rad2deg(_local1); cursorBitmap.x = (CursorManager.instance.loc.x - 4); cursorBitmap.y = (CursorManager.instance.loc.y - 4); } public function updateMiniMap(_arg1:Point=null):void{ var _local2:Point = ((_arg1)==null) ? LevelManager.instance.currentRoomPosition : _arg1; minimap.update(_local2); } } }//package game.screens
Section 314
//SelectProfile (game.screens.SelectProfile) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class SelectProfile extends Screen { private var foreground:Bitmap; private var saveSlot1:SaveSlot; private var title:Label; private var background:Bitmap; private var saveSlot3:SaveSlot; private var backButton:CustomScaleBitmapButton; private var saveSlot2:SaveSlot; private var group:Sprite; public function SelectProfile(){ AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); container = new Sprite(); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); group = new Sprite(); group.graphics.beginFill(0, 0.4); group.graphics.drawRoundRect(0, 0, 480, 320, 16, 16); group.x = (group.y = 80); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_CENTER).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); title = new Label(Config.TEXT_SELECTPROFILE_TITLE, _local1); title.element.width = 480; title.element.height = 32; title.element.y = 32; saveSlot1 = new SaveSlot(Config.LSO_ID_SLOT1); saveSlot2 = new SaveSlot(Config.LSO_ID_SLOT2); saveSlot3 = new SaveSlot(Config.LSO_ID_SLOT3); saveSlot1.sprite.x = (saveSlot2.sprite.x = (saveSlot3.sprite.x = 16)); saveSlot1.sprite.y = 80; saveSlot2.sprite.y = 160; saveSlot3.sprite.y = 240; backButton = new CustomScaleBitmapButton(Config.TEXT_SELECTPROFILE_BACKBUTTON, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); backButton.buttonLabelStyle = _local2; backButton.width = 128; backButton.height = 18; backButton.x = ((background.width - backButton.width) * 0.5); backButton.y = 416; group.addChild(title.element); group.addChild(saveSlot1.sprite); group.addChild(saveSlot2.sprite); group.addChild(saveSlot3.sprite); container.addChild(background); container.addChild(group); container.addChild(backButton); container.addChild(foreground); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); } private function onClickBack():void{ ScreenManager.instance.showScreen(Config.SCREEN_TITLE); } override public function captureInputs():void{ backButton.click = onClickBack; } override public function init():Boolean{ saveSlot1.init(); saveSlot2.init(); saveSlot3.init(); captureInputs(); return (true); } override public function releaseInputs():void{ backButton.click = null; } override public function start():void{ } override public function cleanup():void{ saveSlot1.cleanup(); saveSlot2.cleanup(); saveSlot3.cleanup(); releaseInputs(); } override public function pause():void{ } } }//package game.screens
Section 315
//TitleScreen (game.screens.TitleScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.net.*; import flash.events.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; import flash.filters.*; import mochi.as3.*; public class TitleScreen extends Screen { private var highscoreButton:CustomScaleBitmapButton; private var foreground:Bitmap; private var playButton:CustomScaleBitmapButton; private var midground:Sprite; private var helpButton:CustomScaleBitmapButton; private var title:Label; private var playmoreButton:CustomScaleBitmapButton; private var witutek:Bitmap; private var creditsButton:CustomScaleBitmapButton; private var background:Bitmap; private var continueButton:CustomScaleBitmapButton; private var sponsorSprite:Sprite; public function TitleScreen(){ container = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_WITUTEKLOGO); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); witutek = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_WITUTEKLOGO).bitmapData); continueButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_CONTINUE, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); playButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_NEWGAME, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); helpButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_HELP, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); highscoreButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_SCORES, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); creditsButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_CREDITS, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); playmoreButton = new CustomScaleBitmapButton(Config.TEXT_MAIN_PLAYMORE, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); var _local1:Bitmap = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_SPONSOR_SMALL).bitmapData); AssetManager.instance.deleteBitmapAsset(Config.ASSET_WITUTEKLOGO); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); sponsorSprite = new Sprite(); sponsorSprite.addChild(_local1); sponsorSprite.buttonMode = true; midground = new Sprite(); var _local2:Sprite = new Sprite(); _local2.graphics.beginFill(0, 0.4); _local2.graphics.drawRoundRect(0, 0, 544, 192, 16, 16); var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0, 0.4); _local3.graphics.drawRoundRect(0, 0, 544, 80, 16, 16); var _local4:Sprite = new Sprite(); _local4.graphics.beginFill(0, 0.4); _local4.graphics.drawRoundRect(0, 0, 544, 80, 16, 16); _local2.x = (_local3.x = (_local4.x = 48)); _local2.y = 48; _local3.y = 0x0100; _local4.y = 352; midground.addChild(_local2); midground.addChild(_local3); midground.addChild(_local4); var _local5:LabelStyle = new LabelStyle(); _local5.setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local6:LabelStyle = new LabelStyle(); _local6.setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(48).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); title = new Label(Config.TEXT_MAIN_TITLE, _local6); title.element.filters = [new GlowFilter(11256026, 0.75, 16, 16, 2.3, 2)]; title.element.alpha = 0.8; title.element.width = 544; title.element.height = 104; title.element.x = ((background.width - title.element.width) * 0.5); title.element.y = 96; continueButton.buttonLabelStyle = _local5; playButton.buttonLabelStyle = _local5; helpButton.buttonLabelStyle = _local5; highscoreButton.buttonLabelStyle = _local5; creditsButton.buttonLabelStyle = _local5; playmoreButton.buttonLabelStyle = _local5; continueButton.width = 100; continueButton.height = 18; playButton.width = 100; playButton.height = 18; helpButton.width = 100; helpButton.height = 18; highscoreButton.width = 100; highscoreButton.height = 18; creditsButton.width = 100; creditsButton.height = 18; playmoreButton.width = 135; playmoreButton.height = 28; continueButton.x = 64; continueButton.y = 288; playButton.x = (continueButton.getRect(container).right + 3); playButton.y = 288; helpButton.x = (playButton.getRect(container).right + 3); helpButton.y = 288; highscoreButton.x = (helpButton.getRect(container).right + 3); highscoreButton.y = 288; creditsButton.x = (highscoreButton.getRect(container).right + 3); creditsButton.y = 288; playmoreButton.x = ((background.width - playmoreButton.width) * 0.5); playmoreButton.y = 378; witutek.x = 64; witutek.y = 368; sponsorSprite.x = ((Config.STAGE_WIDTH - sponsorSprite.width) - 64); sponsorSprite.y = 378; container.addChild(background); container.addChild(midground); container.addChild(title.element); container.addChild(continueButton); container.addChild(playButton); container.addChild(helpButton); container.addChild(highscoreButton); container.addChild(creditsButton); container.addChild(playmoreButton); container.addChild(witutek); container.addChild(sponsorSprite); container.addChild(foreground); } private function onClickHighScore():void{ MochiScores.showLeaderboard({}); } private function onClickHelp():void{ ScreenManager.instance.showScreen(Config.SCREEN_HELP); } override public function init():Boolean{ var _local1:int; if (SharedObjectManager.instance.apply(Config.LSO_SLOTSDATA)){ if (SharedObjectManager.instance.current.data[Config.LSO_ID_SLOT1].name == Config.TEXT_SELECTPROFILE_EMPTYNAME){ _local1++; }; if (SharedObjectManager.instance.current.data[Config.LSO_ID_SLOT2].name == Config.TEXT_SELECTPROFILE_EMPTYNAME){ _local1++; }; if (SharedObjectManager.instance.current.data[Config.LSO_ID_SLOT3].name == Config.TEXT_SELECTPROFILE_EMPTYNAME){ _local1++; }; }; if (_local1 == 3){ continueButton.lock(); }; return (true); } private function onClickCredit():void{ ScreenManager.instance.showScreen(Config.SCREEN_CREDITS); } override public function captureInputs():void{ continueButton.click = onClickContinue; playButton.click = onClickNewGame; creditsButton.click = onClickCredit; helpButton.click = onClickHelp; highscoreButton.click = onClickHighScore; playmoreButton.click = onClickSponsor; sponsorSprite.addEventListener(MouseEvent.CLICK, onClickSponsor); } private function onClickNewGame():void{ Config.isNewGame = true; Profile.instance.reset(); ScreenManager.instance.showScreen(Config.SCREEN_SELECTPROFILE); } override public function start():void{ captureInputs(); } override public function cleanup():void{ } override public function releaseInputs():void{ continueButton.click = null; playButton.click = null; creditsButton.click = null; helpButton.click = null; highscoreButton.click = null; playmoreButton.click = null; sponsorSprite.removeEventListener(MouseEvent.CLICK, onClickSponsor); } private function onClickContinue():void{ Config.isNewGame = false; Profile.instance.reset(); ScreenManager.instance.showScreen(Config.SCREEN_SELECTPROFILE); } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } override public function pause():void{ } } }//package game.screens
Section 316
//TutorialDialog (game.screens.TutorialDialog) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; public class TutorialDialog extends Screen { private var titleLabel:Label; private var turnOffButton:CustomScaleBitmapButton; private var okButton:CustomScaleBitmapButton; private var contentLabel:Label; private var group:Sprite; public function TutorialDialog(){ container = new Sprite(); group = new Sprite(); group.graphics.beginFill(0); group.graphics.drawRoundRect(0, 0, 300, 200, 16, 16); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); titleLabel = new Label(Config.TEXT_PAUSE_TITLE, _local1); contentLabel = new Label(Config.TEXT_PAUSE_TITLE, _local2); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); okButton = new CustomScaleBitmapButton(Config.TEXT_PAUSE_QUIT, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); turnOffButton = new CustomScaleBitmapButton(Config.TEXT_PAUSE_CANCEL, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); okButton.buttonLabelStyle = _local2; turnOffButton.buttonLabelStyle = _local2; titleLabel.element.width = 284; titleLabel.element.x = ((group.width - titleLabel.element.width) * 0.5); titleLabel.element.y = 10; contentLabel.element.width = 284; contentLabel.element.x = ((group.width - titleLabel.element.width) * 0.5); contentLabel.element.y = 10; okButton.width = 284; okButton.height = 18; turnOffButton.width = 284; turnOffButton.height = 18; turnOffButton.x = (okButton.x = 8); okButton.y = ((group.height - okButton.height) - 8); turnOffButton.y = ((okButton.y - turnOffButton.height) - 4); group.x = ((Config.STAGE_WIDTH - group.width) * 0.5); group.y = ((Config.STAGE_HEIGHT - group.height) * 0.5); group.addChild(titleLabel.element); group.addChild(contentLabel.element); group.addChild(okButton); group.addChild(turnOffButton); var _local3:Sprite = new Sprite(); _local3.graphics.beginFill(0, 0); _local3.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); _local3.mouseEnabled = true; container.addChild(_local3); container.addChild(group); } private function onClickTurnOff():void{ ScreenManager.instance.hideDialog(); Profile.instance.save(); } override public function start():void{ } override public function cleanup():void{ releaseInputs(); } private function onClickOK():void{ ScreenManager.instance.hideDialog(); } override public function captureInputs():void{ okButton.click = onClickOK; turnOffButton.click = onClickTurnOff; } override public function init():Boolean{ captureInputs(); return (true); } override public function releaseInputs():void{ okButton.click = null; turnOffButton.click = null; } override public function pause():void{ } } }//package game.screens
Section 317
//UserScreen (game.screens.UserScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; import game.screens.widget.groups.*; public class UserScreen extends Screen { private const MAP_GROUP:String = "map"; private const STAT_GROUP:String = "stat"; private const SHOP_GROUP:String = "shop"; private const EQUIP_GROUP:String = "equip"; private var equipButton:CustomScaleBitmapButton; private var shop:Shop; private var contentContainer:Sprite; private var contentGroup:Sprite; private var navContainer:Sprite; private var navGroup:Sprite; private var statButton:CustomScaleBitmapButton; private var background:Bitmap; private var equip:Equip; private var mapButton:CustomScaleBitmapButton; private var usernameLabel:Label; private var foreground:Bitmap; private var shopButton:CustomScaleBitmapButton; private var midground:Sprite; private var stat:Stat; private var quitButton:CustomScaleBitmapButton; private var map:Map; public function UserScreen(){ container = new Sprite(); contentContainer = new Sprite(); contentGroup = new Sprite(); navContainer = new Sprite(); navGroup = new Sprite(); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONFRAME); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); statButton = new CustomScaleBitmapButton(Config.TEXT_USERNAV_STATS, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); mapButton = new CustomScaleBitmapButton(Config.TEXT_USERNAV_MAP, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); equipButton = new CustomScaleBitmapButton(Config.TEXT_USERNAV_EQUIP, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); shopButton = new CustomScaleBitmapButton(Config.TEXT_USERNAV_SHOP, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); quitButton = new CustomScaleBitmapButton(Config.TEXT_USERNAV_QUIT, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8)); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONFRAME); midground = new Sprite(); var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0, 0.4); _local1.graphics.drawRoundRect(0, 0, 544, 64, 16, 16); var _local2:Sprite = new Sprite(); _local2.graphics.beginFill(0, 0.4); _local2.graphics.drawRoundRect(0, 0, 544, 304, 16, 16); _local1.x = (_local2.x = 48); _local1.y = 48; _local2.y = 128; midground.addChild(_local1); midground.addChild(_local2); var _local3:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local4:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); var _local5:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local6:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_LEFT); usernameLabel = new Label(Config.TEXT_USERNAV_NONAME, _local3); mapButton.buttonLabelStyle = _local5; equipButton.buttonLabelStyle = _local5; shopButton.buttonLabelStyle = _local5; statButton.buttonLabelStyle = _local5; quitButton.buttonLabelStyle = _local5; usernameLabel.element.width = 224; usernameLabel.element.x = 64; usernameLabel.element.y = 56; usernameLabel.element.alpha = 0.6; mapButton.width = 52; mapButton.height = 18; equipButton.width = 52; equipButton.height = 18; shopButton.width = 52; shopButton.height = 18; statButton.width = 52; statButton.height = 18; quitButton.width = 52; quitButton.height = 18; statButton.x = 0; mapButton.x = (statButton.width + 4); equipButton.x = ((mapButton.x + mapButton.width) + 4); shopButton.x = ((equipButton.x + equipButton.width) + 4); quitButton.x = 464; navGroup.addChild(mapButton); navGroup.addChild(equipButton); navGroup.addChild(shopButton); navGroup.addChild(statButton); navGroup.addChild(quitButton); navGroup.x = 64; navGroup.y = (int((usernameLabel.element.height + usernameLabel.element.y)) + 4); navContainer.addChild(usernameLabel.element); navContainer.addChild(navGroup); contentGroup.x = 48; contentGroup.y = 128; map = new Map(); shop = new Shop(); equip = new Equip(); stat = new Stat(); contentContainer.addChild(contentGroup); container.addChild(background); container.addChild(midground); container.addChild(contentContainer); container.addChild(navContainer); container.addChild(foreground); } private function showGroup(_arg1:String):void{ if (contentGroup.numChildren > 0){ contentGroup.removeChildAt(0); }; switch (_arg1){ case STAT_GROUP: contentGroup.addChild(stat.sprite); break; case MAP_GROUP: contentGroup.addChild(map.sprite); break; case EQUIP_GROUP: contentGroup.addChild(equip.sprite); break; case SHOP_GROUP: contentGroup.addChild(shop.sprite); break; }; } override public function init():Boolean{ usernameLabel.update(Profile.instance.name); mapButton.setSelected(true); shop.init(); map.init(); showGroup(MAP_GROUP); return (true); } override public function cleanup():void{ if (SoundManager.instance.isPlayingBGM(Config.ASSET_BGMUSER)){ SoundManager.instance.stopBGM(); }; } private function updateGroup(_arg1:String):void{ switch (_arg1){ case STAT_GROUP: stat.update(); break; case MAP_GROUP: map.update(); break; case EQUIP_GROUP: equip.update(); break; case SHOP_GROUP: shop.update(); break; }; } private function onClickMap():void{ unSelectAll(); mapButton.setSelected(true); showGroup(MAP_GROUP); updateGroup(MAP_GROUP); } private function onClickEquip():void{ unSelectAll(); equipButton.setSelected(true); showGroup(EQUIP_GROUP); updateGroup(EQUIP_GROUP); } override public function releaseInputs():void{ statButton.click = null; mapButton.click = null; equipButton.click = null; shopButton.click = null; quitButton.click = null; } private function onClickQuit():void{ var _local1:Date; var _local2:String; var _local3:String; var _local4:String; var _local5:String; var _local6:String; var _local7:String; Profile.instance.save(); if (SharedObjectManager.instance.apply(Config.LSO_SLOTSDATA)){ _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); SharedObjectManager.instance.current.data[Profile.instance.id].end = _local7; SharedObjectManager.instance.update(); } else { throw (new Error(("Unable to open SO: " + Config.LSO_SLOTSDATA))); }; unSelectAll(); ScreenManager.instance.showScreen(Config.SCREEN_TITLE); } private function onClickStat():void{ unSelectAll(); statButton.setSelected(true); showGroup(STAT_GROUP); updateGroup(STAT_GROUP); } override public function start():void{ if (!SoundManager.instance.isPlayingBGM(Config.ASSET_BGMUSER)){ SoundManager.instance.playBGM(Config.ASSET_BGMUSER); }; captureInputs(); updateGroup(MAP_GROUP); } public function updateEquip():void{ equip.update(); } override public function captureInputs():void{ statButton.click = onClickStat; mapButton.click = onClickMap; equipButton.click = onClickEquip; shopButton.click = onClickShop; quitButton.click = onClickQuit; } private function unSelectAll():void{ statButton.setUnselected(); mapButton.setUnselected(); equipButton.setUnselected(); shopButton.setUnselected(); } override public function pause():void{ } private function onClickShop():void{ unSelectAll(); shopButton.setSelected(true); showGroup(SHOP_GROUP); updateGroup(SHOP_GROUP); } } }//package game.screens
Section 318
//UserToPlayTransition (game.screens.UserToPlayTransition) package game.screens { import engine.managers.*; import flash.events.*; import tofu.ui.*; import flash.utils.*; import engine.ui.*; import game.*; import gs.*; public class UserToPlayTransition extends Transition { private var timer:Timer; private var isOpen:Boolean; private var tl:TweenLite; private var content:Label; private function prePrepare():void{ prepare(); } private function onTimer(_arg1:TimerEvent):void{ if (isOpen){ if (layer.alpha > 0){ layer.alpha = (layer.alpha - 0.0625); }; if (layer.alpha <= 0){ timer.reset(); preStart(); }; } else { if (layer.alpha < 1){ layer.alpha = (layer.alpha + 0.0625); }; if (layer.alpha >= 1){ isOpen = true; timer.reset(); prePrepare(); }; }; } override protected function doClose():void{ layer.addChild(content.element); timer.start(); } override protected function doOpen():void{ content.update("LOADING COMPLETE"); timer.start(); } override protected function postSetup():void{ isOpen = false; layer.graphics.beginFill(0); layer.graphics.drawRect(0, 0, Config.STAGE_WIDTH, Config.STAGE_HEIGHT); layer.alpha = 0; content = new Label("...LOADING...", new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4)); content.element.width = 200; content.element.height = 20; content.element.x = int(((Config.STAGE_WIDTH - content.element.width) * 0.5)); content.element.y = int(((Config.STAGE_HEIGHT - content.element.height) * 0.5)); timer = new Timer(Main.stage.frameRate); timer.addEventListener(TimerEvent.TIMER, onTimer); } private function preStart():void{ layer.removeChild(content.element); start(); } } }//package game.screens
Section 319
//WinScreen (game.screens.WinScreen) package game.screens { import flash.display.*; import flash.geom.*; import engine.managers.*; import flash.net.*; import flash.events.*; import tofu.ui.*; import engine.ui.*; import game.*; import game.screens.widget.*; import tofu.util.*; import mochi.as3.*; public class WinScreen extends Screen { private var foreground:Bitmap; private var mothLogo:Bitmap; private var submitButton:CustomScaleBitmapButton; private var okButton:CustomScaleBitmapButton; private var background:Bitmap; private var contentLabel:Label; private var titleLabel:Label; private var group:Sprite; public function WinScreen(){ container = new Sprite(); var _local1:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT1).fontName).setSize(20).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER); var _local2:LabelStyle = new LabelStyle().setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT2).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setWordWrap(true).setMultiLine(true).setAlign(LabelStyle.ALIGN_CENTER).setLeading(4); titleLabel = new Label(Config.TEXT_VICTORY, _local1); contentLabel = new Label((Config.TEXT_SUBVICTORY + Config.TEXT_VICTORY_STAT), _local2); AssetManager.instance.loadBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.loadBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.loadBitmapAsset(Config.ASSET_MOTHLOGO); background = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_BACKGROUND).bitmapData); foreground = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_FOREGROUND).bitmapData); mothLogo = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_MOTHLOGO).bitmapData); okButton = new CustomScaleBitmapButton(Config.TEXT_OK, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); submitButton = new CustomScaleBitmapButton(Config.TEXT_STAT_SUBMITSCORE, AssetManager.instance.getBitmapAsset(Config.ASSET_COMMONBUTTON).bitmapData, 16, 16, new Rectangle(4, 4, 8, 8), true); var _local3:Bitmap = new Bitmap(AssetManager.instance.getBitmapAsset(Config.ASSET_SPONSOR_SMALL).bitmapData); AssetManager.instance.deleteBitmapAsset(Config.ASSET_BACKGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_FOREGROUND); AssetManager.instance.deleteBitmapAsset(Config.ASSET_COMMONBUTTON); AssetManager.instance.deleteBitmapAsset(Config.ASSET_MOTHLOGO); var _local4:Sprite = new Sprite(); _local4.addChild(_local3); _local4.buttonMode = true; group = new Sprite(); group.graphics.beginFill(0, 0.4); group.graphics.drawRoundRect(0, 0, 480, 320, 16, 16); group.x = (group.y = 80); mothLogo.x = ((group.width - mothLogo.width) * 0.5); mothLogo.y = 16; submitButton.buttonLabelStyle = _local2; okButton.buttonLabelStyle = _local2; titleLabel.element.width = 448; titleLabel.element.x = 16; titleLabel.element.y = ((mothLogo.y + mothLogo.height) + 8); contentLabel.element.width = 448; contentLabel.element.height = 144; contentLabel.element.x = 16; contentLabel.element.y = int((titleLabel.element.y + titleLabel.element.height)); submitButton.width = 128; submitButton.height = 18; submitButton.x = ((group.width - submitButton.width) * 0.5); submitButton.y = ((contentLabel.element.y + contentLabel.element.height) + 16); okButton.width = 128; okButton.height = 18; okButton.x = ((group.width - okButton.width) * 0.5); okButton.y = ((submitButton.y + submitButton.height) + 8); _local4.x = ((Config.STAGE_WIDTH - _local4.width) * 0.5); _local4.y = ((Config.STAGE_HEIGHT - _local4.height) - 32); group.addChild(mothLogo); group.addChild(titleLabel.element); group.addChild(contentLabel.element); group.addChild(submitButton); group.addChild(okButton); container.addChild(background); container.addChild(group); container.addChild(_local4); container.addChild(foreground); _local4.addEventListener(MouseEvent.CLICK, onClickSponsor); } override public function pause():void{ } private function onClickOK():void{ ScreenManager.instance.showScreen(Config.SCREEN_USER); } override public function captureInputs():void{ okButton.click = onClickOK; submitButton.click = onClickSubmit; } override public function init():Boolean{ contentLabel.update((Config.TEXT_SUBVICTORY + StringTool.embed(Config.TEXT_VICTORY_STAT, [Profile.instance.credits, Profile.instance.statSitesCleared, Profile.instance.statSites, Profile.instance.statKills, int(((Profile.instance.statHits / Profile.instance.statShots) * 100)), Profile.instance.exp]))); captureInputs(); return (true); } override public function releaseInputs():void{ okButton.click = null; submitButton.click = null; } override public function start():void{ } override public function cleanup():void{ releaseInputs(); } private function onClickSubmit():void{ MochiScores.showLeaderboard({score:Profile.instance.exp, name:Profile.instance.name}); } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } } }//package game.screens
Section 320
//Config (game.Config) package game { import engine.managers.*; public class Config { public static const TEXT_ITEM_MODCLICK:String = "CLICK TO MOD. NOTICE: MODS CAN NOT BE REMOVED"; public static const ITEM_ARMORENERGYPACKLET10:String = "ARMOR ENERGY PACKLET 10"; public static const ITEM_WEAPONCHIP_PULSE_III:String = "PULSE III"; public static const ITEM_SECONDARYEQUIP_TRAP_GRAPPLER_I:String = "GRAPPLER I"; public static const TEXT_EQUIP_ARMOR:String = "ARMOR"; public static const ASSET_SFXNEUTRON:String = "sfxNeutron"; public static const TEXT_INFO_1:String = "Use W-A-S-D keys to move, MOUSE to aim and LEFT MOUSE BUTTON to shoot."; public static const TEXT_INFO_2:String = "On every level entry, you are teleported to a safe room."; public static const TEXT_INFO_3:String = "The minimap shows what part of wall has a door. To go through a door, get near and press SPACE."; public static const TEXT_INFO_4:String = "Dead zombies may drop energy packlets. Green for armor, and blue for weapons."; public static const ROOMTYPE_SE:String = "ROOMTYPE_SE"; public static const TEXT_INFO_5:String = "Without picking up packlets, your weapon and armor can regen itself, but it takes time."; public static const ITEM_MODCHIP_CNEUTRON_III:String = "C-NEUTRON III"; public static const ASSET_ENEMYSKINNY01:String = "enemySkinny01"; public static const ASSET_ENEMYSKINNY02:String = "enemySkinny02"; public static const ASSET_ENEMYSKINNY03:String = "enemySkinny03"; public static const ASSET_ENEMYSKINNY04:String = "enemySkinny04"; public static const ASSET_ENEMYSKINNY05:String = "enemySkinny05"; public static const ITEM_MODCHIP_XPULSE_I:String = "X-PULSE I"; public static const ROOMTYPE_SW:String = "ROOMTYPE_SW"; public static const ASSET_ENEMYLIMP01:String = "enemyLimp01"; public static const ASSET_ENEMYLIMP02:String = "enemyLimp02"; public static const ASSET_ENEMYLIMP03:String = "enemyLimp03"; public static const ASSET_ENEMYLIMP04:String = "enemyLimp04"; public static const ASSET_ENEMYLIMP05:String = "enemyLimp05"; public static const TEXT_ITEM_TRAP_MAXCAPTURE:String = "MAX CAPTURE: "; public static const TEXT_ITEM_MODDED:String = "MODDED WITH: "; public static const ASSET_SFXHOVER:String = "sfxHover"; public static const ASSET_ENEMYMEDIUM01:String = "enemyMedium01"; public static const ASSET_ENEMYMEDIUM02:String = "enemyMedium02"; public static const ASSET_ENEMYMEDIUM03:String = "enemyMedium03"; public static const ASSET_ENEMYMEDIUM04:String = "enemyMedium04"; public static const ASSET_ENEMYMEDIUM05:String = "enemyMedium05"; public static const ITEM_ARMORENERGYPACKLET50:String = "ARMOR ENERGY PACKLET 50"; public static const LSO_ID_SLOT2:String = "__TZSG2"; public static const TRANS_USER2PLAY:String = "user2play"; public static const ASSET_LEVELBUTTONS:String = "levelbuttons"; public static const LSO_ID_SLOT1:String = "__TZSG1"; public static const ITEM_MODCHIP_STRIKEPLASMA_II:String = "STRIKE PLASMA II"; public static const ITEM_MODCHIP_FPHOTON_I:String = "F-PHOTON I"; public static const LSO_ID_SLOT3:String = "__TZSG3"; public static const ASSET_BGMMISSION:String = "bgmMission"; public static const KEY_UP:int = String("W").charCodeAt(); public static const ASSET_PROJECTILE_TACHYON:String = "projectiletachyon"; public static const ITEM_MODCHIP_FPULSE_I:String = "F-PULSE I"; public static const SCREEN_TITLE:String = "title"; public static const ASSET_PROJECTILE_PLASMA:String = "projectileplasma"; public static const VERSION:String = "1.0"; public static const ITEM_MODCHIP_STRIKETACHYON_I:String = "STRIKE TACHYON I"; public static const ITEMTYPE_MODCHIP:String = "ModChip"; public static const DOMAIN:Array = ["117.103.174.67", "dev.witutek.com", "witutek.com", "www.flashgamelicense.com", "flashgamelicense.com"]; public static const PLAYOBJ_TRAP:String = "Trap"; public static const TEXT_INTRO:String = ((("" + "Welcome Rookie!\n\n") + "We're sending you off to Deep Epsilon Facility.\nA virus outbreak -- we call Epsilon Strain -- has gotten the whole population turned into zombies.\n\n") + "Your mission: sterilize all 5 (five) sectors and stay alive.\n\nGood luck and GodSpeed!"); public static const ASSET_PROJECTILE_NEUTRON:String = "projectileneutron"; public static const TEXT_ITEM_MOD_PIERCE:String = "PIERCING: "; public static const TEXT_PLAY_FOUND:String = "FOUND: "; public static const ASSET_MUZZLE_PHOTON:String = "muzzlephoton"; public static const ITEM_WEAPONENERGYPACK500:String = "WEAPON ENERGY PACK 500"; public static const ITEM_ARMORENERGYPACKLET100:String = "ARMOR ENERGY PACKLET 100"; public static const ASSET_BLOODPARTICLE01:String = "bloodparticle01"; public static const ASSET_BLOODPARTICLE02:String = "bloodparticle02"; public static const ASSET_BLOODPARTICLE03:String = "bloodparticle03"; public static const ASSET_BLOODPARTICLE04:String = "bloodparticle04"; public static const ITEM_MODCHIP_XPULSE_II:String = "X-PULSE II"; public static const ITEM_MODCHIP_BOLTPULSE_I:String = "BOLT PULSE I"; public static const ASSET_WALLS01:String = "walls01"; public static const ASSET_WALLS02:String = "walls02"; public static const ASSET_WALLS03:String = "walls03"; public static const ASSET_WALLS04:String = "walls04"; public static const ASSET_WALLS05:String = "walls05"; public static const TEXT_HELP_PAGE_3:String = (("" + "Zombies often drop energy packlets. These are used as ammos (blue) and to recharge the armor (green).\n") + "Without picking up these packlets, your weapon and armor can regenerate itself, but it takes time (a lot longer for armor)."); public static const ITEM_CREDIT500:String = "CREDIT 500"; public static const TEXT_HELP_PAGE_5:String = ((("" + "Mod-chips can be equipped on the Equip page. Modding requires the supported weapon chip to be equipped.\n") + "Modding a weapon chip can only be done once per weapon chip, so choose wisely.\n") + "Besides modding, you can shop for other equipment."); public static const TEXT_HELP_PAGE_6:String = ("" + "Muting sound effects and music is accessible by right-clicking."); public static const TEXT_HELP_PAGE_2:String = ((("" + "Use W-A-S-D keys to move, MOUSE to aim,\nand Left-Mouse-Button to shoot.\n") + "Holding down LMB would keep it shooting.\n") + "Move through one room to another by getting near a door and pressing SPACE."); public static const TEXT_EQUIP_TITLE:String = "Are you sure you want to equip mod %0 to %1? Equipping a mod cannot be reversed."; public static const TEXT_HELP_PAGE_1:String = ((("" + "The goal of the game is to clear all 5 sectors.\n") + "Each sector consist of several missions, and are visible within the map.\n") + "The numbers on each mission indicate their difficulty level.\nProgress through all levels to unlock the next sector."); public static const ROOMTYPE_CENTER:String = "ROOMTYPE_CENTER"; public static const TEXT_HELP_PAGE_4:String = ((("" + "After each cleared mission, you are able to scavenge the area.\n") + "Level summary screen will show what you have found, usually credits and mod-chips.\n") + "Mod-chips allow you to modify your weapon."); public static const PLAYOBJ_DOOR:String = "Door"; public static const ITEM_MODCHIP_BOLTPULSE_II:String = "BOLT PULSE II"; public static const ITEM_MODCHIP_CNEUTRON_II:String = "C-NEUTRON II"; public static const TEXT_SHOP_MERCHANT:String = "MERCHANT"; public static const ASSET_WEAPONMODCHIP:String = "weaponmodchip"; public static const TEXT_EQUIP_CHIP:String = "CHIP"; public static const TEXT_MAIN_HELP:String = "HELP"; public static const ITEM_MODCHIP_SCATTERPULSE_I:String = "SCATTER PULSE I"; public static const ASSET_WITUTEKLOGO:String = "wituteklogo"; public static const ITEM_ARMORENERGYPACKLET150:String = "ARMOR ENERGY PACKLET 150"; public static const ASSET_SFXEXPLODE:String = "sfxExplode"; public static const ITEM_MODCHIP_FPHOTON_II:String = "F-PHOTON II"; public static const PLAYOBJ_POISON:String = "Poison"; public static const ITEM_MODCHIP_SSPHOTON_II:String = "SS-PHOTON II"; public static const ITEM_MODCHIP_BOLTNEUTRON_II:String = "BOLT NEUTRON II"; public static const STAGE_HEIGHT:int = 480; public static const PLAYOBJ_XPICKUP:String = "XPickup"; public static const AVATAR_SPEED:int = 4; public static const TEXT_MAIN_CREDITS:String = "CREDITS"; public static const TEXT_PREVIOUS:String = "PREVIOUS"; public static const ITEM_MODCHIP_SCATTERPLASMA_III:String = "SCATTER PLASMA III"; public static const TEXT_ITEM_MOD_SEEK:String = "SEEKING: "; public static const ITEM_WEAPONENERGYPACK100:String = "WEAPON ENERGY PACK 100"; public static const AMOUNT_SPACER:String = "^"; public static const ITEM_MODCHIP_FPHOTON_III:String = "F-PHOTON III"; public static const ASSET_BACKGROUND:String = "background"; public static const TEXT_SHOP_CREDITS:String = "CREDITS:"; public static const ASSET_BGMUSER:String = "bgmUser"; public static const ASSET_MAP01:String = "map01"; public static const TEXT_HELP_TITLE:String = "help"; public static const TEXT_SUBVICTORY:String = "ALL SECTORS CLEAR. YOU FINISHED THE GAME."; public static const ITEM_CREDIT100:String = "CREDIT 100"; public static const TEXT_CONTEXTMENU_PLAYMUSIC:String = "Play Music"; public static const TEXT_PLAY_HUD_POISON:String = "POISON:"; public static const PLAYOBJ_INFO:String = "Info"; public static const KEY_T:int = String("T").charCodeAt(); public static const TEXT_CONTEXTMENU_MUTEMUSIC:String = "Mute Music"; public static const ASSET_PROJECTILE_POISON:String = "projectilepoison"; public static const SCREEN_SELECTPROFILE:String = "selectprofile"; public static const ASSET_HUDFRONTRIGHT:String = "hudfrontright"; public static const TEXT_PAUSE_TITLE:String = "paused"; public static const ITEM_WEAPONENERGYPACKLET200:String = "WEAPON ENERGY PACKLET 200"; public static const TEXT_SELECTPROFILE_TITLE:String = "select profile"; public static const TEXT_USERNAV_EXP:String = "EXP:"; public static const SPONSOR_URL:String = "http://www.maxgames.com"; public static const ITEM_MODCHIP_RSTRIKEPHOTON_I:String = "R-STRIKE PHOTON I"; public static const TEXT_ITEM_MOD_UNEQUIPPED:String = " EQUIP A SUPPORTED WEAPON CHIP TO OPEN MODDED VALUES."; public static const TEXT_TURNOFF:String = "TURN OFF TUTORIAL"; public static const KEY_DOWN:int = String("S").charCodeAt(); public static const ITEMTYPE_CREDIT:String = "Credit"; public static const SCREEN_SUMMARY:String = "summary"; public static const ASSET_FLOORS01:String = "tiles01"; public static const ASSET_FLOORS02:String = "floors02"; public static const ASSET_FLOORS03:String = "floors03"; public static const ASSET_FLOORS04:String = "floors04"; public static const ASSET_FLOORS05:String = "floors05"; public static const TEXT_MAIN_NEWGAME:String = "NEW GAME"; public static const ASSET_SFXPULSE:String = "sfxPulse"; public static const ASSET_WEAPONCHIPUNMOD:String = "weaponchipunmod"; public static const TEXT_PAUSE_CANCEL:String = "unpause"; public static const TEXT_SELECTPROFILE_LAST:String = "last: "; public static const TEXT_NEXT:String = "NEXT"; public static const ITEM_MODCHIP_CNEUTRON_I:String = "C-NEUTRON I"; public static const KEY_SPACE:int = 32; public static const ITEM_MODCHIP_FPULSE_II:String = "F-PULSE II"; public static const TEXT_CONTEXTMENU_PLAYSFX:String = "Play SFX"; public static const ASSET_SFXBARFFBASIC:String = "sfxBarffBasic"; public static const LIGHTLAYER_WIDTH:int = 800; public static const ITEM_WEAPONCHIP_NEUTRON_I:String = "NEUTRON I"; public static const ITEM_WEAPONCHIP_NEUTRON_V:String = "NEUTRON V"; public static const POISONPOOL_TIME:int = 640; public static const TEXT_SELECTPROFILE_NONAME:String = "anonymous"; public static const DIALOG_FAILED:String = "failed"; public static const TEXT_ITEM_LIGHT_RADIUS:String = "LIGHT RADIUS: "; public static const ASSET_MINIMAP:String = "minimap"; public static const ITEM_WEAPONENERGYPACKLET250:String = "WEAPON ENERGY PACKLET 250"; public static const AVATAR_INVINCIBLE_BLINK_INTERVAL:int = 2; public static const ITEM_MODCHIP_STRIKEPHOTON_II:String = "STRIKE PHOTON II"; public static const SCREEN_PLAY:String = "play"; public static const ITEM_MODCHIP_STRIKEPLASMA_I:String = "STRIKE PLASMA I"; public static const STAGE_CENTER_X:int = 320; public static const ASSET_PROJECTILE_PULSE:String = "projectilepulse"; public static const ASSET_SFXPLASMA:String = "sfxPlasma"; public static const ITEM_MODCHIP_FPULSE_III:String = "F-PULSE III"; public static const TEXT_EQUIP_OK:String = "Yes"; public static const ASSET_TRAP:String = "trap"; public static const TEXT_CREDIT_TITLE:String = "credits"; public static const TEXT_USERNAV_STATS:String = "STATS"; public static const TEXT_MAP_SITE:String = "SITE:"; public static const STAGE_CENTER_Y:int = 240; public static const REQ_LEVEL_1:Array = [1, 1, 1, 1, 1, 1]; public static const REQ_LEVEL_2:Array = [1, 1, 1, 1, 1, 1]; public static const REQ_LEVEL_3:Array = [1, 1, 1, 1, 1, 1]; public static const REQ_LEVEL_4:Array = [1, 1, 1, 1, 1, 1]; public static const REQ_LEVEL_5:Array = [1, 1, 1, 1, 1, 1]; public static const ITEM_ARMORCHIP_X2:String = "ARMOR CHIP X2"; public static const TEXT_EQUIP_CANCEL:String = "No, nevermind."; public static const MODCHIP_SPACER:String = "~"; public static const TEXT_SUMMARY_DETAILS:String = "TIME LEFT: %0 ENEMY KILLS: %1 ACCURACY: %2% (%3 out of %4) MISSION SCORE: %5 TIME BONUS SCORE: %6 ACCURACY BONUS SCORE: %7 TOTAL SCORE: %8 REWARDED CREDITS: %9"; public static const ITEMTYPE_TRAP:String = "Trap"; public static const ITEM_ARMORCHIP_X1:String = "ARMOR CHIP X1"; public static const ITEM_ARMORCHIP_X3:String = "ARMOR CHIP X3"; public static const ITEM_MODCHIP_STRIKENEUTRON_III:String = "STRIKE NEUTRON III"; public static const LSO_SLOTSDATA:String = "__TZSG_ALL"; public static const ITEM_WEAPONENERGYPACK1000:String = "WEAPON ENERGY PACK 1000"; public static const TEXT_PLAY_CLEARED:String = "LEVEL CLEARED. PRESS 'T' TO TELEPORT BACK"; public static const ASSET_SFXPRESS:String = "sfxPress"; public static const TEXT_SELECTPROFILE_SELECTBUTTON:String = "select"; public static const ITEM_MODCHIP_XTACHYON_II:String = "X-TACHYON II"; public static const ITEM_MODCHIP_XTACHYON_I:String = "X-TACHYON I"; public static const TEXT_SELECTPROFILE_EMPTYNAME:String = "empty"; public static const TEXT_ITEM_CLICK:String = "CLICK TO EQUIP"; public static const ITEM_WEAPONENERGYPACKLET10:String = "WEAPON ENERGY PACKLET 10"; public static const SCREEN_BUMPER:String = "bumper"; public static const TEXT_ITEM_MOD_AOE:String = "EXPLOSION RADIUS: "; public static const ASSET_CUSTOMBUTTONS:String = "custombuttons"; public static const ASSET_HUDFRONTLEFT:String = "hudfrontleft"; public static const SCREEN_KILLED:String = "killed"; public static const TEXT_SELECTPROFILE_EMPTYTIME:String = "--/--/-- --:--"; public static const ITEM_MODCHIP_CPLASMA_II:String = "C-PLASMA II"; public static const SCREEN_USER:String = "user"; public static const ASSET_PROJECTILE_BASIC:String = "projectilebasic"; public static const ITEM_WEAPONCHIP_PLASMA_II:String = "PLASMA II"; public static const ASSET_AVATARUPPER:String = "avatarupper"; public static const ITEM_WEAPONCHIP_PLASMA_IV:String = "PLASMA IV"; public static const SCAVENGE_TIME:int = 10; public static const ASSET_PROJECTILE_PHOTON:String = "projectilephoton"; public static const TEXT_ITEM_MOD_SCATTER:String = "SCATTER: "; public static const TEXT_MAP_DIFFICULTY:String = "DIFFICULTY: "; public static const PLAYOBJ_AVATAR:String = "Avatar"; public static const ITEM_ARMORENERGYPACK250:String = "ARMOR ENERGY PACK 250"; public static const KEY_RIGHT:int = String("D").charCodeAt(); public static const ITEM_WEAPONCHIP_TACHYON_I:String = "TACHYON I"; public static const ITEM_WEAPONENERGYPACKLET50:String = "WEAPON ENERGY PACKLET 50"; public static const ASSET_AWARD:String = "award"; public static const TEXT_ITEM_DISTANCE:String = "P.LENGTH: "; public static const ITEM_WEAPONCHIP_PHOTON_I:String = "PHOTON I"; public static const ITEM_WEAPONCHIP_TACHYON_V:String = "TACHYON V"; public static const ENEMY_MELEE_RANGE:int = 40; public static const ITEM_MODCHIP_SCATTERPHOTON:String = "SCATTER PHOTON"; public static const DIALOG_PAUSE:String = "pause"; public static const ITEM_WEAPONCHIP_PHOTON_V:String = "PHOTON V"; public static const TEXT_SELECTPROFILE_BACKBUTTON:String = "back"; public static const TEXT_CONTEXTMENU_PLAYMOREGAMES:String = "Play More Games"; public static const ASSET_SPONSOR_SMALL:String = "sponsor small"; public static const ITEM_ARMORENERGYPACK1000:String = "ARMOR ENERGY PACK 1000"; public static const ASSET_WEAPONMODTYPE:String = "weaponmodtype"; public static const ASSET_HUDBACKLEFT:String = "hudbackleft"; public static const ITEM_MODCHIP_SCATTER:String = "SCATTER"; public static const PLAYOBJ_AVATAR_PROJECTILE:String = "AvatarProjectile"; public static const DIALOG_TUTORIAL:String = "tutorial"; public static const ASSET_WITUTEKLOGOBIG:String = "wituteklogobig"; public static const TEXT_SELECTPROFILE_START:String = "start:"; public static const ITEM_WEAPONENERGYPACKLET5:String = "WEAPON ENERGY PACKLET 5"; public static const TEXT_SHOP_INVENTORY:String = "INVENTORY"; public static const ITEM_WEAPONCHIP_NEUTRON_II:String = "NEUTRON II"; public static const ASSET_MUZZLE_TACHYON:String = "muzzletachyon"; public static const ITEM_WEAPONCHIP_NEUTRON_IV:String = "NEUTRON IV"; public static const TEXT_ITEM_MOD_POISON:String = "ANTI-POISON: "; public static const ITEM_MODCHIP_RPLASMA_II:String = "R-PLASMA II"; public static const ITEM_ARMORENERGYPACKLET200:String = "ARMOR ENERGY PACKLET 200"; public static const TEXT_MAP_UNEQUIPPED:String = "You are unequipped. Please open your equip display, and make sure you don't have any empty slots."; public static const SCREEN_INTRO:String = "intro"; public static const TEXT_MAIN_PLAYMORE:String = "PLAY MORE GAMES AT MAXGAMES.COM"; public static const ITEM_MODCHIP_RPLASMA_III:String = "R-PLASMA III"; public static const TEXT_STAT_SUBMITSCORE:String = "SUBMIT SCORE"; public static const ASSET_MUZZLE_NEUTRON:String = "muzzleneutron"; public static const ITEM_WEAPONCHIP_PULSE_I:String = "PULSE I"; public static const TEXT_MAIN_CONTINUE:String = "CONTINUE"; public static const TEXT_ITEM_INTERVAL:String = "INTERVAL: "; public static const LEVEL_1B:String = "level1b"; public static const LEVEL_1C:String = "level1c"; public static const LEVEL_1D:String = "level1d"; public static const LEVEL_1E:String = "level1e"; public static const LEVEL_1F:String = "level1f"; public static const ITEM_WEAPONCHIP_PHOTON_III:String = "PHOTON III"; public static const LEVEL_1A:String = "level1a"; public static const ITEM_MODCHIP_BOLTNEUTRON_I:String = "BOLT NEUTRON I"; public static const ITEMTYPE_SECONDARYEQUIP:String = "SecondaryEquip"; public static const ASSET_DEADENEMYLIMP01:String = "deadEnemyLimp01"; public static const ASSET_DEADENEMYLIMP02:String = "deadEnemyLimp02"; public static const ASSET_DEADENEMYLIMP03:String = "deadEnemyLimp03"; public static const ASSET_DEADENEMYLIMP04:String = "deadEnemyLimp04"; public static const ASSET_DEADENEMYLIMP05:String = "deadEnemyLimp05"; public static const TEXT_ITEM_COST:String = "COST: "; public static const ASSET_DEADENEMYFAT01:String = "deadEnemyFat01"; public static const ASSET_DEADENEMYFAT02:String = "deadEnemyFat02"; public static const ASSET_DEADENEMYFAT03:String = "deadEnemyFat03"; public static const ASSET_DEADENEMYFAT04:String = "deadEnemyFat04"; public static const ASSET_DEADENEMYFAT05:String = "deadEnemyFat05"; public static const LEVEL_2A:String = "level2a"; public static const LEVEL_2B:String = "level2b"; public static const LEVEL_2C:String = "level2c"; public static const ASSET_PROJECTILE_MELEE:String = "projectilemelee"; public static const LEVEL_2E:String = "level2e"; public static const LEVEL_2F:String = "level2f"; public static const ITEMTYPE_ARMORCHIP:String = "ArmorChip"; public static const ITEM_WEAPONCHIP_PULSE_V:String = "PULSE V"; public static const ITEM_WEAPONCHIP_TACHYON_IV:String = "TACHYON IV"; public static const LEVEL_2D:String = "level2d"; public static const TEXT_STAT_DETAILS:String = "SCORE: %0 CREDITS COLLECTED: %1 CREDITS SPENT: %2 MISSIONS CLEARED: %3 TOTAL MISSIONS: %4 ENEMIES KILLED: %6 ACCURACY: %7% ITEMS SCAVENGED: %8 ITEMS SOLD: %9"; public static const TEXT_VICTORY:String = "congrats"; public static const TEXT_EQUIP_ENERGYPACK:String = "E-PACK"; public static const ROOMTYPE_E:String = "ROOMTYPE_E"; public static const AWARD10:Object = {id:"AWARD10", title:"Credit Miner", desc:"Gathered 1,000,000+ Credits", value:1000000}; public static const ITEM_WEAPONCHIP_TACHYON_II:String = "TACHYON II"; public static const SCREEN_VICTORY:String = "victory"; public static const ASSET_ENEMYFAT01:String = "enemyFat01"; public static const ASSET_ENEMYFAT03:String = "enemyFat03"; public static const ASSET_ENEMYFAT04:String = "enemyFat04"; public static const ASSET_ENEMYFAT05:String = "enemyFat05"; public static const STAGE_WIDTH:int = 640; public static const ASSET_ENEMYFAT02:String = "enemyFat02"; public static const ASSET_MUZZLE_PULSE:String = "muzzlepulse"; public static const ROOMTYPE_N:String = "ROOMTYPE_N"; public static const LEVEL_3D:String = "level3d"; public static const ROOMTYPE_W:String = "ROOMTYPE_W"; public static const LEVEL_3F:String = "level3f"; public static const ROOMTYPE_S:String = "ROOMTYPE_S"; public static const LEVEL_3B:String = "level3b"; public static const LEVEL_3C:String = "level3c"; public static const ITEM_MODCHIP_SCATTERNEUTRON_I:String = "SCATTER NEUTRON I"; public static const LEVEL_3E:String = "level3e"; public static const AVATAR_POISON_INTERVAL:int = 30; public static const LEVEL_3A:String = "level3a"; public static const ASSET_LOCK:String = "lock"; public static const AWARD20:Object = {id:"AWARD20", title:"Scavenger", desc:"Scavenged 1,000+ Items", value:1000}; public static const COLOR_WALL:int = 0; public static const LEVEL_4A:String = "level4a"; public static const LEVEL_4B:String = "level4b"; public static const LEVEL_4C:String = "level4c"; public static const LEVEL_4D:String = "level4d"; public static const PLAYOBJ_ENEMY:String = "Enemy"; public static const LEVEL_4F:String = "level4f"; public static const TEXT_ITEM_ENERGY:String = "ENERGY: "; public static const TEXT_LEVELCOMPLETE:String = "level cleared"; public static const ASSET_DEADENEMYBULKY01:String = "deadEnemyBulky01"; public static const ASSET_DEADENEMYBULKY02:String = "deadEnemyBulky02"; public static const ASSET_DEADENEMYBULKY03:String = "deadEnemyBulky03"; public static const ASSET_DEADENEMYBULKY04:String = "deadEnemyBulky04"; public static const ASSET_DEADENEMYBULKY05:String = "deadEnemyBulky05"; public static const ITEM_MODCHIP_BOLTNEUTRON_III:String = "BOLT NEUTRON III"; public static const LEVEL_4E:String = "level4e"; public static const ITEM_MODCHIP_SCATTERNEUTRON_III:String = "SCATTER NEUTRON III"; public static const ITEM_ARMORENERGYPACKLET250:String = "ARMOR ENERGY PACKLET 250"; public static const TEXT_ITEM_MOD_ANYCHIP:String = "ANY WEAPON CHIP."; public static const AWARD31:Object = {id:"AWARD31", title:"Mod Collector", desc:"Got all 50 types of Mods", value:50}; public static const TEXT_MAIN_SCORES:String = "SCORES"; public static const ASSET_OTHERCHIPS:String = "otherchips"; public static const LEVEL_5A:String = "level5a"; public static const LEVEL_5B:String = "level5b"; public static const LEVEL_5C:String = "level5c"; public static const LEVEL_5D:String = "level5d"; public static const LEVEL_5E:String = "level5e"; public static const LEVEL_5F:String = "level5f"; public static const TEXT_PLAY_HITDOOR:String = "PRESS 'SPACE' TO ENTER DOOR"; public static const TEXT_PAUSE_QUIT:String = "abort mission"; public static const ITEM_ARMORENERGYPACKLET5:String = "ARMOR ENERGY PACKLET 5"; public static const TEXT_ITEM_MOD_CRIT:String = "CRITICAL RATE: "; public static const TEXT_PLAY_HUD_WEAPON:String = "WEAPON"; public static const TEXT_SUMMARY_SCAVENGE_LABEL:String = "SCAVENGED ITEMS:"; public static const AWARD30:Object = {id:"AWARD30", title:"Trader", desc:"Sold 500+ Items", value:500}; public static const ITEM_MODCHIP_STRIKE:String = "STRIKE"; public static const AWARD40:Object = {id:"AWARD40", title:"Sharp Shooter", desc:"Maintained more than 60% Accuracy", value:60}; public static const ASSET_SPONSOR_INTRO:String = "sponsor intro"; public static const OBJ_SIZE_UNIT:int = 32; public static const TEXT_SUMMARY_SCAVENGE_TIMER:String = "...SCAVENGING..."; public static const ASSET_POISONPARTICLE01:String = "poisonparticle01"; public static const ASSET_POISONPARTICLE02:String = "poisonparticle02"; public static const ASSET_POISONPARTICLE04:String = "poisonparticle04"; public static const TEXT_SHOP_PAGE:String = "PAGE "; public static const ASSET_POISONPARTICLE03:String = "poisonparticle03"; public static const ITEM_WEAPONCHIP_NEUTRON_III:String = "NEUTRON III"; public static const ASSET_SFXSHAFT:String = "sfxShaft"; public static const TEXT_TOMENU:String = "MENU"; public static const DOORTYPE_E:String = "DOORTYPE_E"; public static const AWARD5:Object = {id:"AWARD5", title:"Grinder", desc:"Gathered 500,000+ Credits", value:500000}; public static const ASSET_MUZZLE_PLASMA:String = "muzzleplasma"; public static const DOORTYPE_N:String = "DOORTYPE_N"; public static const AWARD61:Object = {id:"AWARD61", title:"Respected", desc:"Finished Less than 50 Missions.", value:50}; public static const AWARD62:Object = {id:"AWARD62", title:"Elite", desc:"Finished in 30 Missions.", value:30}; public static const AWARD50:Object = {id:"AWARD50", title:"Sniper", desc:"Maintained more than 90% Accuracy", value:90}; public static const DOORTYPE_S:String = "DOORTYPE_S"; public static const DOORTYPE_W:String = "DOORTYPE_W"; public static const TEXT_USERNAV_MAP:String = "MAP"; public static const TEXT_PLAY_HUD_ARMOR:String = "ARMOR"; public static const TEXT_CONTEXTMENU_MUTESFX:String = "Mute SFX"; public static const TEXT_ITEM_TRAP_ACTIVETIME:String = "ACTIVE TIME: "; public static const AWARD60:Object = {id:"AWARD60", title:"Eagle Eye", desc:"Maintained more than 100% Accuracy", value:100}; public static const ITEMTYPE_WEAPONENERGY:String = "WeaponEnergy"; public static const AWARD71:Object = {id:"AWARD71", title:"Pulse Lover", desc:"Bought All Pulse Chips", value:5}; public static const AWARD72:Object = {id:"AWARD72", title:"Photon Addict", desc:"Bought All Photon Chips", value:5}; public static const AWARD73:Object = {id:"AWARD73", title:"Neutron Fan", desc:"Bought All Neutron Chips", value:5}; public static const AWARD75:Object = {id:"AWARD75", title:"Tachyon Collector", desc:"Bought All Tachyon Chips", value:5}; public static const ASSET_DEADENEMYSKINNY01:String = "deadEnemySkinny01"; public static const ASSET_DEADENEMYSKINNY02:String = "deadEnemySkinny02"; public static const ASSET_DEADENEMYSKINNY03:String = "deadEnemySkinny03"; public static const ASSET_DEADENEMYSKINNY04:String = "deadEnemySkinny04"; public static const ASSET_DEADENEMYSKINNY05:String = "deadEnemySkinny05"; public static const ASSET_COMMONBUTTON:String = "commonbutton"; public static const TEXT_STAT_AWARDS:String = "Awards:"; public static const AWARD74:Object = {id:"AWARD74", title:"Plasma Junkie", desc:"Bought All Plasma Chips", value:5}; public static const ITEM_MODCHIP_SCATTERPLASMA_II:String = "SCATTER PLASMA II"; public static const TEXT_USERNAV_NONAME:String = "anonymous"; public static const KEY_LEFT:int = String("A").charCodeAt(); public static const ASSET_AVATARSLOWED:String = "avatarslowed"; public static const TEXT_ITEM_DAMAGE:String = "DAMAGE: "; public static const ASSET_DEADENEMYMEDIUM01:String = "deadEnemyMedium01"; public static const ASSET_DEADENEMYMEDIUM02:String = "deadEnemyMedium02"; public static const ASSET_DEADENEMYMEDIUM03:String = "deadEnemyMedium03"; public static const ASSET_DEADENEMYMEDIUM04:String = "deadEnemyMedium04"; public static const ASSET_DEADENEMYMEDIUM05:String = "deadEnemyMedium05"; public static const ASSET_FOREGROUND:String = "foreground"; public static const TEXT_MAP_SECTOR:String = "SECTOR:"; public static const PLAYOBJ_PARTICLE:String = "Particle"; public static const ASSET_PROJECTILE_SLOWS:String = "projectileslows"; public static const TEXT_OK:String = "OK"; public static const ASSET_WEAPONCHIPMOD:String = "weaponchipmod"; public static const TEXT_ITEM_SPEED:String = "P.SPEED: "; public static const TEXT_SELECTPROFILE_OKBUTTON:String = "ok"; public static const ITEM_WEAPONENERGYPACK250:String = "WEAPON ENERGY PACK 250"; public static const ITEM_WEAPONCHIP_PHOTON_II:String = "PHOTON II"; public static const DIALOG_EQUIP:String = "equip"; public static const TEXT_VICTORY_STAT:String = " TOTAL CREDITS: %0 MISSIONS CLEARED: %1 TOTAL MISSIONS: %2 ENEMIES KILLED: %3 ACCURACY: %4% TOTAL SCORE: %5"; public static const ITEM_WEAPONCHIP_PHOTON_IV:String = "PHOTON IV"; public static const TEXT_CREDIT_CONTENT:String = ((((("" + "DESIGN\nGUNTUR 'SOYBEAN' SARWOHADI\nANDY 'VIZER' HAKIM\n\n") + "CODE\nGUNTUR 'SOYBEAN' SARWOHADI\n\n") + "ART\nANDY 'VIZER' HAKIM\nGUNTUR 'SOYBEAN' SARWOHADI\n\n") + "MUSIC\nHelix - Vigilance (NG ID: 47106)\nDoki - So 2005 (NG ID: 88473)\n\n") + "THANKS TO\nAZRAEL, ULTRAMAN_BASTARD, FANDREY, CRUXBLACK, L_O_J, DISCIPLEOFFRED, ERICHAMC"); public static const ASSET_ENEMYBULKY01:String = "enemyBulky01"; public static const ASSET_ENEMYBULKY02:String = "enemyBulky02"; public static const ASSET_ENEMYBULKY03:String = "enemyBulky03"; public static const ASSET_ENEMYBULKY04:String = "enemyBulky04"; public static const ASSET_ENEMYBULKY05:String = "enemyBulky05"; public static const ASSET_SFXPHOTON:String = "sfxPhoton"; public static const ASSET_DOOR01:String = "door01"; public static const ASSET_DOOR02:String = "door02"; public static const ASSET_DOOR03:String = "door03"; public static const ASSET_DOOR04:String = "door04"; public static const ASSET_DOOR05:String = "door05"; public static const ITEM_CREDIT10:String = "CREDIT 10"; public static const ITEM_WEAPONCHIP_PULSE_IV:String = "PULSE IV"; public static const ASSET_EXPLOSION_A:String = "explosionA"; public static const ITEM_WEAPONCHIP_PULSE_II:String = "PULSE II"; public static const TEXT_MAIN_TITLE:String = "epsilon strain"; public static const TEXT_SELECTPROFILE_CANCELBUTTON:String = "cancel"; public static const AWARD100:Object = {id:"AWARD100", title:"Zombie Killer", desc:"Killed 500+ Zombies", value:500}; public static const ITEM_ARMORENERGYPACK500:String = "ARMOR ENERGY PACK 500"; public static const TEXT_USERNAV_QUIT:String = "QUIT"; public static const ITEM_WEAPONCHIP_PLASMA_III:String = "PLASMA III"; public static const SCREEN_CLEARED:String = "cleared"; public static const PLAYOBJ_EXIT:String = "Exit"; public static const PLAYOBJ_ENEMY_PROJECTILE:String = "EnemyProjectile"; public static const ITEM_WEAPONENERGYPACKLET100:String = "WEAPON ENERGY PACKLET 100"; public static const TEXT_ITEM_ENERGY_REGEN:String = "REGEN: "; public static const AWARD110:Object = {id:"AWARD110", title:"Zombie Basher", desc:"Killed 1000+ Zombies", value:1000}; public static const ASSET_PICKUP:String = "pickup"; public static const ASSET_MOTHLOGO:String = "mothlogo"; public static const ITEM_MODCHIP_CPLASMA_I:String = "C-PLASMA I"; public static const TEXT_USERNAV_EQUIP:String = "EQUIP"; public static const TEXT_ITEM_MOD_CHIPLIST:String = "SUPPORTED WEAPON CHIPS: "; public static const AWARD120:Object = {id:"AWARD120", title:"Zombie Exterminator", desc:"Killed 5000+ Zombies", value:5000}; public static const AVATAR_SLOW_TIME:int = 120; public static const ASSET_SFXZATTACK01:String = "sfxZAttach01"; public static const ASSET_SFXZATTACK02:String = "sfxZAttach02"; public static const ASSET_SFXZATTACK03:String = "sfxZAttach03"; public static const AWARD130:Object = {id:"AWARD130", title:"Withstanding", desc:"Clearing 10 Missions without failing", value:10}; public static const TEXT_EQUIP_WEAPON:String = "WEAPON"; public static const ITEM_CREDIT50:String = "CREDIT 50"; public static const ITEM_MODCHIP_SSPHOTON_I:String = "SS-PHOTON I"; public static const ITEM_MODCHIP_SCATTERPULSE_II:String = "SCATTER PULSE II"; public static const AWARD140:Object = {id:"AWARD140", title:"Unbreakable", desc:"Clearing 20 Missions without failing", value:20}; public static const ITEM_ARMORENERGYPACK20:String = "ARMOR ENERGY PACK 20"; public static const AVATAR_FRICTION:Number = 0.5; public static const ITEMTYPE_WEAPONCHIP:String = "WeaponChip"; public static const AWARD150:Object = {id:"AWARD150", title:"Sector 1 Cleared", desc:"Passed Sector 1", value:1}; public static const AWARD151:Object = {id:"AWARD151", title:"Sector 2 Cleared", desc:"Passed Sector 2", value:1}; public static const COLOR_DOOR:int = 0xFF0000; public static const AWARD153:Object = {id:"AWARD153", title:"Sector 4 Cleared", desc:"Passed Sector 4", value:1}; public static const SCREEN_HELP:String = "help"; public static const TEXT_ITEM_ENERGY_CAPACITY:String = "CAPACITY: "; public static const AWARD152:Object = {id:"AWARD152", title:"Sector 3 Cleared", desc:"Passed Sector 3", value:1}; public static const ITEM_ARMORCHIP_STANDARD:String = "ARMOR CHIP STD"; public static const AWARD154:Object = {id:"AWARD154", title:"Sector 5 Cleared", desc:"U ROCK! Thanks for finishing!", value:1}; public static const ASSET_AVATARPOISONED:String = "avatarpoisoned"; public static const ASSET_COMMONFRAME:String = "commonframe"; public static const KEY_ESC:int = 27; public static const TEXT_USERNAV_SHOP:String = "SHOP"; public static const ITEM_WEAPONENERGYPACKLET150:String = "WEAPON ENERGY PACKLET 150"; public static const ITEM_MODCHIP_RSTRIKEPHOTON_II:String = "R-STRIKE PHOTON II"; public static const ITEM_WEAPONCHIP_PLASMA_I:String = "PLASMA I"; public static const ITEM_MODCHIP_RAPID:String = "RAPID"; public static const ITEM_MODCHIP_STRIKENEUTRON_II:String = "STRIKE NEUTRON II"; public static const ITEM_WEAPONCHIP_PLASMA_V:String = "PLASMA V"; public static const ITEM_WEAPONENERGYPACK20:String = "WEAPON ENERGY PACK 20"; public static const ITEM_ARMORENERGYPACK50:String = "ARMOR ENERGY PACK 50"; public static const TEXT_STAT_PERFORMANCE:String = "Performance:"; public static const TEXT_SELECTPROFILE_ENTERNAME:String = "enter name:"; public static const TEXT_ITEM_TRAP_RADIUS:String = "RADIUS: "; public static const ASSET_HUDBACKRIGHT:String = "hudbackright"; public static const ASSET_FONT1:String = "font1"; public static const ASSET_FONT2:String = "font2"; public static const ASSET_FONT3:String = "font3"; public static const ASSET_FONT4:String = "font4"; public static const ASSET_FONT5:String = "font5"; public static const ITEM_ARMORENERGYPACK100:String = "ARMOR ENERGY PACK 100"; public static const ROOMTYPE_NE:String = "ROOMTYPE_NE"; public static const ASSET_CURSOR:String = "cursor"; public static const SCREEN_CREDITS:String = "credits"; public static const ITEM_MODCHIP_STRIKETACHYON_II:String = "STRIKE TACHYON II"; public static const AVATAR_INVINCIBLE_BLINK_TIME:int = 40; public static const ITEM_MODCHIP_SCATTERNEUTRON_II:String = "SCATTER NEUTRON II"; public static const TEXT_ITEM_MOD_SPEED:String = "MOV.SPEED: "; public static const ITEM_MODCHIP_BOLT:String = "BOLT"; public static const ROOMTYPE_NW:String = "ROOMTYPE_NW"; public static const ITEM_MODCHIP_STRIKEPHOTON_III:String = "STRIKE PHOTON III"; public static const ITEM_MODCHIP_STRIKENEUTRON_I:String = "STRIKE NEUTRON I"; public static const ITEM_WEAPONENERGYPACK50:String = "WEAPON ENERGY PACK 50"; public static const TEXT_KILLED:String = "failed. mission aborted."; public static const ITEM_MODCHIP_STRIKEPHOTON_I:String = "STRIKE PHOTON I"; public static const ITEM_MODCHIP_RPLASMA_I:String = "R-PLASMA I"; public static const ITEM_WEAPONCHIP_TACHYON_III:String = "TACHYON III"; public static const LIGHTLAYER_HEIGHT:int = 800; public static const ITEM_MODCHIP_SCATTERPLASMA_I:String = "SCATTER PLASMA I"; public static const ITEMTYPE_ARMORENERGY:String = "ArmorEnergy"; public static const ASSET_SFXTACHYON:String = "sfxTachyon"; public static const TEXT_ITEM_MOD_SLOWED:String = "ANTI-SLOWED: "; public static const COLOR_FLOOR:int = 0xFFFFFF; public static var isNewGame:Boolean = true; public static function playPress():void{ SoundManager.instance.playSFX(ASSET_SFXPRESS); } public static function playHover():void{ SoundManager.instance.playSFX(ASSET_SFXHOVER); } } }//package game
Section 321
//Profile (game.Profile) package game { import engine.managers.*; import game.entities.*; import flash.errors.*; public class Profile { public var lastLevelScavenge:Array; public var statPhotons:Array; public var statRooms:int; public var tempModToEquip:String;// = "" public var name:String; public var weaponChip:String; public var campaign:int; public var statSites:int; public var credits:int; public var id:String; public var exp:int; public var statMods:Array; public var statCredits:int; public var armorEnergy:String; public var armorChip:String; public var statSitesUnKilled:int; public var lastLevelExp:int; public var statHits:int; public var isFinished:Boolean; public var awards:Array; public var statItemsSold:int; public var weaponEnergy:String; public var statShots:int; public var lastLevelShots:int; public var statNeutrons:Array; public var inventory:Array; public var statItemsCollected:int; public var statKills:int; public var lastLevelKills:int; public var statPulses:Array; public var levelCounts:Object; public var statTachyons:Array; public var statSitesCleared:int; public var lastLevelHits:int; public var statCreditsSpent:int; public var lastLevelTime:int; public var statPlasmas:Array; 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 hasSave():Boolean{ return (false); } public function clear():void{ reset(); save(); } public function reset():void{ name = ""; exp = 0; credits = 100; campaign = 1; inventory = []; weaponChip = Config.ITEM_WEAPONCHIP_PULSE_I; weaponEnergy = Config.ITEM_WEAPONENERGYPACK20; armorEnergy = Config.ITEM_ARMORENERGYPACK20; armorChip = Config.ITEM_ARMORCHIP_STANDARD; isFinished = false; levelCounts = {}; levelCounts[Config.LEVEL_1A] = 0; levelCounts[Config.LEVEL_1B] = 0; levelCounts[Config.LEVEL_1C] = 0; levelCounts[Config.LEVEL_1D] = 0; levelCounts[Config.LEVEL_1E] = 0; levelCounts[Config.LEVEL_1F] = 0; levelCounts[Config.LEVEL_2A] = 0; levelCounts[Config.LEVEL_2B] = 0; levelCounts[Config.LEVEL_2C] = 0; levelCounts[Config.LEVEL_2D] = 0; levelCounts[Config.LEVEL_2E] = 0; levelCounts[Config.LEVEL_2F] = 0; levelCounts[Config.LEVEL_3A] = 0; levelCounts[Config.LEVEL_3B] = 0; levelCounts[Config.LEVEL_3C] = 0; levelCounts[Config.LEVEL_3D] = 0; levelCounts[Config.LEVEL_3E] = 0; levelCounts[Config.LEVEL_3F] = 0; levelCounts[Config.LEVEL_4A] = 0; levelCounts[Config.LEVEL_4B] = 0; levelCounts[Config.LEVEL_4C] = 0; levelCounts[Config.LEVEL_4D] = 0; levelCounts[Config.LEVEL_4E] = 0; levelCounts[Config.LEVEL_4F] = 0; levelCounts[Config.LEVEL_5A] = 0; levelCounts[Config.LEVEL_5B] = 0; levelCounts[Config.LEVEL_5C] = 0; levelCounts[Config.LEVEL_5D] = 0; levelCounts[Config.LEVEL_5E] = 0; levelCounts[Config.LEVEL_5F] = 0; statCredits = 0; statCreditsSpent = 0; statKills = 0; statShots = 0; statHits = 0; statSites = 0; statSitesCleared = 0; statSitesUnKilled = 0; statRooms = 0; statItemsCollected = 0; statItemsSold = 0; statPulses = [Config.ITEM_WEAPONCHIP_PULSE_I]; statPhotons = []; statNeutrons = []; statPlasmas = []; statTachyons = []; statMods = []; awards = AwardList.instance.setupProfileAwards(); } public function save():void{ var _local1:Object = SharedObjectManager.instance.current.data; _local1.basic = {name:name, exp:exp, credits:credits, campaign:campaign, isFinished:isFinished}; _local1.equip = {inventory:inventory, weaponEnergy:weaponEnergy, weaponChip:weaponChip, armorEnergy:armorEnergy, armorChip:armorChip}; _local1.levels = {level1_1:levelCounts[Config.LEVEL_1A], level1_2:levelCounts[Config.LEVEL_1B], level1_3:levelCounts[Config.LEVEL_1C], level1_4:levelCounts[Config.LEVEL_1D], level1_5:levelCounts[Config.LEVEL_1E], level1_B:levelCounts[Config.LEVEL_1F], level2_1:levelCounts[Config.LEVEL_2A], level2_2:levelCounts[Config.LEVEL_2B], level2_3:levelCounts[Config.LEVEL_2C], level2_4:levelCounts[Config.LEVEL_2D], level2_5:levelCounts[Config.LEVEL_2E], level2_B:levelCounts[Config.LEVEL_2F], level3_1:levelCounts[Config.LEVEL_3A], level3_2:levelCounts[Config.LEVEL_3B], level3_3:levelCounts[Config.LEVEL_3C], level3_4:levelCounts[Config.LEVEL_3D], level3_5:levelCounts[Config.LEVEL_3E], level3_B:levelCounts[Config.LEVEL_3F], level4_1:levelCounts[Config.LEVEL_4A], level4_2:levelCounts[Config.LEVEL_4B], level4_3:levelCounts[Config.LEVEL_4C], level4_4:levelCounts[Config.LEVEL_4D], level4_5:levelCounts[Config.LEVEL_4E], level4_B:levelCounts[Config.LEVEL_4F], level5_1:levelCounts[Config.LEVEL_5A], level5_2:levelCounts[Config.LEVEL_5B], level5_3:levelCounts[Config.LEVEL_5C], level5_4:levelCounts[Config.LEVEL_5D], level5_5:levelCounts[Config.LEVEL_5E], level5_B:levelCounts[Config.LEVEL_5F]}; _local1.stats = {statCredits:statCredits, statCreditsSpent:statCreditsSpent, statKills:statKills, statShots:statShots, statHits:statHits, statSites:statSites, statSitesCleared:statSitesCleared, statSitesUnKilled:statSitesUnKilled, statRooms:statRooms, statItemsCollected:statItemsCollected, statItemsSold:statItemsSold, statPulses:statPulses, statPhotons:statPhotons, statNeutrons:statNeutrons, statPlasmas:statPlasmas, statTachyons:statTachyons, statMods:statMods}; _local1.awards = awards; SharedObjectManager.instance.update(); } public function load():void{ reset(); var _local1:Object = SharedObjectManager.instance.current.data; name = _local1.basic.name; exp = _local1.basic.exp; credits = _local1.basic.credits; campaign = _local1.basic.campaign; isFinished = _local1.basic.isFinished; inventory = _local1.equip.inventory; weaponEnergy = _local1.equip.weaponEnergy; weaponChip = _local1.equip.weaponChip; armorEnergy = _local1.equip.armorEnergy; armorChip = _local1.equip.armorChip; levelCounts[Config.LEVEL_1A] = _local1.levels.level1_1; levelCounts[Config.LEVEL_1B] = _local1.levels.level1_2; levelCounts[Config.LEVEL_1C] = _local1.levels.level1_3; levelCounts[Config.LEVEL_1D] = _local1.levels.level1_4; levelCounts[Config.LEVEL_1E] = _local1.levels.level1_5; levelCounts[Config.LEVEL_1F] = _local1.levels.level1_B; levelCounts[Config.LEVEL_2A] = _local1.levels.level2_1; levelCounts[Config.LEVEL_2B] = _local1.levels.level2_2; levelCounts[Config.LEVEL_2C] = _local1.levels.level2_3; levelCounts[Config.LEVEL_2D] = _local1.levels.level2_4; levelCounts[Config.LEVEL_2E] = _local1.levels.level2_5; levelCounts[Config.LEVEL_2F] = _local1.levels.level2_B; levelCounts[Config.LEVEL_3A] = _local1.levels.level3_1; levelCounts[Config.LEVEL_3B] = _local1.levels.level3_2; levelCounts[Config.LEVEL_3C] = _local1.levels.level3_3; levelCounts[Config.LEVEL_3D] = _local1.levels.level3_4; levelCounts[Config.LEVEL_3E] = _local1.levels.level3_5; levelCounts[Config.LEVEL_3F] = _local1.levels.level3_B; levelCounts[Config.LEVEL_4A] = _local1.levels.level4_1; levelCounts[Config.LEVEL_4B] = _local1.levels.level4_2; levelCounts[Config.LEVEL_4C] = _local1.levels.level4_3; levelCounts[Config.LEVEL_4D] = _local1.levels.level4_4; levelCounts[Config.LEVEL_4E] = _local1.levels.level4_5; levelCounts[Config.LEVEL_4F] = _local1.levels.level4_B; levelCounts[Config.LEVEL_5A] = _local1.levels.level5_1; levelCounts[Config.LEVEL_5B] = _local1.levels.level5_2; levelCounts[Config.LEVEL_5C] = _local1.levels.level5_3; levelCounts[Config.LEVEL_5D] = _local1.levels.level5_4; levelCounts[Config.LEVEL_5E] = _local1.levels.level5_5; levelCounts[Config.LEVEL_5F] = _local1.levels.level5_B; statCredits = _local1.stats.statCredits; statCreditsSpent = _local1.stats.statCreditsSpent; statKills = _local1.stats.statKills; statShots = _local1.stats.statShots; statHits = _local1.stats.statHits; statSites = _local1.stats.statSites; statSitesCleared = _local1.stats.statSitesCleared; statSitesUnKilled = _local1.stats.statSitesUnKilled; statRooms = _local1.stats.statRooms; statItemsCollected = _local1.stats.statItemsCollected; statItemsSold = _local1.stats.statItemsSold; statPulses = _local1.stats.statPulses; statPhotons = _local1.stats.statPhotons; statNeutrons = _local1.stats.statNeutrons; statPlasmas = _local1.stats.statPlasmas; statTachyons = _local1.stats.statTachyons; statMods = _local1.stats.statMods; awards = _local1.awards; } public static function get instance():Profile{ if (!_instance){ allow = true; _instance = new (Profile); allow = false; }; return (_instance); } } }//package game
Section 322
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.display.*; import flash.filters.*; public class TweenFilterLite extends TweenLite { private var _matrix:Array; private var _hf:Boolean;// = false private var _cmf:ColorMatrixFilter; private var _filters:Array; private var _endMatrix:Array; private var _clrsa:Array; public static var defaultEase:Function = TweenLite.defaultEase; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var version:Number = 7.12; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _filters = []; super(_arg1, _arg2, _arg3); if ((((TweenLite.version < 6.21)) || (isNaN(TweenLite.version)))){ trace("ERROR! Please update your TweenLite class. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; if (_arg3.type != undefined){ trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details.")); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:int; var _local4:Object; var _local5:Object; var _local6:Object; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter "); if ((this.target is DisplayObject)){ if (this.vars.blurFilter != undefined){ _local4 = this.vars.blurFilter; addFilter("blur", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != undefined){ _local4 = this.vars.glowFilter; addFilter("glow", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != undefined){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrix", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (((!((_local4.matrix == undefined))) && ((_local4.matrix is Array)))){ _endMatrix = _local4.matrix; } else { if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens.push({o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3])}); }; _local3++; }; }; if (this.vars.dropShadowFilter != undefined){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadow", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != undefined){ _local4 = this.vars.bevelFilter; addFilter("bevel", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = (_clrsa.length - 1); while (_local3 > -1) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3--; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; } override public function render(_arg1:uint):void{ var _local4:Object; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Array; 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 (_hf){ _local5 = (_clrsa.length - 1); while (_local5 > -1) { _local4 = _clrsa[_local5]; _local6 = (_local4.sr + (_local3 * _local4.cr)); _local7 = (_local4.sg + (_local3 * _local4.cg)); _local8 = (_local4.sb + (_local3 * _local4.cb)); _local4.f[_local4.p] = (((_local6 << 16) | (_local7 << 8)) | _local8); _local5--; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local10 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local9 = (_local10.length - 1); while (_local9 > -1) { if ((_local10[_local9] is _filters[_local5].type)){ _local10.splice(_local9, 1, _filters[_local5].filter); break; }; _local9--; }; _local5++; }; this.target.filters = _local10; }; 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){ super.complete(true); }; } public function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; var _local6:Object = {type:_arg3}; var _local7:Array = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7.push(_local6.filter); this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa.push({f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}); } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens.push({o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10}); }; }; }; _local8++; }; _filters.push(_local6); _hf = true; return (_local6); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=100):Array{ if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF); var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF); var _local6:Number = ((_arg2 & 0xFF) / 0xFF); var _local7:Number = (1 - _arg3); var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Number = (1 - _arg2); var _local4:Number = (_local3 * _lumR); var _local5:Number = (_local3 * _lumG); var _local6:Number = (_local3 * _lumB); var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; var _local3:Array = []; var _local4:int; var _local5:int; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function setHue(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); var _local3:Number = Math.cos(_arg2); var _local4:Number = Math.sin(_arg2); var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 323
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.geom.*; import flash.events.*; import flash.utils.*; 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 324
//TweenMax (gs.TweenMax) package gs { import flash.utils.*; public class TweenMax extends TweenFilterLite { protected var _pauseTime:Number; protected static const RAD2DEG:Number = 57.2957795130823; public static var removeTween:Function = TweenLite.removeTween; public static var defaultEase:Function = TweenLite.defaultEase; public static var version:Number = 1.14; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var killDelayedCallsTo:Function = TweenLite.killDelayedCallsTo; public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); _pauseTime = -1; if ((((TweenFilterLite.version < 7.12)) || (isNaN(TweenFilterLite.version)))){ trace("TweenMax error! Please update your TweenFilterLite class. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."); }; } override public function get active():Boolean{ if (_active){ return (true); }; if (_pauseTime != -1){ return (false); }; 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(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function pause():void{ if (_pauseTime == -1){ _pauseTime = _curTime; _active = false; }; } public function set progress(_arg1:Number):void{ var _local2:Number = (_curTime - ((this.duration * _arg1) * 1000)); this.initTime = (_local2 - (this.delay * 1000)); var _local3:Boolean = this.active; this.startTime = _local2; render(_curTime); } public function set paused(_arg1:Boolean):void{ if (_arg1){ this.pause(); } else { this.resume(); }; } public function resume():void{ var _local1:Number; if (_pauseTime != -1){ _local1 = (_curTime - _pauseTime); this.initTime = (this.initTime + _local1); if (!isNaN(this.startTime)){ this.startTime = (this.startTime + _local1); }; _pauseTime = -1; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; }; }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Object; var _local7:Array; _arg2 = (_arg2 + " hexColors bezier bezierThrough orientToBezier "); var _local8:Function = bezierProxy; if (this.vars.orientToBezier == true){ this.vars.orientToBezier = [["x", "y", "rotation", 0]]; _local8 = bezierProxy2; } else { if ((this.vars.orientToBezier is Array)){ _local8 = bezierProxy2; }; }; if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){ _local6 = {}; _local7 = this.vars.bezier; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween(_local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){ _local6 = {}; _local7 = this.vars.bezierThrough; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween(_local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){ for (_local3 in this.vars.hexColors) { addSubTween(hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target}); }; }; super.initTweenVals(true, _arg2); } public function get paused():Boolean{ if (_pauseTime != -1){ return (true); }; return (false); } public function get progress():Number{ var _local1:Number = (((((_curTime - this.startTime) / 1000) / this.duration)) || (0)); if (_local1 > 1){ return (1); }; return (_local1); } public static function sequence(_arg1:Object, _arg2:Array):Array{ var _local6:Number; var _local7:Number; var _local8:uint; var _local9:Object; var _local10:String; var _local11:Object; var _local3:Boolean; if (_arg2[0].overwrite == false){ _local3 = false; }; var _local4:Array = []; var _local5:Number = 0; _local8 = 0; while (_local8 < _arg2.length) { _local11 = _arg2[_local8]; _local7 = ((_local11.time) || (0)); _local9 = {}; for (_local10 in _local11) { _local9[_local10] = _local11[_local10]; }; delete _local9.time; _local6 = ((_local9.delay) || (0)); _local9.delay = (_local5 + _local6); _local9.overwrite = _local3; _local4.push(new TweenMax(_arg1, _local7, _local9)); _local5 = (_local5 + (_local7 + _local6)); _local3 = false; _local8++; }; return (_local4); } public static function hexColorsProxy(_arg1:Object):void{ _arg1.info.target[_arg1.info.prop] = (((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b); } public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{ var _local3:int; var _local4:Array; var _local5:Object; var _local6:String; var _local7:Object = {}; if (_arg2){ for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 2){ _local5.push({s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]}); _local3 = 1; while (_local3 < (_local4.length - 1)) { _local5.push({s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]}); _local3++; }; } else { _local5.push({s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}); }; }; } else { for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 3){ _local5.push({s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)}); _local3 = 2; while (_local3 < (_local4.length - 2)) { _local5.push({s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)}); _local3++; }; _local5.push({s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]}); } else { if (_local4.length == 3){ _local5.push({s:_local4[0], cp:_local4[1], e:_local4[2]}); } else { if (_local4.length == 2){ _local5.push({s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}); }; }; }; }; }; return (_local7); } public static function bezierProxy2(_arg1:Object):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; var _local9:Number; bezierProxy(_arg1); var _local2:Object = {}; var _local3:Object = _arg1.info.target; _arg1.info.target = _local2; _arg1.target.t = (_arg1.target.t + 0.01); bezierProxy(_arg1); var _local4:Array = _arg1.info.orientToBezier; var _local10:uint; while (_local10 < _local4.length) { _local8 = _local4[_local10]; _local9 = ((_local8[3]) || (0)); _local6 = (_local2[_local8[0]] - _local3[_local8[0]]); _local7 = (_local2[_local8[1]] - _local3[_local8[1]]); _local3[_local8[2]] = ((Math.atan2(_local7, _local6) * RAD2DEG) + _local9); _local10++; }; _arg1.info.target = _local3; _arg1.target.t = (_arg1.target.t - 0.01); } public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(true, _arg1, _arg2); } public static function getTweensOf(_arg1:Object):Array{ var _local4:Object; var _local2:Dictionary = _all[_arg1]; var _local3:Array = []; if (_local2 != null){ for (_local4 in _local2) { if (_local2[_local4].tweens != undefined){ _local3.push(_local2[_local4]); }; }; }; return (_local3); } public static function killAllDelayedCalls(_arg1:Boolean=false):void{ killAll(_arg1, false, true); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenMax{ return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false})); } public static function isTweening(_arg1:Object):Boolean{ var _local2:Array = getTweensOf(_arg1); var _local3:int = (_local2.length - 1); while (_local3 > -1) { if (_local2[_local3].active){ return (true); }; _local3--; }; return (false); } public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local4:Array = getAllTweens(); var _local5:int = (_local4.length - 1); while (_local5 > -1) { if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){ if (_arg1){ _local4[_local5].complete(); } else { TweenLite.removeTween(_local4[_local5]); }; }; _local5--; }; } public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{ var _local4:Array = getAllTweens(); var _local5:int = (_local4.length - 1); while (_local5 > -1) { if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){ _local4[_local5].paused = _arg1; }; _local5--; }; } public static function bezierProxy(_arg1:Object):void{ var _local5:int; var _local6:String; var _local7:Object; var _local8:Number; var _local9:uint; var _local2:Number = _arg1.target.t; var _local3:Object = _arg1.info.props; var _local4:Object = _arg1.info.target; for (_local6 in _local3) { _local9 = _local3[_local6].length; if (_local2 < 0){ _local5 = 0; } else { if (_local2 >= 1){ _local5 = (_local9 - 1); } else { _local5 = int((_local9 * _local2)); }; }; _local8 = ((_local2 - (_local5 * (1 / _local9))) * _local9); _local7 = _local3[_local6][_local5]; _local4[_local6] = (_local7.s + (_local8 * (((2 * (1 - _local8)) * (_local7.cp - _local7.s)) + (_local8 * (_local7.e - _local7.s))))); }; } public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{ var _local3:uint; while (_local3 < _arg1.length) { if (_arg1[_local3] != undefined){ _arg1[_local3].apply(null, _arg2[_local3]); }; _local3++; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ _arg3.runBackwards = true; return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{ _arg3.runBackwards = true; return (allTo(_arg1, _arg2, _arg3)); } public static function killAllTweens(_arg1:Boolean=false):void{ killAll(_arg1, true, false); } public static function getAllTweens():Array{ var _local3:Object; var _local4:Object; var _local1:Dictionary = _all; var _local2:Array = []; for (_local3 in _local1) { for (_local4 in _local1[_local3]) { if (_local1[_local3][_local4] != undefined){ _local2.push(_local1[_local3][_local4]); }; }; }; return (_local2); } public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(false, _arg1, _arg2); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{ var _local4:int; var _local5:Object; var _local6:String; var _local7:Number; var _local8:Object; if (_arg1.length == 0){ return ([]); }; var _local9:Array = []; var _local10:Number = ((_arg3.delayIncrement) || (0)); delete _arg3.delayIncrement; if (_arg3.onCompleteAll == undefined){ _local8 = _arg3; } else { _local8 = {}; for (_local6 in _arg3) { _local8[_local6] = _arg3[_local6]; }; _local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]]; _local8.onComplete = TweenMax.callbackProxy; delete _arg3.onCompleteAll; }; delete _arg3.onCompleteAllParams; if (_local10 == 0){ _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local9.push(new TweenMax(_arg1[_local4], _arg2, _local5)); _local4++; }; } else { _local7 = ((_arg3.delay) || (0)); _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local5.delay = (_local7 + (_local4 * _local10)); _local9.push(new TweenMax(_arg1[_local4], _arg2, _local5)); _local4++; }; _local8.delay = (_local7 + ((_arg1.length - 1) * _local10)); }; _local9.push(new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8)); return (_local9); } } }//package gs
Section 325
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function reencode():void{ var _local1:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function set value(_arg1:Number):void{ setValue(_arg1); } public function toString():String{ var _local1:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function get value():Number{ return (Number(this.toString())); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 326
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.text.*; import flash.display.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 327
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.net.*; import flash.utils.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__ms_"; private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; public static var netup:Boolean = true; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime())); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); var _local2:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.0"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } public static function get id():String{ return (_id); } private static function urlOptions(_arg1:Object):Object{ var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; var _local3:String = _arg1.loaderInfo.parameters.mochiad_options; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = this.client._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; trace("connected!"); _connecting = false; _connected = true; while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var id = _arg1; var clip = _arg2; var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servicesURL != undefined){ _servicesURL = urlOptions(clip).servicesURL; }; MochiServices.allowDomains(_servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); var f:Function = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999)))); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); var req:URLRequest = new URLRequest(_servicesURL); var vars:URLVariables = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; if (widget){ vars.widget = true; }; req.data = vars; listen(); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function get clip():Object{ return (_container); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 328
//MochiBot (mochi.MochiBot) package mochi { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package mochi
Section 329
//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 330
//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 331
//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 332
//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 333
//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 334
//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 335
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 336
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 337
//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 338
//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 339
//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 340
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset) package mx.core { import flash.display.*; import flash.events.*; 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 341
//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 342
//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 343
//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 344
//MonsterDebugger (nl.demonsters.debugger.MonsterDebugger) package nl.demonsters.debugger { import flash.display.*; import flash.geom.*; import flash.net.*; import flash.events.*; import flash.utils.*; import flash.xml.*; public class MonsterDebugger { private const TYPE_BOOLEAN:String = "Boolean"; private const TYPE_XMLLIST:String = "XMLList"; private const COMMAND_TRACE:String = "TRACE"; private const TYPE_DISPLAYOBJECT:String = "DisplayObject"; private const TYPE_XMLVALUE:String = "XMLValue"; private const COMMAND_NOTFOUND:String = "NOTFOUND"; private const ACCESS_CONSTANT:String = "constant"; private const ACCESS_METHOD:String = "method"; private const HIGHLIGHT_BORDER:int = 4; private const TYPE_FUNCTION:String = "Function"; private const TYPE_UINT:String = "uint"; private const TYPE_INT:String = "int"; private const MAX_PACKAGE_BYTES:int = 40000; private const LINE_IN:String = "_debuggerBlue"; private const TYPE_XMLATTRIBUTE:String = "XMLAttribute"; private const ALLOWED_DOMAIN:String = "*"; private const ICON_VARIABLE_READONLY:String = "iconVariableReadonly"; private const ICON_DEFAULT:String = "iconDefault"; private const LINE_OUT:String = "_debuggerRed"; private const COMMAND_SHOW_HIGHLIGHT:String = "SHOW_HIGHLIGHT"; private const ICON_XMLATTRIBUTE:String = "iconXMLAttribute"; private const TYPE_BYTEARRAY:String = "ByteArray"; private const ICON_VARIABLE_WRITEONLY:String = "iconVariableWriteonly"; private const COMMAND_GET_PROPERTIES:String = "GET_PROPERTIES"; private const TYPE_XML:String = "XML"; private const TYPE_XMLNODE:String = "XMLNode"; private const COMMAND_ROOT:String = "ROOT"; private const TYPE_WARNING:String = "Warning"; private const PERMISSION_READWRITE:String = "readwrite"; private const PERMISSION_WRITEONLY:String = "writeonly"; private const ICON_VARIABLE:String = "iconVariable"; private const TYPE_METHOD:String = "MethodClosure"; private const TYPE_VOID:String = "void"; private const COMMAND_HIDE_HIGHLIGHT:String = "HIDE_HIGHLIGHT"; private const COMMAND_GET_FUNCTIONS:String = "GET_FUNCTIONS"; private const COMMAND_HELLO:String = "HELLO"; private const PERMISSION_READONLY:String = "readonly"; private const ICON_XMLNODE:String = "iconXMLNode"; private const VERSION:Number = 2.01; private const ICON_WARNING:String = "iconWarning"; private const ICON_XMLVALUE:String = "iconXMLValue"; private const ACCESS_ACCESSOR:String = "accessor"; private const TYPE_STRING:String = "String"; private const COMMAND_SET_PROPERTY:String = "SET_PROPERTY"; private const COMMAND_CALL_METHOD:String = "CALL_METHOD"; private const ICON_FUNCTION:String = "iconFunction"; private const HIGHLIGHT_COLOR:uint = 0xFFFF00; private const ICON_ROOT:String = "iconRoot"; private const TYPE_OBJECT:String = "Object"; private const TYPE_NUMBER:String = "Number"; private const TYPE_ARRAY:String = "Array"; private const ACCESS_VARIABLE:String = "variable"; private const COMMAND_GET_OBJECT:String = "GET_OBJECT"; private var lineIn:LocalConnection; public var enabled:Boolean;// = true private var highlight:Sprite;// = null private var lineOut:LocalConnection; private var root:Object;// = null public static const COLOR_WARNING:uint = 0xFF3300; public static const COLOR_NORMAL:uint = 0x111111; public static const COLOR_ERROR:uint = 0xFF0000; private static var instance:MonsterDebugger = null; public function MonsterDebugger(_arg1:Object=null){ var target = _arg1; super(); if (instance == null){ instance = this; lineOut = new LocalConnection(); lineOut.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); lineOut.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); lineOut.addEventListener(StatusEvent.STATUS, statusHandler); lineIn = new LocalConnection(); lineIn.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); lineIn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); lineIn.addEventListener(StatusEvent.STATUS, statusHandler); lineIn.allowDomain(ALLOWED_DOMAIN); lineIn.client = this; try { lineIn.connect(LINE_IN); } catch(error:ArgumentError) { }; }; if (target != MonsterDebugger.trace){ instance.root = target; instance.send({text:COMMAND_HELLO, version:VERSION}); }; } private function asyncErrorHandler(_arg1:AsyncErrorEvent):void{ } public function htmlEscape(_arg1:String):String{ if (_arg1){ while (_arg1.indexOf("'") != -1) { _arg1 = _arg1.replace("'", "&apos;"); }; while (_arg1.indexOf("\"") != -1) { _arg1 = _arg1.replace("\"", "&quot;"); }; return (XML(new XMLNode(XMLNodeType.TEXT_NODE, _arg1)).toXMLString()); //unresolved jump }; return (""); } private function createNode(_arg1:String, _arg2:Object=null, _arg3:Boolean=false):String{ var _local5:*; var _local4 = ""; _local4 = (_local4 + ("<" + _arg1)); if (_arg2){ for (_local5 in _arg2) { _local4 = (_local4 + ((((" " + _local5) + "='") + _arg2[_local5]) + "'")); }; }; if (_arg3){ _local4 = (_local4 + (("></" + _arg1) + ">")); } else { _local4 = (_local4 + ">"); }; return (_local4); } public function htmlUnescape(_arg1:String):String{ if (_arg1){ return (new XMLDocument(_arg1).firstChild.nodeValue); }; return (""); } private function getObject(_arg1:String="", _arg2:int=0){ var splitted:Array; var i:int; var target = _arg1; var parent = _arg2; var object:* = instance.root; if (target != ""){ splitted = target.split("."); i = 0; while (i < (splitted.length - parent)) { if (splitted[i] != ""){ try { if (splitted[i] == "children()"){ object = object.children(); } else { object = object[splitted[i]]; }; } catch(error:ReferenceError) { send({text:COMMAND_NOTFOUND, target:target}); break; }; }; i = (i + 1); }; }; return (object); } private function trace(_arg1:Object, _arg2, _arg3:uint=0x111111, _arg4:Boolean=false, _arg5:int=4):void{ var _local6:XML; if (enabled){ _local6 = XML(parseObject(_arg2, "", _arg4, 1, _arg5)); send({text:COMMAND_TRACE, date:new Date(), target:String(_arg1), xml:_local6, color:_arg3}); }; } private function printObject(_arg1, _arg2:String):String{ var _local3 = ""; if (_arg2 == TYPE_BYTEARRAY){ _local3 = (_arg1.length + " bytes"); } else { _local3 = htmlEscape(String(_arg1)); }; return (_local3); } private function parseXML(_arg1, _arg2:String="", _arg3:int=1, _arg4:int=-1):String{ var _local7:String; var _local5 = ""; var _local6:int; if ((((_arg4 == -1)) || ((_arg3 <= _arg4)))){ if (_arg2.indexOf("@") != -1){ _local5 = (_local5 + createNode("node", {icon:ICON_XMLATTRIBUTE, label:_arg1, name:"", type:TYPE_XMLATTRIBUTE, value:_arg1, target:_arg2, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } else { if (_arg1.name() == null){ _local5 = (_local5 + createNode("node", {icon:ICON_XMLVALUE, label:((("(" + TYPE_XMLVALUE) + ") = ") + printObject(_arg1, TYPE_XMLVALUE)), name:"", type:TYPE_XMLVALUE, value:printObject(_arg1, TYPE_XMLVALUE), target:_arg2, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } else { if (_arg1.hasSimpleContent()){ _local5 = (_local5 + createNode("node", {icon:ICON_XMLNODE, label:(((_arg1.name() + " (") + TYPE_XMLNODE) + ")"), name:_arg1.name(), type:TYPE_XMLNODE, value:"", target:_arg2, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE})); if (_arg1 != ""){ _local5 = (_local5 + createNode("node", {icon:ICON_XMLVALUE, label:((("(" + TYPE_XMLVALUE) + ") = ") + printObject(_arg1, TYPE_XMLVALUE)), name:"", type:TYPE_XMLVALUE, value:printObject(_arg1, TYPE_XMLVALUE), target:_arg2, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); }; _local6 = 0; while (_local6 < _arg1.attributes().length()) { _local5 = (_local5 + createNode("node", {icon:ICON_XMLATTRIBUTE, label:((((("@" + _arg1.attributes()[_local6].name()) + " (") + TYPE_XMLATTRIBUTE) + ") = ") + _arg1.attributes()[_local6]), name:"", type:TYPE_XMLATTRIBUTE, value:_arg1.attributes()[_local6], target:(((_arg2 + ".") + "@") + _arg1.attributes()[_local6].name()), access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); _local6++; }; _local5 = (_local5 + createNode("/node")); } else { _local5 = (_local5 + createNode("node", {icon:ICON_XMLNODE, label:(((_arg1.name() + " (") + TYPE_XMLNODE) + ")"), name:_arg1.name(), type:TYPE_XMLNODE, value:"", target:_arg2, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE})); _local6 = 0; while (_local6 < _arg1.attributes().length()) { _local5 = (_local5 + createNode("node", {icon:ICON_XMLATTRIBUTE, label:((((("@" + _arg1.attributes()[_local6].name()) + " (") + TYPE_XMLATTRIBUTE) + ") = ") + _arg1.attributes()[_local6]), name:"", type:TYPE_XMLATTRIBUTE, value:_arg1.attributes()[_local6], target:(((_arg2 + ".") + "@") + _arg1.attributes()[_local6].name()), access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); _local6++; }; _local6 = 0; while (_local6 < _arg1.children().length()) { _local7 = ((((_arg2 + ".") + "children()") + ".") + _local6); _local5 = (_local5 + parseXML(_arg1.children()[_local6], _local7, (_arg3 + 1), _arg4)); _local6++; }; _local5 = (_local5 + createNode("/node")); }; }; }; }; return (_local5); } private function send(_arg1:Object):void{ var item:ByteArray; var dataPackages:Array; var i:int; var bytesAvailable:int; var offset:int; var total:int; var length:int; var tmp:ByteArray; var data = _arg1; if (enabled){ item = new ByteArray(); item.writeObject(data); item.compress(); dataPackages = new Array(); i = 0; if (item.length > MAX_PACKAGE_BYTES){ bytesAvailable = item.length; offset = 0; total = Math.ceil((item.length / MAX_PACKAGE_BYTES)); i = 0; while (i < total) { length = bytesAvailable; if (length > MAX_PACKAGE_BYTES){ length = MAX_PACKAGE_BYTES; }; tmp = new ByteArray(); tmp.writeBytes(item, offset, length); dataPackages.push({total:total, nr:(i + 1), bytes:tmp}); bytesAvailable = (bytesAvailable - length); offset = (offset + length); i = (i + 1); }; } else { dataPackages.push({total:1, nr:1, bytes:item}); }; i = 0; while (i < dataPackages.length) { try { lineOut.send(LINE_OUT, "onReceivedData", dataPackages[i]); } catch(error:Error) { break; }; i = (i + 1); }; }; } private function securityErrorHandler(_arg1:SecurityErrorEvent):void{ } private function isDisplayObject(_arg1):Boolean{ var description:XML; var i:int; var object = _arg1; var drawable:Boolean; try { description = describeType(object); i = 0; while (i < description.extendsClass.length()) { if (parseType(description.extendsClass[i].@type) == TYPE_DISPLAYOBJECT){ drawable = true; break; }; i = (i + 1); }; } catch(error:Error) { }; return (drawable); } public function onReceivedData(_arg1:ByteArray):void{ var object:*; var method:Function; var xml:XML; var command:Object; var bounds:Rectangle; var data = _arg1; if (enabled){ data.uncompress(); command = data.readObject(); switch (command["text"]){ case COMMAND_HELLO: send({text:COMMAND_HELLO, version:VERSION}); break; case COMMAND_ROOT: object = getObject("", 0); if (object != null){ xml = XML(parseObject(object, "", command["functions"], 1, 2)); send({text:COMMAND_ROOT, xml:xml}); }; break; case COMMAND_GET_OBJECT: object = getObject(command["target"], 0); if (object != null){ xml = XML(parseObject(object, command["target"], command["functions"], 1, 2)); send({text:COMMAND_GET_OBJECT, xml:xml}); }; break; case COMMAND_GET_PROPERTIES: object = getObject(command["target"], 0); if (object != null){ xml = XML(parseObject(object, command["target"], false, 1, 1)); send({text:COMMAND_GET_PROPERTIES, xml:xml}); }; break; case COMMAND_GET_FUNCTIONS: object = getObject(command["target"], 0); if (object != null){ xml = XML(getFunctions(object, command["target"])); send({text:COMMAND_GET_FUNCTIONS, xml:xml}); }; break; case COMMAND_SET_PROPERTY: object = getObject(command["target"], 1); if (object != null){ try { object[command["name"]] = command["value"]; send({text:COMMAND_SET_PROPERTY, value:object[command["name"]]}); } catch(error:Error) { send({text:COMMAND_NOTFOUND, target:command["target"]}); break; }; }; break; case COMMAND_CALL_METHOD: method = getObject(command["target"], 0); if (method != null){ if (command["returnType"] == TYPE_VOID){ method.apply(this, command["arguments"]); } else { object = method.apply(this, command["arguments"]); xml = XML(parseObject(object, "", false, 1, 4)); send({text:COMMAND_CALL_METHOD, id:command["id"], xml:xml}); }; }; break; case COMMAND_SHOW_HIGHLIGHT: if (highlight != null){ try { highlight.parent.removeChild(highlight); highlight = null; } catch(error1:Error) { }; }; object = getObject(command["target"], 0); if (((isDisplayObject(object)) && (isDisplayObject(object.parent)))){ bounds = object.getBounds(object.parent); highlight = new Sprite(); highlight.x = 0; highlight.y = 0; highlight.graphics.beginFill(0, 0); highlight.graphics.lineStyle(HIGHLIGHT_BORDER, HIGHLIGHT_COLOR); highlight.graphics.drawRect(bounds.x, bounds.y, bounds.width, bounds.height); highlight.graphics.endFill(); highlight.mouseChildren = false; highlight.mouseEnabled = false; try { object.parent.addChild(highlight); } catch(error2:Error) { highlight = null; }; }; break; case COMMAND_HIDE_HIGHLIGHT: if (highlight != null){ try { highlight.parent.removeChild(highlight); highlight = null; } catch(error:Error) { }; }; break; }; }; } private function parseType(_arg1:String):String{ var _local2:String = _arg1; if (_arg1.lastIndexOf("::") != -1){ _local2 = _arg1.substring((_arg1.lastIndexOf("::") + 2), _arg1.length); }; if (_local2 == TYPE_METHOD){ _local2 = TYPE_FUNCTION; }; return (htmlEscape(_local2)); } private function parseObject(_arg1, _arg2:String="", _arg3:Boolean=false, _arg4:int=1, _arg5:int=-1):String{ var xml:String; var properties:Array; var prop:*; var variables:XMLList; var accessors:XMLList; var constants:XMLList; var methods:XMLList; var variablesArr:Array; var methodsArr:Array; var double:Boolean; var permission:String; var icon:String; var returnType:String; var parameters:XMLList; var args:Array; var msg:String; var object = _arg1; var target = _arg2; var functions = _arg3; var currentDepth = _arg4; var maxDepth = _arg5; xml = ""; var childType = ""; var childName = ""; var childTarget = ""; var description:XML = new XML(); var type = ""; var base = ""; var i:int; var n:int; if ((((maxDepth == -1)) || ((currentDepth <= maxDepth)))){ if (currentDepth == 1){ xml = (xml + createNode("root")); }; try { description = describeType(object); type = parseType(description.@name); base = parseType(description.@base); if (((functions) && ((base == TYPE_FUNCTION)))){ xml = (xml + createNode("node", {icon:ICON_FUNCTION, label:"(Function)", name:"", type:TYPE_FUNCTION, value:"", target:target, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } else { if (type == TYPE_ARRAY){ if (currentDepth == 1){ xml = (xml + createNode("node", {icon:ICON_ROOT, label:(("(" + type) + ")"), target:target})); }; xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:(((("length" + " (") + TYPE_UINT) + ") = ") + object.length), name:"length", type:TYPE_UINT, value:object.length, target:((target + ".") + "length"), access:ACCESS_VARIABLE, permission:PERMISSION_READONLY}, true)); i = 0; while (i < object.length) { childType = parseType(describeType(object[i]).@name); childTarget = ((target + ".") + String(i)); if ((((((((((((childType == TYPE_STRING)) || ((childType == TYPE_BOOLEAN)))) || ((childType == TYPE_NUMBER)))) || ((childType == TYPE_INT)))) || ((childType == TYPE_UINT)))) || ((childType == TYPE_FUNCTION)))){ try { xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:((((("[" + i) + "] (") + childType) + ") = ") + printObject(object[i], childType)), name:(("[" + i) + "]"), type:childType, value:printObject(object[i], childType), target:childTarget, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } catch(error:Error) { }; } else { xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:(((("[" + i) + "] (") + childType) + ")"), name:(("[" + i) + "]"), type:childType, value:"", target:childTarget, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE})); try { xml = (xml + parseObject(object[i], childTarget, functions, (currentDepth + 1), maxDepth)); } catch(error:Error) { xml = (xml + createNode("node", {icon:ICON_WARNING, type:TYPE_WARNING, label:"Unreadable", name:"Unreadable"}, true)); }; xml = (xml + createNode("/node")); }; i = (i + 1); }; if (currentDepth == 1){ xml = (xml + createNode("/node")); }; } else { if (type == TYPE_OBJECT){ if (currentDepth == 1){ xml = (xml + createNode("node", {icon:ICON_ROOT, label:(("(" + type) + ")"), target:target})); }; properties = new Array(); for (prop in object) { properties.push(prop); }; properties.sort(); i = 0; while (i < properties.length) { childType = parseType(describeType(object[properties[i]]).@name); childTarget = ((target + ".") + properties[i]); if ((((((((((((childType == TYPE_STRING)) || ((childType == TYPE_BOOLEAN)))) || ((childType == TYPE_NUMBER)))) || ((childType == TYPE_INT)))) || ((childType == TYPE_UINT)))) || ((childType == TYPE_FUNCTION)))){ try { xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:((((properties[i] + " (") + childType) + ") = ") + printObject(object[properties[i]], childType)), name:properties[i], type:childType, value:printObject(object[properties[i]], childType), target:childTarget, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } catch(error:Error) { }; } else { xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:(((properties[i] + " (") + childType) + ")"), name:properties[i], type:childType, value:"", target:childTarget, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE})); try { xml = (xml + parseObject(object[properties[i]], childTarget, functions, (currentDepth + 1), maxDepth)); } catch(error:Error) { xml = (xml + createNode("node", {icon:ICON_WARNING, type:TYPE_WARNING, label:"Unreadable", name:"Unreadable"}, true)); }; xml = (xml + createNode("/node")); }; i = (i + 1); }; if (currentDepth == 1){ xml = (xml + createNode("/node")); }; } else { if ((((type == TYPE_XML)) || ((type == TYPE_XMLLIST)))){ if (currentDepth == 1){ xml = (xml + createNode("node", {icon:ICON_ROOT, label:(("(" + type) + ")"), target:target})); }; xml = (xml + parseXML(object, ((target + ".") + "cildren()"), currentDepth, maxDepth)); if (currentDepth == 1){ xml = (xml + createNode("/node")); }; } else { if ((((((((((type == TYPE_STRING)) || ((type == TYPE_BOOLEAN)))) || ((type == TYPE_NUMBER)))) || ((type == TYPE_INT)))) || ((type == TYPE_UINT)))){ xml = (xml + createNode("node", {icon:ICON_VARIABLE, label:((("(" + type) + ") = ") + printObject(object, type)), name:"", type:type, value:printObject(object, type), target:target, access:ACCESS_VARIABLE, permission:PERMISSION_READWRITE}, true)); } else { if (currentDepth == 1){ xml = (xml + createNode("node", {icon:ICON_ROOT, label:(("(" + type) + ")"), target:target})); }; variables = description..variable; accessors = description..accessor; constants = description..constant; methods = description..method; variablesArr = new Array(); methodsArr = new Array(); double = false; permission = ""; icon = ""; double = false; i = 0; while (i < variables.length()) { n = 0; while (n < variablesArr.length) { if (variablesArr[n].name == variables[i].@name){ double = true; break; }; n = (n + 1); }; if (!double){ variablesArr.push({name:variables[i].@name, xml:variables[i], access:ACCESS_VARIABLE}); }; i = (i + 1); }; double = false; i = 0; while (i < accessors.length()) { n = 0; while (n < variablesArr.length) { if (variablesArr[n].name == accessors[i].@name){ double = true; break; }; n = (n + 1); }; if (!double){ variablesArr.push({name:accessors[i].@name, xml:accessors[i], access:ACCESS_ACCESSOR}); }; i = (i + 1); }; double = false; i = 0; while (i < constants.length()) { n = 0; while (n < variablesArr.length) { if (variablesArr[n].name == constants[i].@name){ double = true; break; }; n = (n + 1); }; if (!double){ variablesArr.push({name:constants[i].@name, xml:constants[i], access:ACCESS_CONSTANT}); }; i = (i + 1); }; double = false; i = 0; while (i < methods.length()) { n = 0; while (n < methodsArr.length) { if (methodsArr[n].name == methods[i].@name){ double = true; break; }; n = (n + 1); }; if (!double){ methodsArr.push({name:methods[i].@name, xml:methods[i], access:ACCESS_METHOD}); }; i = (i + 1); }; variablesArr.sortOn("name"); methodsArr.sortOn("name"); i = 0; while (i < variablesArr.length) { childType = parseType(variablesArr[i].xml.@type); childName = variablesArr[i].xml.@name; childTarget = ((target + ".") + childName); permission = PERMISSION_READWRITE; icon = ICON_VARIABLE; if (variablesArr[i].access == ACCESS_CONSTANT){ permission = PERMISSION_READONLY; icon = ICON_VARIABLE_READONLY; }; if (variablesArr[i].xml.@access == PERMISSION_READONLY){ permission = PERMISSION_READONLY; icon = ICON_VARIABLE_READONLY; }; if (variablesArr[i].xml.@access == PERMISSION_WRITEONLY){ permission = PERMISSION_WRITEONLY; icon = ICON_VARIABLE_WRITEONLY; }; if (permission != PERMISSION_WRITEONLY){ if ((((((((((((childType == TYPE_STRING)) || ((childType == TYPE_BOOLEAN)))) || ((childType == TYPE_NUMBER)))) || ((childType == TYPE_INT)))) || ((childType == TYPE_UINT)))) || ((childType == TYPE_FUNCTION)))){ try { xml = (xml + createNode("node", {icon:icon, label:((((childName + " (") + childType) + ") = ") + printObject(object[childName], childType)), name:childName, type:childType, value:printObject(object[childName], childType), target:childTarget, access:variablesArr[i].access, permission:permission}, true)); } catch(error:Error) { }; } else { xml = (xml + createNode("node", {icon:icon, label:(((childName + " (") + childType) + ")"), name:childName, type:childType, target:childTarget, access:variablesArr[i].access, permission:permission})); try { xml = (xml + parseObject(object[childName], childTarget, functions, (currentDepth + 1), maxDepth)); } catch(error:Error) { xml = (xml + createNode("node", {icon:ICON_WARNING, type:TYPE_WARNING, label:"Unreadable", name:"Unreadable"}, true)); }; xml = (xml + createNode("/node")); }; }; i = (i + 1); }; if (functions){ i = 0; while (i < methodsArr.length) { childType = TYPE_FUNCTION; childName = methodsArr[i].xml.@name; childTarget = ((target + ".") + childName); returnType = parseType(methodsArr[i].xml.@returnType); parameters = methodsArr[i].xml..parameter; args = new Array(); n = 0; while (n < parameters.length()) { args.push(parseType(parameters[n].@type)); n = (n + 1); }; xml = (xml + createNode("node", {icon:ICON_FUNCTION, label:((((childName + "(") + args.join(", ")) + "):") + returnType), args:args.join(", "), name:childName, type:TYPE_FUNCTION, access:variablesArr[i].access, returnType:returnType, target:childTarget}, true)); i = (i + 1); }; }; if (currentDepth == 1){ xml = (xml + createNode("/node")); }; }; }; }; }; }; } catch(error:Error) { msg = ""; msg = (msg + createNode("root")); msg = (msg + createNode("node", {icon:ICON_WARNING, type:TYPE_WARNING, label:"Not found", name:"Not found"}, true)); msg = (msg + createNode("/root")); send({text:COMMAND_NOTFOUND, target:target, xml:XML(msg)}); }; if (currentDepth == 1){ xml = (xml + createNode("/root")); }; }; return (xml); } private function getFunctions(_arg1, _arg2:String=""):String{ var description:XML; var type:String; var childType:String; var childName:String; var childTarget:String; var methods:XMLList; var methodsArr:Array; var returnType:String; var parameters:XMLList; var args:Array; var argsString:String; var optional:Boolean; var double:Boolean; var i:int; var n:int; var msg:String; var object = _arg1; var target = _arg2; var xml = ""; xml = (xml + createNode("root")); try { description = describeType(object); type = parseType(description.@name); childType = ""; childName = ""; childTarget = ""; methods = description..method; methodsArr = new Array(); optional = false; double = false; i = 0; n = 0; xml = (xml + createNode("node", {icon:ICON_DEFAULT, label:(("(" + type) + ")"), target:target})); i = 0; while (i < methods.length()) { n = 0; while (n < methodsArr.length) { if (methodsArr[n].name == methods[i].@name){ double = true; break; }; n = (n + 1); }; if (!double){ methodsArr.push({name:methods[i].@name, xml:methods[i], access:ACCESS_METHOD}); }; i = (i + 1); }; methodsArr.sortOn("name"); i = 0; while (i < methodsArr.length) { childType = TYPE_FUNCTION; childName = methodsArr[i].xml.@name; childTarget = ((target + ".") + childName); returnType = parseType(methodsArr[i].xml.@returnType); parameters = methodsArr[i].xml..parameter; args = new Array(); argsString = ""; optional = false; n = 0; while (n < parameters.length()) { if ((((parameters[n].@optional == "true")) && (!(optional)))){ optional = true; args.push("["); }; args.push(parseType(parameters[n].@type)); n = (n + 1); }; if (optional){ args.push("]"); }; argsString = args.join(", "); argsString = argsString.replace("[, ", "["); argsString = argsString.replace(", ]", "]"); xml = (xml + createNode("node", {icon:ICON_FUNCTION, label:((((childName + "(") + argsString) + "):") + returnType), args:argsString, name:childName, type:TYPE_FUNCTION, access:ACCESS_METHOD, returnType:returnType, target:childTarget})); n = 0; while (n < parameters.length()) { xml = (xml + createNode("parameter", {type:parseType(parameters[n].@type), index:parameters[n].@index, optional:parameters[n].@optional}, true)); n = (n + 1); }; xml = (xml + createNode("/node")); i = (i + 1); }; xml = (xml + createNode("/node")); } catch(error:Error) { msg = ""; msg = (msg + createNode("root")); msg = (msg + createNode("node", {icon:ICON_WARNING, type:TYPE_WARNING, label:"Not found", name:"Not found"}, true)); msg = (msg + createNode("/root")); send({text:COMMAND_NOTFOUND, target:target, xml:XML(msg)}); }; xml = (xml + createNode("/root")); return (xml); } private function statusHandler(_arg1:StatusEvent):void{ } public static function get enabled():Boolean{ if (instance == null){ instance = new MonsterDebugger(null); }; return (instance.enabled); } public static function trace(_arg1:Object, _arg2, _arg3:uint=0x111111, _arg4:Boolean=false, _arg5:int=4):void{ if (instance == null){ instance = new MonsterDebugger(trace); }; if (instance.enabled){ instance.trace(_arg1, _arg2, _arg3, _arg4, _arg5); }; } public static function set enabled(_arg1:Boolean):void{ if (instance == null){ instance = new MonsterDebugger(null); }; instance.enabled = _arg1; } } }//package nl.demonsters.debugger
Section 345
//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 346
//BitmapButton (tofu.ui.BitmapButton) package tofu.ui { import flash.display.*; import flash.geom.*; import flash.events.*; 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 tofu.ui
Section 347
//Input (tofu.ui.Input) package tofu.ui { import flash.text.*; public class Input extends Label { public function Input(_arg1:LabelStyle=null){ super("", _arg1); textField.type = TextFieldType.INPUT; textField.selectable = true; } } }//package tofu.ui
Section 348
//Label (tofu.ui.Label) package tofu.ui { import flash.text.*; import flash.geom.*; 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; 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); }; textField.text = (_arg2) ? (textField.text + _arg1) : _arg1; } public function get element():TextField{ return (textField); } public function setStyle(_arg1:LabelStyle):void{ var _local2:String = textField.text; 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.password; textField.maxChars = _arg1.style.maxChars; textField.antiAliasType = _arg1.style.antiAlias; textField.gridFitType = _arg1.style.grid; textField.filters = _arg1.style.filters; textField.defaultTextFormat = textFormat; textField.text = _local2; } } }//package tofu.ui
Section 349
//LabelStyle (tofu.ui.LabelStyle) package tofu.ui { 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, password:false, filters:[], antiAlias:AntiAliasType.NORMAL, grid:GridFitType.NONE, leading:0}; } 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 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 clone(_arg1:LabelStyle):LabelStyle{ var _local2:String; for (_local2 in _arg1.style) { _style[_local2] = _arg1.style[_local2]; }; 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 setPassword(_arg1:Boolean):LabelStyle{ style.displayAsPassword = _arg1; 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 tofu.ui
Section 350
//ScaleBitmapButton (tofu.ui.ScaleBitmapButton) package tofu.ui { import flash.display.*; import flash.geom.*; import flash.events.*; import org.bytearray.display.*; public class ScaleBitmapButton extends SimpleButton { protected var overLabel:Label; public var click:Function; public var mouseout:Function; protected var overContainer:Sprite; public var mouseover:Function; protected var hit:Sprite; protected var upLabel:Label; protected var selected:ScaleBitmap; protected var labelStyle:LabelStyle; protected var selectedLabel:Label; protected var down:ScaleBitmap; protected var selectedContainer:Sprite; protected var up:ScaleBitmap; protected var upContainer:Sprite; protected var hasSelect:Boolean; protected var over:ScaleBitmap; public var isSelected:Boolean; protected var disable:ScaleBitmap; protected var disableLabel:Label; protected var downLabel:Label; public var mousemove:Function; protected var disableContainer:Sprite; protected 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; super(); this.hasSelect = _arg6; upContainer = new Sprite(); overContainer = new Sprite(); downContainer = new Sprite(); disableContainer = new Sprite(); 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; 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){ selectedContainer = new Sprite(); _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.addChild(selected); selectedContainer.addChild(selectedLabel.element); }; 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); } 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)); }; } 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); } protected function onClickHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((click is Function)))){ click(); }; } public function setSelected(_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 get height():Number{ return (up.height); } public function lock():void{ this.enabled = false; this.upState = disableContainer; this.upState.alpha = 0.5; } 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; }; } override public function get width():Number{ return (up.width); } public function unlock():void{ this.enabled = true; if (isSelected){ this.upState = selectedContainer; } else { this.upState = upContainer; }; this.upState.alpha = 1; } 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)); if (hasSelect){ selected.height = _arg1; selectedLabel.element.height = (_arg1 - (scale9Grid.y * 2)); }; } protected function onMoveHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mousemove is Function)))){ mousemove(); }; } protected function onOutHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseout is Function)))){ mouseout(); }; } public function set buttonLabelStyle(_arg1:LabelStyle):void{ upLabel.setStyle(_arg1); downLabel.setStyle(_arg1); overLabel.setStyle(_arg1); disableLabel.setStyle(_arg1); if (hasSelect){ selectedLabel.setStyle(_arg1); }; } public function setUnselected():void{ if (hasSelect){ if (this.enabled){ this.upState = upContainer; } else { this.upState = disableContainer; }; isSelected = false; this.overState = overContainer; }; } protected function onOverHandler(_arg1:MouseEvent):void{ if (((this.enabled) && ((mouseover is Function)))){ mouseover(); }; } } }//package tofu.ui
Section 351
//ArrayTool (tofu.util.ArrayTool) package tofu.util { public class ArrayTool { 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); } public static function indexOfString(_arg1:Array, _arg2:String):int{ var _local3:int; while (_local3 < _arg1.length) { return (_arg1[_local3].indexOf(_arg2)); _local3++; }; return (-1); } } }//package tofu.util
Section 352
//CustomMath (tofu.util.CustomMath) package tofu.util { import flash.geom.*; public class CustomMath { 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 deg2rad(_arg1:Number):Number{ return (((_arg1 * Math.PI) / 180)); } 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); } } }//package tofu.util
Section 353
//FPS (tofu.util.FPS) package tofu.util { import flash.display.*; import flash.events.*; import tofu.ui.*; import flash.utils.*; import flash.system.*; public class FPS extends Sprite { private var mCalcTotal:Number; private var textLabel:Label; private var textLabelStyle:LabelStyle; private var numFrames:int; public var additionalInfo:String; private var mCalc0:Number; private var mCalcs:int; private var lastTick:int; private var startTick:int; public function FPS(){ textLabelStyle = new LabelStyle(); textLabelStyle.setFont("Arial").setSize(10).setColor(0xFFFFFF).setAutoSize(LabelStyle.AUTOSIZE_LEFT); textLabel = new Label("FPS:-- DT:-- MEM:--", textLabelStyle); startTick = getTimer(); lastTick = startTick; numFrames = 0; mCalcTotal = 0; mCalc0 = 0; mCalcs = 0; additionalInfo = ""; addChild(textLabel.element); addEventListener(Event.ENTER_FRAME, onFrame); } public function stopCount():void{ mCalcTotal = (mCalcTotal + (getTimer() - mCalc0)); mCalcs++; } public function startCount():void{ mCalc0 = getTimer(); } 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:Number = 0; if (mCalcs > 0){ _local4 = (mCalcTotal / mCalcs); }; var _local5:String = _local3.toString().substr(0, (_local3.toString().indexOf(".") + 2)); var _local6:String = _local4.toString().substr(0, 3); if ((_local2 / 1000) > 0.1){ _local7 = ((((((("FPS:" + _local5) + " DT:") + _local6) + " MEM:") + Math.ceil(((System.totalMemory / 0x0400) / 0x0400))) + "MB") + additionalInfo); textLabel.update(_local7); numFrames = 0; startTick = getTimer(); }; } } }//package tofu.util
Section 354
//StringTool (tofu.util.StringTool) package tofu.util { public class StringTool { public static function embed(_arg1:String, _arg2:Array):String{ var _local3:int; var _local4:RegExp; if (_arg2.length > 0){ _local3 = 0; while (_local3 < _arg2.length) { _local4 = new RegExp(("%" + _local3), "ig"); _arg1 = _arg1.replace(_local4, _arg2[_local3]); _local3++; }; }; return (_arg1); } } }//package tofu.util
Section 355
//Main (Main) package { import flash.display.*; import engine.managers.*; import tofu.ui.*; import game.entities.*; import game.managers.*; import game.*; import flash.filters.*; import game.levels.grind.*; import game.screens.*; import tofu.util.*; import nl.demonsters.debugger.*; public class Main { private var SfxZAttack03:Class; private var WeaponChipUnmod:Class; private var SfxPlasma:Class; private var ProjectileSlows:Class; private var EnemyDeadSkinny01:Class; private var EnemyDeadSkinny02:Class; private var EnemyDeadSkinny03:Class; private var EnemyDeadSkinny04:Class; private var EnemyDeadSkinny05:Class; private var CommonFrame:Class; private var CustomButton:Class; private var BarForegroundRight:Class; private var SfxBarffBasic:Class; private var SponsorSmall:Class; private var SfxPulse:Class; private var Award:Class; private var AvatarPoisoned:Class; private var EnemyDeadMedium01:Class; private var EnemyDeadMedium02:Class; private var EnemyDeadMedium04:Class; private var Floors01:Class; private var Floors02:Class; private var Floors03:Class; private var EnemyDeadMedium03:Class; private var EnemyDeadFat01:Class; private var PoisonParticle01:Class; private var PoisonParticle03:Class; private var PoisonParticle04:Class; private var EnemyFat02:Class; private var EnemyFat03:Class; private var Map01:Class; private var EnemyDeadFat02:Class; private var PoisonParticle02:Class; private var EnemyDeadFat04:Class; private var EnemyFat01:Class; private var Floors04:Class; private var Floors05:Class; private var EnemyFat04:Class; private var MuzzlePhoton:Class; private var EnemyDeadMedium05:Class; private var EnemyDeadBulky04:Class; private var EnemyDeadBulky05:Class; private var EnemyDeadFat05:Class; private var Door05:Class; private var EnemyDeadBulky01:Class; private var EnemyFat05:Class; private var Door01:Class; private var EnemyDeadFat03:Class; private var Door03:Class; private var Door04:Class; private var EnemyDeadBulky02:Class; private var EnemyDeadBulky03:Class; private var ProjectilePoison:Class; private var Door02:Class; private var MothLogo:Class; private var BloodParticle02:Class; private var BloodParticle03:Class; private var BloodParticle04:Class; private var BloodParticle01:Class; private var WitutekLogo:Class; private var OtherChips:Class; private var WeaponModChip:Class; private var AvatarUpper:Class; private var ProjectilePlasma:Class; private var Pickup:Class; private var BarForegroundLeft:Class; private var Traps:Class; private var SfxExplode:Class; private var SfxPress:Class; private var BgmUserScreen:Class; private var ProjectileMelee:Class; private var EnemyDeadLimp01:Class; private var EnemyDeadLimp02:Class; private var EnemyDeadLimp03:Class; private var EnemyDeadLimp04:Class; private var EnemyDeadLimp05:Class; private var MapLevelButton:Class; private var ProjectileTachyon:Class; private var WitutekLogoBig:Class; private var ProjectilePulse:Class; private var SfxShaft:Class; private var BarBackgroundRight:Class; private var CommonButton:Class; private var SfxTachyon:Class; private var MuzzlePlasma:Class; private var BarBackgroundLeft:Class; private var ProjectileNeutron:Class; private var AvatarSlowed:Class; private var WeaponChipMod:Class; private var SfxPhoton:Class; private var Lock:Class; private var Background:Class; private var SfxNeutron:Class; private var EnemyBulky01:Class; private var EnemyBulky02:Class; private var EnemyBulky03:Class; private var Foreground:Class; private var EnemyBulky05:Class; private var MiniMap:Class; private var EnemyLimp01:Class; private var EnemyLimp02:Class; private var EnemyLimp03:Class; private var EnemyLimp04:Class; private var EnemyLimp05:Class; private var EnemyBulky04:Class; private var Cursor:Class; private var WeaponModType:Class; private var MuzzleTachyon:Class; private var Walls01:Class; private var Walls02:Class; private var Walls04:Class; private var Walls05:Class; private var EnemySkinny01:Class; private var EnemySkinny02:Class; private var EnemySkinny03:Class; private var EnemySkinny04:Class; private var EnemySkinny05:Class; private var MuzzlePulse:Class; private var SponsorIntro:Class; private var Walls03:Class; private var Font1:Class; private var Font2:Class; private var Font3:Class; private var ProjectileBasic:Class; private var Font5:Class; private var Font4:Class; private var MuzzleNeutron:Class; private var EnemyMedium01:Class; private var EnemyMedium02:Class; private var EnemyMedium03:Class; private var EnemyMedium04:Class; private var EnemyMedium05:Class; private var BgmMission:Class; private var SfxHover:Class; private var ProjectilePhoton:Class; private var ExplosionA:Class; private var SfxZAttack01:Class; private var SfxZAttack02:Class; private static var _root:Sprite; public static var fps:FPS; private static var _stage:Stage; public function Main(_arg1:MovieClip){ WitutekLogo = Main_WitutekLogo; WitutekLogoBig = Main_WitutekLogoBig; CommonButton = Main_CommonButton; CommonFrame = Main_CommonFrame; CustomButton = Main_CustomButton; MapLevelButton = Main_MapLevelButton; Map01 = Main_Map01; Award = Main_Award; Lock = Main_Lock; Cursor = Main_Cursor; MothLogo = Main_MothLogo; WeaponChipMod = Main_WeaponChipMod; WeaponChipUnmod = Main_WeaponChipUnmod; WeaponModType = Main_WeaponModType; WeaponModChip = Main_WeaponModChip; OtherChips = Main_OtherChips; Traps = Main_Traps; MiniMap = Main_MiniMap; BarBackgroundLeft = Main_BarBackgroundLeft; BarBackgroundRight = Main_BarBackgroundRight; BarForegroundLeft = Main_BarForegroundLeft; BarForegroundRight = Main_BarForegroundRight; Background = Main_Background; Foreground = Main_Foreground; ProjectilePulse = Main_ProjectilePulse; ProjectilePhoton = Main_ProjectilePhoton; ProjectileNeutron = Main_ProjectileNeutron; ProjectilePlasma = Main_ProjectilePlasma; ProjectileTachyon = Main_ProjectileTachyon; ProjectileMelee = Main_ProjectileMelee; ProjectilePoison = Main_ProjectilePoison; ProjectileSlows = Main_ProjectileSlows; ProjectileBasic = Main_ProjectileBasic; MuzzlePulse = Main_MuzzlePulse; MuzzlePhoton = Main_MuzzlePhoton; MuzzleNeutron = Main_MuzzleNeutron; MuzzlePlasma = Main_MuzzlePlasma; MuzzleTachyon = Main_MuzzleTachyon; ExplosionA = Main_ExplosionA; BloodParticle01 = Main_BloodParticle01; BloodParticle02 = Main_BloodParticle02; BloodParticle03 = Main_BloodParticle03; BloodParticle04 = Main_BloodParticle04; PoisonParticle01 = Main_PoisonParticle01; PoisonParticle02 = Main_PoisonParticle02; PoisonParticle03 = Main_PoisonParticle03; PoisonParticle04 = Main_PoisonParticle04; AvatarUpper = Main_AvatarUpper; AvatarPoisoned = Main_AvatarPoisoned; AvatarSlowed = Main_AvatarSlowed; EnemyLimp01 = Main_EnemyLimp01; EnemyLimp02 = Main_EnemyLimp02; EnemyLimp03 = Main_EnemyLimp03; EnemyLimp04 = Main_EnemyLimp04; EnemyLimp05 = Main_EnemyLimp05; EnemySkinny01 = Main_EnemySkinny01; EnemySkinny02 = Main_EnemySkinny02; EnemySkinny03 = Main_EnemySkinny03; EnemySkinny04 = Main_EnemySkinny04; EnemySkinny05 = Main_EnemySkinny05; EnemyMedium01 = Main_EnemyMedium01; EnemyMedium02 = Main_EnemyMedium02; EnemyMedium03 = Main_EnemyMedium03; EnemyMedium04 = Main_EnemyMedium04; EnemyMedium05 = Main_EnemyMedium05; EnemyFat01 = Main_EnemyFat01; EnemyFat02 = Main_EnemyFat02; EnemyFat03 = Main_EnemyFat03; EnemyFat04 = Main_EnemyFat04; EnemyFat05 = Main_EnemyFat05; EnemyBulky01 = Main_EnemyBulky01; EnemyBulky02 = Main_EnemyBulky02; EnemyBulky03 = Main_EnemyBulky03; EnemyBulky04 = Main_EnemyBulky04; EnemyBulky05 = Main_EnemyBulky05; EnemyDeadLimp01 = Main_EnemyDeadLimp01; EnemyDeadLimp02 = Main_EnemyDeadLimp02; EnemyDeadLimp03 = Main_EnemyDeadLimp03; EnemyDeadLimp04 = Main_EnemyDeadLimp04; EnemyDeadLimp05 = Main_EnemyDeadLimp05; EnemyDeadSkinny01 = Main_EnemyDeadSkinny01; EnemyDeadSkinny02 = Main_EnemyDeadSkinny02; EnemyDeadSkinny03 = Main_EnemyDeadSkinny03; EnemyDeadSkinny04 = Main_EnemyDeadSkinny04; EnemyDeadSkinny05 = Main_EnemyDeadSkinny05; EnemyDeadMedium01 = Main_EnemyDeadMedium01; EnemyDeadMedium02 = Main_EnemyDeadMedium02; EnemyDeadMedium03 = Main_EnemyDeadMedium03; EnemyDeadMedium04 = Main_EnemyDeadMedium04; EnemyDeadMedium05 = Main_EnemyDeadMedium05; EnemyDeadFat01 = Main_EnemyDeadFat01; EnemyDeadFat02 = Main_EnemyDeadFat02; EnemyDeadFat03 = Main_EnemyDeadFat03; EnemyDeadFat04 = Main_EnemyDeadFat04; EnemyDeadFat05 = Main_EnemyDeadFat05; EnemyDeadBulky01 = Main_EnemyDeadBulky01; EnemyDeadBulky02 = Main_EnemyDeadBulky02; EnemyDeadBulky03 = Main_EnemyDeadBulky03; EnemyDeadBulky04 = Main_EnemyDeadBulky04; EnemyDeadBulky05 = Main_EnemyDeadBulky05; Pickup = Main_Pickup; Floors01 = Main_Floors01; Walls01 = Main_Walls01; Door01 = Main_Door01; Floors02 = Main_Floors02; Walls02 = Main_Walls02; Door02 = Main_Door02; Floors03 = Main_Floors03; Walls03 = Main_Walls03; Door03 = Main_Door03; Floors04 = Main_Floors04; Walls04 = Main_Walls04; Door04 = Main_Door04; Floors05 = Main_Floors05; Walls05 = Main_Walls05; Door05 = Main_Door05; Font1 = Main_Font1; Font2 = Main_Font2; Font3 = Main_Font3; Font4 = Main_Font4; Font5 = Main_Font5; BgmMission = Main_BgmMission; BgmUserScreen = Main_BgmUserScreen; SfxBarffBasic = Main_SfxBarffBasic; SfxNeutron = Main_SfxNeutron; SfxPulse = Main_SfxPulse; SfxPlasma = Main_SfxPlasma; SfxPhoton = Main_SfxPhoton; SfxTachyon = Main_SfxTachyon; SfxShaft = Main_SfxShaft; SfxExplode = Main_SfxExplode; SfxZAttack01 = Main_SfxZAttack01; SfxZAttack02 = Main_SfxZAttack02; SfxZAttack03 = Main_SfxZAttack03; SfxHover = Main_SfxHover; SfxPress = Main_SfxPress; SponsorSmall = Main_SponsorSmall; SponsorIntro = Main_SponsorIntro; super(); Main._root = new Sprite(); Main._stage = _arg1.stage; _arg1.addChild(_root); var _local2:MonsterDebugger = new MonsterDebugger(this); prepare(); setup(); init(); } private function setup():void{ InputManager.instance.setup(Main.stage); ScreenManager.instance.setup(Main.root, Main.stage); SharedObjectManager.instance.setup(Config.LSO_SLOTSDATA); SharedObjectManager.instance.setup(Config.LSO_ID_SLOT1); SharedObjectManager.instance.setup(Config.LSO_ID_SLOT2); SharedObjectManager.instance.setup(Config.LSO_ID_SLOT3); LevelManager.instance.addLevel(Config.LEVEL_1A, new Level1A()); LevelManager.instance.addLevel(Config.LEVEL_1B, new Level1B()); LevelManager.instance.addLevel(Config.LEVEL_1C, new Level1C()); LevelManager.instance.addLevel(Config.LEVEL_1D, new Level1D()); LevelManager.instance.addLevel(Config.LEVEL_1E, new Level1E()); LevelManager.instance.addLevel(Config.LEVEL_1F, new Level1F()); LevelManager.instance.addLevel(Config.LEVEL_2A, new Level2A()); LevelManager.instance.addLevel(Config.LEVEL_2B, new Level2B()); LevelManager.instance.addLevel(Config.LEVEL_2C, new Level2C()); LevelManager.instance.addLevel(Config.LEVEL_2D, new Level2D()); LevelManager.instance.addLevel(Config.LEVEL_2E, new Level2E()); LevelManager.instance.addLevel(Config.LEVEL_2F, new Level2F()); LevelManager.instance.addLevel(Config.LEVEL_3A, new Level3A()); LevelManager.instance.addLevel(Config.LEVEL_3B, new Level3B()); LevelManager.instance.addLevel(Config.LEVEL_3C, new Level3C()); LevelManager.instance.addLevel(Config.LEVEL_3D, new Level3D()); LevelManager.instance.addLevel(Config.LEVEL_3E, new Level3E()); LevelManager.instance.addLevel(Config.LEVEL_3F, new Level3F()); LevelManager.instance.addLevel(Config.LEVEL_4A, new Level4A()); LevelManager.instance.addLevel(Config.LEVEL_4B, new Level4B()); LevelManager.instance.addLevel(Config.LEVEL_4C, new Level4C()); LevelManager.instance.addLevel(Config.LEVEL_4D, new Level4D()); LevelManager.instance.addLevel(Config.LEVEL_4E, new Level4E()); LevelManager.instance.addLevel(Config.LEVEL_4F, new Level4F()); LevelManager.instance.addLevel(Config.LEVEL_5A, new Level5A()); LevelManager.instance.addLevel(Config.LEVEL_5B, new Level5B()); LevelManager.instance.addLevel(Config.LEVEL_5C, new Level5C()); LevelManager.instance.addLevel(Config.LEVEL_5D, new Level5D()); LevelManager.instance.addLevel(Config.LEVEL_5E, new Level5E()); LevelManager.instance.addLevel(Config.LEVEL_5F, new Level5F()); AwardList.instance.add(Config.AWARD5); AwardList.instance.add(Config.AWARD10); AwardList.instance.add(Config.AWARD20); AwardList.instance.add(Config.AWARD30); AwardList.instance.add(Config.AWARD31); AwardList.instance.add(Config.AWARD71); AwardList.instance.add(Config.AWARD72); AwardList.instance.add(Config.AWARD73); AwardList.instance.add(Config.AWARD74); AwardList.instance.add(Config.AWARD75); AwardList.instance.add(Config.AWARD100); AwardList.instance.add(Config.AWARD110); AwardList.instance.add(Config.AWARD120); AwardList.instance.add(Config.AWARD130); AwardList.instance.add(Config.AWARD140); AwardList.instance.add(Config.AWARD150); AwardList.instance.add(Config.AWARD151); AwardList.instance.add(Config.AWARD152); AwardList.instance.add(Config.AWARD153); AwardList.instance.add(Config.AWARD154); AwardList.instance.add(Config.AWARD40); AwardList.instance.add(Config.AWARD50); AwardList.instance.add(Config.AWARD60); AwardList.instance.add(Config.AWARD61); AwardList.instance.add(Config.AWARD62); ScreenManager.instance.addScreen(Config.SCREEN_TITLE, new TitleScreen()); ScreenManager.instance.addScreen(Config.SCREEN_PLAY, new PlayScreen()); ScreenManager.instance.addScreen(Config.SCREEN_USER, new UserScreen()); ScreenManager.instance.addScreen(Config.SCREEN_SELECTPROFILE, new SelectProfile()); ScreenManager.instance.addScreen(Config.SCREEN_KILLED, new KilledScreen()); ScreenManager.instance.addScreen(Config.SCREEN_CLEARED, new LevelSummary()); ScreenManager.instance.addScreen(Config.SCREEN_CREDITS, new CreditsScreen()); ScreenManager.instance.addScreen(Config.SCREEN_HELP, new HelpScreen()); ScreenManager.instance.addScreen(Config.SCREEN_INTRO, new IntroScreen()); ScreenManager.instance.addScreen(Config.SCREEN_VICTORY, new WinScreen()); ScreenManager.instance.addScreen(Config.SCREEN_BUMPER, new BumperScreen()); ScreenManager.instance.addDialog(Config.DIALOG_PAUSE, new PauseDialog()); ScreenManager.instance.addDialog(Config.DIALOG_EQUIP, new EquipDialog()); ScreenManager.instance.addDialog(Config.DIALOG_TUTORIAL, new TutorialDialog()); ScreenManager.instance.addTransition(Config.TRANS_USER2PLAY, new UserToPlayTransition()); root.contextMenu = ContextMenuManager.instance.contextmenu; } private function showFPS():void{ var _local1:FPS = new FPS(); var _local2:LabelStyle = new LabelStyle(); _local2.setFont(AssetManager.instance.getFontAsset(Config.ASSET_FONT3).fontName).setSize(8).setColor(0xFFFFFF).setEmbed(true).setAutoSize(LabelStyle.AUTOSIZE_LEFT).setFilter([new GlowFilter(0, 1, 4, 4, 6, 1)]); _local1.setStyle(_local2); Main.fps = _local1; Main.stage.addChild(_local1); } private function prepare():void{ AssetManager.instance.registerClass(Config.ASSET_WITUTEKLOGO, WitutekLogo); AssetManager.instance.registerClass(Config.ASSET_WITUTEKLOGOBIG, WitutekLogoBig); AssetManager.instance.registerClass(Config.ASSET_COMMONBUTTON, CommonButton); AssetManager.instance.registerClass(Config.ASSET_COMMONFRAME, CommonFrame); AssetManager.instance.registerClass(Config.ASSET_CUSTOMBUTTONS, CustomButton); AssetManager.instance.registerClass(Config.ASSET_LEVELBUTTONS, MapLevelButton); AssetManager.instance.registerClass(Config.ASSET_BACKGROUND, Background); AssetManager.instance.registerClass(Config.ASSET_FOREGROUND, Foreground); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_PULSE, ProjectilePulse); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_PHOTON, ProjectilePhoton); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_NEUTRON, ProjectileNeutron); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_PLASMA, ProjectilePlasma); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_TACHYON, ProjectileTachyon); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_MELEE, ProjectileMelee); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_POISON, ProjectilePoison); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_SLOWS, ProjectileSlows); AssetManager.instance.registerClass(Config.ASSET_PROJECTILE_BASIC, ProjectileBasic); AssetManager.instance.registerClass(Config.ASSET_MUZZLE_PULSE, MuzzlePulse); AssetManager.instance.registerClass(Config.ASSET_MUZZLE_PHOTON, MuzzlePhoton); AssetManager.instance.registerClass(Config.ASSET_MUZZLE_NEUTRON, MuzzleNeutron); AssetManager.instance.registerClass(Config.ASSET_MUZZLE_PLASMA, MuzzlePlasma); AssetManager.instance.registerClass(Config.ASSET_MUZZLE_TACHYON, MuzzleTachyon); AssetManager.instance.registerClass(Config.ASSET_EXPLOSION_A, ExplosionA); AssetManager.instance.registerClass(Config.ASSET_BLOODPARTICLE01, BloodParticle01); AssetManager.instance.registerClass(Config.ASSET_BLOODPARTICLE02, BloodParticle02); AssetManager.instance.registerClass(Config.ASSET_BLOODPARTICLE03, BloodParticle03); AssetManager.instance.registerClass(Config.ASSET_BLOODPARTICLE04, BloodParticle04); AssetManager.instance.registerClass(Config.ASSET_POISONPARTICLE01, PoisonParticle01); AssetManager.instance.registerClass(Config.ASSET_POISONPARTICLE02, PoisonParticle02); AssetManager.instance.registerClass(Config.ASSET_POISONPARTICLE03, PoisonParticle03); AssetManager.instance.registerClass(Config.ASSET_POISONPARTICLE04, PoisonParticle04); AssetManager.instance.registerClass(Config.ASSET_AVATARUPPER, AvatarUpper); AssetManager.instance.registerClass(Config.ASSET_AVATARPOISONED, AvatarPoisoned); AssetManager.instance.registerClass(Config.ASSET_AVATARSLOWED, AvatarSlowed); AssetManager.instance.registerClass(Config.ASSET_MOTHLOGO, MothLogo); AssetManager.instance.registerClass(Config.ASSET_PICKUP, Pickup); AssetManager.instance.registerClass(Config.ASSET_MAP01, Map01); AssetManager.instance.registerClass(Config.ASSET_DOOR01, Door01); AssetManager.instance.registerClass(Config.ASSET_FLOORS01, Floors01); AssetManager.instance.registerClass(Config.ASSET_WALLS01, Walls01); AssetManager.instance.registerClass(Config.ASSET_DOOR02, Door02); AssetManager.instance.registerClass(Config.ASSET_FLOORS02, Floors02); AssetManager.instance.registerClass(Config.ASSET_WALLS01, Walls02); AssetManager.instance.registerClass(Config.ASSET_DOOR03, Door03); AssetManager.instance.registerClass(Config.ASSET_FLOORS03, Floors03); AssetManager.instance.registerClass(Config.ASSET_WALLS03, Walls03); AssetManager.instance.registerClass(Config.ASSET_DOOR04, Door04); AssetManager.instance.registerClass(Config.ASSET_FLOORS04, Floors04); AssetManager.instance.registerClass(Config.ASSET_WALLS04, Walls04); AssetManager.instance.registerClass(Config.ASSET_DOOR05, Door05); AssetManager.instance.registerClass(Config.ASSET_FLOORS05, Floors05); AssetManager.instance.registerClass(Config.ASSET_WALLS05, Walls05); AssetManager.instance.registerClass(Config.ASSET_MINIMAP, MiniMap); AssetManager.instance.registerClass(Config.ASSET_HUDBACKLEFT, BarBackgroundLeft); AssetManager.instance.registerClass(Config.ASSET_HUDBACKRIGHT, BarBackgroundRight); AssetManager.instance.registerClass(Config.ASSET_HUDFRONTLEFT, BarForegroundLeft); AssetManager.instance.registerClass(Config.ASSET_HUDFRONTRIGHT, BarForegroundRight); AssetManager.instance.registerClass(Config.ASSET_CURSOR, Cursor); AssetManager.instance.registerClass(Config.ASSET_AWARD, Award); AssetManager.instance.registerClass(Config.ASSET_LOCK, Lock); AssetManager.instance.registerClass(Config.ASSET_ENEMYLIMP01, EnemyLimp01); AssetManager.instance.registerClass(Config.ASSET_ENEMYLIMP02, EnemyLimp02); AssetManager.instance.registerClass(Config.ASSET_ENEMYLIMP03, EnemyLimp03); AssetManager.instance.registerClass(Config.ASSET_ENEMYLIMP04, EnemyLimp04); AssetManager.instance.registerClass(Config.ASSET_ENEMYLIMP05, EnemyLimp05); AssetManager.instance.registerClass(Config.ASSET_ENEMYSKINNY01, EnemySkinny01); AssetManager.instance.registerClass(Config.ASSET_ENEMYSKINNY02, EnemySkinny02); AssetManager.instance.registerClass(Config.ASSET_ENEMYSKINNY03, EnemySkinny03); AssetManager.instance.registerClass(Config.ASSET_ENEMYSKINNY04, EnemySkinny04); AssetManager.instance.registerClass(Config.ASSET_ENEMYSKINNY05, EnemySkinny05); AssetManager.instance.registerClass(Config.ASSET_ENEMYMEDIUM01, EnemyMedium01); AssetManager.instance.registerClass(Config.ASSET_ENEMYMEDIUM02, EnemyMedium02); AssetManager.instance.registerClass(Config.ASSET_ENEMYMEDIUM03, EnemyMedium03); AssetManager.instance.registerClass(Config.ASSET_ENEMYMEDIUM04, EnemyMedium04); AssetManager.instance.registerClass(Config.ASSET_ENEMYMEDIUM05, EnemyMedium05); AssetManager.instance.registerClass(Config.ASSET_ENEMYFAT01, EnemyFat01); AssetManager.instance.registerClass(Config.ASSET_ENEMYFAT02, EnemyFat02); AssetManager.instance.registerClass(Config.ASSET_ENEMYFAT03, EnemyFat03); AssetManager.instance.registerClass(Config.ASSET_ENEMYFAT04, EnemyFat04); AssetManager.instance.registerClass(Config.ASSET_ENEMYFAT05, EnemyFat05); AssetManager.instance.registerClass(Config.ASSET_ENEMYBULKY01, EnemyBulky01); AssetManager.instance.registerClass(Config.ASSET_ENEMYBULKY02, EnemyBulky02); AssetManager.instance.registerClass(Config.ASSET_ENEMYBULKY03, EnemyBulky03); AssetManager.instance.registerClass(Config.ASSET_ENEMYBULKY04, EnemyBulky04); AssetManager.instance.registerClass(Config.ASSET_ENEMYBULKY05, EnemyBulky05); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYLIMP01, EnemyDeadLimp01); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYLIMP02, EnemyDeadLimp02); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYLIMP03, EnemyDeadLimp03); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYLIMP04, EnemyDeadLimp04); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYLIMP05, EnemyDeadLimp05); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYSKINNY01, EnemyDeadSkinny01); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYSKINNY02, EnemyDeadSkinny02); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYSKINNY03, EnemyDeadSkinny03); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYSKINNY04, EnemyDeadSkinny04); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYSKINNY05, EnemyDeadSkinny05); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYMEDIUM01, EnemyDeadMedium01); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYMEDIUM02, EnemyDeadMedium02); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYMEDIUM03, EnemyDeadMedium03); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYMEDIUM04, EnemyDeadMedium04); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYMEDIUM05, EnemyDeadMedium05); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYFAT01, EnemyDeadFat01); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYFAT02, EnemyDeadFat02); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYFAT03, EnemyDeadFat03); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYFAT04, EnemyDeadFat04); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYFAT05, EnemyDeadFat05); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYBULKY01, EnemyDeadBulky01); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYBULKY02, EnemyDeadBulky02); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYBULKY03, EnemyDeadBulky03); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYBULKY04, EnemyDeadBulky04); AssetManager.instance.registerClass(Config.ASSET_DEADENEMYBULKY05, EnemyDeadBulky05); AssetManager.instance.registerClass(Config.ASSET_WEAPONCHIPMOD, WeaponChipMod); AssetManager.instance.registerClass(Config.ASSET_WEAPONCHIPUNMOD, WeaponChipUnmod); AssetManager.instance.registerClass(Config.ASSET_WEAPONMODTYPE, WeaponModType); AssetManager.instance.registerClass(Config.ASSET_WEAPONMODCHIP, WeaponModChip); AssetManager.instance.registerClass(Config.ASSET_OTHERCHIPS, OtherChips); AssetManager.instance.registerClass(Config.ASSET_TRAP, Traps); AssetManager.instance.setBitmapAsset(Config.ASSET_SPONSOR_SMALL, new SponsorSmall()); AssetManager.instance.setSWFAssets(Config.ASSET_SPONSOR_INTRO, new SponsorIntro()); AssetManager.instance.setFontAssets(Config.ASSET_FONT1, new Font1()); AssetManager.instance.setFontAssets(Config.ASSET_FONT2, new Font2()); AssetManager.instance.setFontAssets(Config.ASSET_FONT3, new Font3()); AssetManager.instance.setFontAssets(Config.ASSET_FONT4, new Font4()); AssetManager.instance.setFontAssets(Config.ASSET_FONT5, new Font5()); AssetManager.instance.setSoundAssets(Config.ASSET_BGMMISSION, new BgmMission()); AssetManager.instance.setSoundAssets(Config.ASSET_BGMUSER, new BgmUserScreen()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXBARFFBASIC, new SfxBarffBasic()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXSHAFT, new SfxShaft()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXNEUTRON, new SfxNeutron()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXPHOTON, new SfxPhoton()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXPLASMA, new SfxPlasma()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXPULSE, new SfxPulse()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXTACHYON, new SfxTachyon()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXEXPLODE, new SfxExplode()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXHOVER, new SfxHover()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXPRESS, new SfxPress()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXZATTACK01, new SfxZAttack01()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXZATTACK02, new SfxZAttack02()); AssetManager.instance.setSoundAssets(Config.ASSET_SFXZATTACK03, new SfxZAttack03()); } private function init():void{ SharedObjectManager.instance.apply(Config.LSO_SLOTSDATA); var _local1:Object = SharedObjectManager.instance.current.data; if (_local1[Config.LSO_ID_SLOT1] == null){ _local1[Config.LSO_ID_SLOT1] = {name:Config.TEXT_SELECTPROFILE_EMPTYNAME, start:Config.TEXT_SELECTPROFILE_EMPTYTIME, end:Config.TEXT_SELECTPROFILE_EMPTYTIME}; }; if (_local1[Config.LSO_ID_SLOT2] == null){ _local1[Config.LSO_ID_SLOT2] = {name:Config.TEXT_SELECTPROFILE_EMPTYNAME, start:Config.TEXT_SELECTPROFILE_EMPTYTIME, end:Config.TEXT_SELECTPROFILE_EMPTYTIME}; }; if (_local1[Config.LSO_ID_SLOT3] == null){ _local1[Config.LSO_ID_SLOT3] = {name:Config.TEXT_SELECTPROFILE_EMPTYNAME, start:Config.TEXT_SELECTPROFILE_EMPTYTIME, end:Config.TEXT_SELECTPROFILE_EMPTYTIME}; }; SharedObjectManager.instance.update(); ScreenManager.instance.showScreen(Config.SCREEN_BUMPER); } public static function get stage():Stage{ return (_stage); } public static function get root():Sprite{ return (_root); } } }//package
Section 356
//Main_Award (Main_Award) package { import mx.core.*; public class Main_Award extends BitmapAsset { } }//package
Section 357
//Main_AvatarPoisoned (Main_AvatarPoisoned) package { import mx.core.*; public class Main_AvatarPoisoned extends BitmapAsset { } }//package
Section 358
//Main_AvatarSlowed (Main_AvatarSlowed) package { import mx.core.*; public class Main_AvatarSlowed extends BitmapAsset { } }//package
Section 359
//Main_AvatarUpper (Main_AvatarUpper) package { import mx.core.*; public class Main_AvatarUpper extends BitmapAsset { } }//package
Section 360
//Main_Background (Main_Background) package { import mx.core.*; public class Main_Background extends BitmapAsset { } }//package
Section 361
//Main_BarBackgroundLeft (Main_BarBackgroundLeft) package { import mx.core.*; public class Main_BarBackgroundLeft extends BitmapAsset { } }//package
Section 362
//Main_BarBackgroundRight (Main_BarBackgroundRight) package { import mx.core.*; public class Main_BarBackgroundRight extends BitmapAsset { } }//package
Section 363
//Main_BarForegroundLeft (Main_BarForegroundLeft) package { import mx.core.*; public class Main_BarForegroundLeft extends BitmapAsset { } }//package
Section 364
//Main_BarForegroundRight (Main_BarForegroundRight) package { import mx.core.*; public class Main_BarForegroundRight extends BitmapAsset { } }//package
Section 365
//Main_BgmMission (Main_BgmMission) package { import mx.core.*; public class Main_BgmMission extends SoundAsset { } }//package
Section 366
//Main_BgmUserScreen (Main_BgmUserScreen) package { import mx.core.*; public class Main_BgmUserScreen extends SoundAsset { } }//package
Section 367
//Main_BloodParticle01 (Main_BloodParticle01) package { import mx.core.*; public class Main_BloodParticle01 extends BitmapAsset { } }//package
Section 368
//Main_BloodParticle02 (Main_BloodParticle02) package { import mx.core.*; public class Main_BloodParticle02 extends BitmapAsset { } }//package
Section 369
//Main_BloodParticle03 (Main_BloodParticle03) package { import mx.core.*; public class Main_BloodParticle03 extends BitmapAsset { } }//package
Section 370
//Main_BloodParticle04 (Main_BloodParticle04) package { import mx.core.*; public class Main_BloodParticle04 extends BitmapAsset { } }//package
Section 371
//Main_CommonButton (Main_CommonButton) package { import mx.core.*; public class Main_CommonButton extends BitmapAsset { } }//package
Section 372
//Main_CommonFrame (Main_CommonFrame) package { import mx.core.*; public class Main_CommonFrame extends BitmapAsset { } }//package
Section 373
//Main_Cursor (Main_Cursor) package { import mx.core.*; public class Main_Cursor extends BitmapAsset { } }//package
Section 374
//Main_CustomButton (Main_CustomButton) package { import mx.core.*; public class Main_CustomButton extends BitmapAsset { } }//package
Section 375
//Main_Door01 (Main_Door01) package { import mx.core.*; public class Main_Door01 extends BitmapAsset { } }//package
Section 376
//Main_Door02 (Main_Door02) package { import mx.core.*; public class Main_Door02 extends BitmapAsset { } }//package
Section 377
//Main_Door03 (Main_Door03) package { import mx.core.*; public class Main_Door03 extends BitmapAsset { } }//package
Section 378
//Main_Door04 (Main_Door04) package { import mx.core.*; public class Main_Door04 extends BitmapAsset { } }//package
Section 379
//Main_Door05 (Main_Door05) package { import mx.core.*; public class Main_Door05 extends BitmapAsset { } }//package
Section 380
//Main_EnemyBulky01 (Main_EnemyBulky01) package { import mx.core.*; public class Main_EnemyBulky01 extends BitmapAsset { } }//package
Section 381
//Main_EnemyBulky02 (Main_EnemyBulky02) package { import mx.core.*; public class Main_EnemyBulky02 extends BitmapAsset { } }//package
Section 382
//Main_EnemyBulky03 (Main_EnemyBulky03) package { import mx.core.*; public class Main_EnemyBulky03 extends BitmapAsset { } }//package
Section 383
//Main_EnemyBulky04 (Main_EnemyBulky04) package { import mx.core.*; public class Main_EnemyBulky04 extends BitmapAsset { } }//package
Section 384
//Main_EnemyBulky05 (Main_EnemyBulky05) package { import mx.core.*; public class Main_EnemyBulky05 extends BitmapAsset { } }//package
Section 385
//Main_EnemyDeadBulky01 (Main_EnemyDeadBulky01) package { import mx.core.*; public class Main_EnemyDeadBulky01 extends BitmapAsset { } }//package
Section 386
//Main_EnemyDeadBulky02 (Main_EnemyDeadBulky02) package { import mx.core.*; public class Main_EnemyDeadBulky02 extends BitmapAsset { } }//package
Section 387
//Main_EnemyDeadBulky03 (Main_EnemyDeadBulky03) package { import mx.core.*; public class Main_EnemyDeadBulky03 extends BitmapAsset { } }//package
Section 388
//Main_EnemyDeadBulky04 (Main_EnemyDeadBulky04) package { import mx.core.*; public class Main_EnemyDeadBulky04 extends BitmapAsset { } }//package
Section 389
//Main_EnemyDeadBulky05 (Main_EnemyDeadBulky05) package { import mx.core.*; public class Main_EnemyDeadBulky05 extends BitmapAsset { } }//package
Section 390
//Main_EnemyDeadFat01 (Main_EnemyDeadFat01) package { import mx.core.*; public class Main_EnemyDeadFat01 extends BitmapAsset { } }//package
Section 391
//Main_EnemyDeadFat02 (Main_EnemyDeadFat02) package { import mx.core.*; public class Main_EnemyDeadFat02 extends BitmapAsset { } }//package
Section 392
//Main_EnemyDeadFat03 (Main_EnemyDeadFat03) package { import mx.core.*; public class Main_EnemyDeadFat03 extends BitmapAsset { } }//package
Section 393
//Main_EnemyDeadFat04 (Main_EnemyDeadFat04) package { import mx.core.*; public class Main_EnemyDeadFat04 extends BitmapAsset { } }//package
Section 394
//Main_EnemyDeadFat05 (Main_EnemyDeadFat05) package { import mx.core.*; public class Main_EnemyDeadFat05 extends BitmapAsset { } }//package
Section 395
//Main_EnemyDeadLimp01 (Main_EnemyDeadLimp01) package { import mx.core.*; public class Main_EnemyDeadLimp01 extends BitmapAsset { } }//package
Section 396
//Main_EnemyDeadLimp02 (Main_EnemyDeadLimp02) package { import mx.core.*; public class Main_EnemyDeadLimp02 extends BitmapAsset { } }//package
Section 397
//Main_EnemyDeadLimp03 (Main_EnemyDeadLimp03) package { import mx.core.*; public class Main_EnemyDeadLimp03 extends BitmapAsset { } }//package
Section 398
//Main_EnemyDeadLimp04 (Main_EnemyDeadLimp04) package { import mx.core.*; public class Main_EnemyDeadLimp04 extends BitmapAsset { } }//package
Section 399
//Main_EnemyDeadLimp05 (Main_EnemyDeadLimp05) package { import mx.core.*; public class Main_EnemyDeadLimp05 extends BitmapAsset { } }//package
Section 400
//Main_EnemyDeadMedium01 (Main_EnemyDeadMedium01) package { import mx.core.*; public class Main_EnemyDeadMedium01 extends BitmapAsset { } }//package
Section 401
//Main_EnemyDeadMedium02 (Main_EnemyDeadMedium02) package { import mx.core.*; public class Main_EnemyDeadMedium02 extends BitmapAsset { } }//package
Section 402
//Main_EnemyDeadMedium03 (Main_EnemyDeadMedium03) package { import mx.core.*; public class Main_EnemyDeadMedium03 extends BitmapAsset { } }//package
Section 403
//Main_EnemyDeadMedium04 (Main_EnemyDeadMedium04) package { import mx.core.*; public class Main_EnemyDeadMedium04 extends BitmapAsset { } }//package
Section 404
//Main_EnemyDeadMedium05 (Main_EnemyDeadMedium05) package { import mx.core.*; public class Main_EnemyDeadMedium05 extends BitmapAsset { } }//package
Section 405
//Main_EnemyDeadSkinny01 (Main_EnemyDeadSkinny01) package { import mx.core.*; public class Main_EnemyDeadSkinny01 extends BitmapAsset { } }//package
Section 406
//Main_EnemyDeadSkinny02 (Main_EnemyDeadSkinny02) package { import mx.core.*; public class Main_EnemyDeadSkinny02 extends BitmapAsset { } }//package
Section 407
//Main_EnemyDeadSkinny03 (Main_EnemyDeadSkinny03) package { import mx.core.*; public class Main_EnemyDeadSkinny03 extends BitmapAsset { } }//package
Section 408
//Main_EnemyDeadSkinny04 (Main_EnemyDeadSkinny04) package { import mx.core.*; public class Main_EnemyDeadSkinny04 extends BitmapAsset { } }//package
Section 409
//Main_EnemyDeadSkinny05 (Main_EnemyDeadSkinny05) package { import mx.core.*; public class Main_EnemyDeadSkinny05 extends BitmapAsset { } }//package
Section 410
//Main_EnemyFat01 (Main_EnemyFat01) package { import mx.core.*; public class Main_EnemyFat01 extends BitmapAsset { } }//package
Section 411
//Main_EnemyFat02 (Main_EnemyFat02) package { import mx.core.*; public class Main_EnemyFat02 extends BitmapAsset { } }//package
Section 412
//Main_EnemyFat03 (Main_EnemyFat03) package { import mx.core.*; public class Main_EnemyFat03 extends BitmapAsset { } }//package
Section 413
//Main_EnemyFat04 (Main_EnemyFat04) package { import mx.core.*; public class Main_EnemyFat04 extends BitmapAsset { } }//package
Section 414
//Main_EnemyFat05 (Main_EnemyFat05) package { import mx.core.*; public class Main_EnemyFat05 extends BitmapAsset { } }//package
Section 415
//Main_EnemyLimp01 (Main_EnemyLimp01) package { import mx.core.*; public class Main_EnemyLimp01 extends BitmapAsset { } }//package
Section 416
//Main_EnemyLimp02 (Main_EnemyLimp02) package { import mx.core.*; public class Main_EnemyLimp02 extends BitmapAsset { } }//package
Section 417
//Main_EnemyLimp03 (Main_EnemyLimp03) package { import mx.core.*; public class Main_EnemyLimp03 extends BitmapAsset { } }//package
Section 418
//Main_EnemyLimp04 (Main_EnemyLimp04) package { import mx.core.*; public class Main_EnemyLimp04 extends BitmapAsset { } }//package
Section 419
//Main_EnemyLimp05 (Main_EnemyLimp05) package { import mx.core.*; public class Main_EnemyLimp05 extends BitmapAsset { } }//package
Section 420
//Main_EnemyMedium01 (Main_EnemyMedium01) package { import mx.core.*; public class Main_EnemyMedium01 extends BitmapAsset { } }//package
Section 421
//Main_EnemyMedium02 (Main_EnemyMedium02) package { import mx.core.*; public class Main_EnemyMedium02 extends BitmapAsset { } }//package
Section 422
//Main_EnemyMedium03 (Main_EnemyMedium03) package { import mx.core.*; public class Main_EnemyMedium03 extends BitmapAsset { } }//package
Section 423
//Main_EnemyMedium04 (Main_EnemyMedium04) package { import mx.core.*; public class Main_EnemyMedium04 extends BitmapAsset { } }//package
Section 424
//Main_EnemyMedium05 (Main_EnemyMedium05) package { import mx.core.*; public class Main_EnemyMedium05 extends BitmapAsset { } }//package
Section 425
//Main_EnemySkinny01 (Main_EnemySkinny01) package { import mx.core.*; public class Main_EnemySkinny01 extends BitmapAsset { } }//package
Section 426
//Main_EnemySkinny02 (Main_EnemySkinny02) package { import mx.core.*; public class Main_EnemySkinny02 extends BitmapAsset { } }//package
Section 427
//Main_EnemySkinny03 (Main_EnemySkinny03) package { import mx.core.*; public class Main_EnemySkinny03 extends BitmapAsset { } }//package
Section 428
//Main_EnemySkinny04 (Main_EnemySkinny04) package { import mx.core.*; public class Main_EnemySkinny04 extends BitmapAsset { } }//package
Section 429
//Main_EnemySkinny05 (Main_EnemySkinny05) package { import mx.core.*; public class Main_EnemySkinny05 extends BitmapAsset { } }//package
Section 430
//Main_ExplosionA (Main_ExplosionA) package { import mx.core.*; public class Main_ExplosionA extends BitmapAsset { } }//package
Section 431
//Main_Floors01 (Main_Floors01) package { import mx.core.*; public class Main_Floors01 extends BitmapAsset { } }//package
Section 432
//Main_Floors02 (Main_Floors02) package { import mx.core.*; public class Main_Floors02 extends BitmapAsset { } }//package
Section 433
//Main_Floors03 (Main_Floors03) package { import mx.core.*; public class Main_Floors03 extends BitmapAsset { } }//package
Section 434
//Main_Floors04 (Main_Floors04) package { import mx.core.*; public class Main_Floors04 extends BitmapAsset { } }//package
Section 435
//Main_Floors05 (Main_Floors05) package { import mx.core.*; public class Main_Floors05 extends BitmapAsset { } }//package
Section 436
//Main_Font1 (Main_Font1) package { import mx.core.*; public class Main_Font1 extends FontAsset { } }//package
Section 437
//Main_Font2 (Main_Font2) package { import mx.core.*; public class Main_Font2 extends FontAsset { } }//package
Section 438
//Main_Font3 (Main_Font3) package { import mx.core.*; public class Main_Font3 extends FontAsset { } }//package
Section 439
//Main_Font4 (Main_Font4) package { import mx.core.*; public class Main_Font4 extends FontAsset { } }//package
Section 440
//Main_Font5 (Main_Font5) package { import mx.core.*; public class Main_Font5 extends FontAsset { } }//package
Section 441
//Main_Foreground (Main_Foreground) package { import mx.core.*; public class Main_Foreground extends BitmapAsset { } }//package
Section 442
//Main_Lock (Main_Lock) package { import mx.core.*; public class Main_Lock extends BitmapAsset { } }//package
Section 443
//Main_Map01 (Main_Map01) package { import mx.core.*; public class Main_Map01 extends BitmapAsset { } }//package
Section 444
//Main_MapLevelButton (Main_MapLevelButton) package { import mx.core.*; public class Main_MapLevelButton extends BitmapAsset { } }//package
Section 445
//Main_MiniMap (Main_MiniMap) package { import mx.core.*; public class Main_MiniMap extends BitmapAsset { } }//package
Section 446
//Main_MothLogo (Main_MothLogo) package { import mx.core.*; public class Main_MothLogo extends BitmapAsset { } }//package
Section 447
//Main_MuzzleNeutron (Main_MuzzleNeutron) package { import mx.core.*; public class Main_MuzzleNeutron extends BitmapAsset { } }//package
Section 448
//Main_MuzzlePhoton (Main_MuzzlePhoton) package { import mx.core.*; public class Main_MuzzlePhoton extends BitmapAsset { } }//package
Section 449
//Main_MuzzlePlasma (Main_MuzzlePlasma) package { import mx.core.*; public class Main_MuzzlePlasma extends BitmapAsset { } }//package
Section 450
//Main_MuzzlePulse (Main_MuzzlePulse) package { import mx.core.*; public class Main_MuzzlePulse extends BitmapAsset { } }//package
Section 451
//Main_MuzzleTachyon (Main_MuzzleTachyon) package { import mx.core.*; public class Main_MuzzleTachyon extends BitmapAsset { } }//package
Section 452
//Main_OtherChips (Main_OtherChips) package { import mx.core.*; public class Main_OtherChips extends BitmapAsset { } }//package
Section 453
//Main_Pickup (Main_Pickup) package { import mx.core.*; public class Main_Pickup extends BitmapAsset { } }//package
Section 454
//Main_PoisonParticle01 (Main_PoisonParticle01) package { import mx.core.*; public class Main_PoisonParticle01 extends BitmapAsset { } }//package
Section 455
//Main_PoisonParticle02 (Main_PoisonParticle02) package { import mx.core.*; public class Main_PoisonParticle02 extends BitmapAsset { } }//package
Section 456
//Main_PoisonParticle03 (Main_PoisonParticle03) package { import mx.core.*; public class Main_PoisonParticle03 extends BitmapAsset { } }//package
Section 457
//Main_PoisonParticle04 (Main_PoisonParticle04) package { import mx.core.*; public class Main_PoisonParticle04 extends BitmapAsset { } }//package
Section 458
//Main_ProjectileBasic (Main_ProjectileBasic) package { import mx.core.*; public class Main_ProjectileBasic extends BitmapAsset { } }//package
Section 459
//Main_ProjectileMelee (Main_ProjectileMelee) package { import mx.core.*; public class Main_ProjectileMelee extends BitmapAsset { } }//package
Section 460
//Main_ProjectileNeutron (Main_ProjectileNeutron) package { import mx.core.*; public class Main_ProjectileNeutron extends BitmapAsset { } }//package
Section 461
//Main_ProjectilePhoton (Main_ProjectilePhoton) package { import mx.core.*; public class Main_ProjectilePhoton extends BitmapAsset { } }//package
Section 462
//Main_ProjectilePlasma (Main_ProjectilePlasma) package { import mx.core.*; public class Main_ProjectilePlasma extends BitmapAsset { } }//package
Section 463
//Main_ProjectilePoison (Main_ProjectilePoison) package { import mx.core.*; public class Main_ProjectilePoison extends BitmapAsset { } }//package
Section 464
//Main_ProjectilePulse (Main_ProjectilePulse) package { import mx.core.*; public class Main_ProjectilePulse extends BitmapAsset { } }//package
Section 465
//Main_ProjectileSlows (Main_ProjectileSlows) package { import mx.core.*; public class Main_ProjectileSlows extends BitmapAsset { } }//package
Section 466
//Main_ProjectileTachyon (Main_ProjectileTachyon) package { import mx.core.*; public class Main_ProjectileTachyon extends BitmapAsset { } }//package
Section 467
//Main_SfxBarffBasic (Main_SfxBarffBasic) package { import mx.core.*; public class Main_SfxBarffBasic extends SoundAsset { } }//package
Section 468
//Main_SfxExplode (Main_SfxExplode) package { import mx.core.*; public class Main_SfxExplode extends SoundAsset { } }//package
Section 469
//Main_SfxHover (Main_SfxHover) package { import mx.core.*; public class Main_SfxHover extends SoundAsset { } }//package
Section 470
//Main_SfxNeutron (Main_SfxNeutron) package { import mx.core.*; public class Main_SfxNeutron extends SoundAsset { } }//package
Section 471
//Main_SfxPhoton (Main_SfxPhoton) package { import mx.core.*; public class Main_SfxPhoton extends SoundAsset { } }//package
Section 472
//Main_SfxPlasma (Main_SfxPlasma) package { import mx.core.*; public class Main_SfxPlasma extends SoundAsset { } }//package
Section 473
//Main_SfxPress (Main_SfxPress) package { import mx.core.*; public class Main_SfxPress extends SoundAsset { } }//package
Section 474
//Main_SfxPulse (Main_SfxPulse) package { import mx.core.*; public class Main_SfxPulse extends SoundAsset { } }//package
Section 475
//Main_SfxShaft (Main_SfxShaft) package { import mx.core.*; public class Main_SfxShaft extends SoundAsset { } }//package
Section 476
//Main_SfxTachyon (Main_SfxTachyon) package { import mx.core.*; public class Main_SfxTachyon extends SoundAsset { } }//package
Section 477
//Main_SfxZAttack01 (Main_SfxZAttack01) package { import mx.core.*; public class Main_SfxZAttack01 extends SoundAsset { } }//package
Section 478
//Main_SfxZAttack02 (Main_SfxZAttack02) package { import mx.core.*; public class Main_SfxZAttack02 extends SoundAsset { } }//package
Section 479
//Main_SfxZAttack03 (Main_SfxZAttack03) package { import mx.core.*; public class Main_SfxZAttack03 extends SoundAsset { } }//package
Section 480
//Main_SponsorIntro (Main_SponsorIntro) package { import flash.utils.*; import mx.core.*; public class Main_SponsorIntro extends MovieClipLoaderAsset { public var dataClass:Class; private static var bytes:ByteArray = null; public function Main_SponsorIntro(){ dataClass = Main_SponsorIntro_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 481
//Main_SponsorIntro_dataClass (Main_SponsorIntro_dataClass) package { import mx.core.*; public class Main_SponsorIntro_dataClass extends ByteArrayAsset { } }//package
Section 482
//Main_SponsorSmall (Main_SponsorSmall) package { import mx.core.*; public class Main_SponsorSmall extends BitmapAsset { } }//package
Section 483
//Main_Traps (Main_Traps) package { import mx.core.*; public class Main_Traps extends BitmapAsset { } }//package
Section 484
//Main_Walls01 (Main_Walls01) package { import mx.core.*; public class Main_Walls01 extends BitmapAsset { } }//package
Section 485
//Main_Walls02 (Main_Walls02) package { import mx.core.*; public class Main_Walls02 extends BitmapAsset { } }//package
Section 486
//Main_Walls03 (Main_Walls03) package { import mx.core.*; public class Main_Walls03 extends BitmapAsset { } }//package
Section 487
//Main_Walls04 (Main_Walls04) package { import mx.core.*; public class Main_Walls04 extends BitmapAsset { } }//package
Section 488
//Main_Walls05 (Main_Walls05) package { import mx.core.*; public class Main_Walls05 extends BitmapAsset { } }//package
Section 489
//Main_WeaponChipMod (Main_WeaponChipMod) package { import mx.core.*; public class Main_WeaponChipMod extends BitmapAsset { } }//package
Section 490
//Main_WeaponChipUnmod (Main_WeaponChipUnmod) package { import mx.core.*; public class Main_WeaponChipUnmod extends BitmapAsset { } }//package
Section 491
//Main_WeaponModChip (Main_WeaponModChip) package { import mx.core.*; public class Main_WeaponModChip extends BitmapAsset { } }//package
Section 492
//Main_WeaponModType (Main_WeaponModType) package { import mx.core.*; public class Main_WeaponModType extends BitmapAsset { } }//package
Section 493
//Main_WitutekLogo (Main_WitutekLogo) package { import mx.core.*; public class Main_WitutekLogo extends BitmapAsset { } }//package
Section 494
//Main_WitutekLogoBig (Main_WitutekLogoBig) package { import mx.core.*; public class Main_WitutekLogoBig extends BitmapAsset { } }//package
Section 495
//Preloader (Preloader) package { import flash.events.*; import tofu.ui.*; import flash.text.*; import flash.display.*; import mochi.*; import mochi.as3.*; import game.*; import flash.net.*; import flash.utils.*; public dynamic class Preloader extends MovieClip { private var sponsor:Sprite; private var SponsorLogo:Class; private var preloaderbitmap:Bitmap; private var preloaderbarborder:Sprite; private var PreloaderFont:Class; private var PreloaderBitmap:Class; private var preloadGroup:Sprite; private var loadingLabel:Label; private var preloaderbar:Sprite; public function Preloader(){ PreloaderBitmap = Preloader_PreloaderBitmap; PreloaderFont = Preloader_PreloaderFont; SponsorLogo = Preloader_SponsorLogo; super(); stage.showDefaultContextMenu = false; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.quality = StageQuality.HIGH; stage.frameRate = 30; launch(false); } private function onClickSponsor(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(Config.SPONSOR_URL), "_blank"); } private function onEnterFrame(_arg1:Event):void{ var _local2:Number = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); loadingLabel.update((((((int((root.loaderInfo.bytesLoaded / 0x0400)) + "k / ") + int((root.loaderInfo.bytesTotal / 0x0400))) + "k (") + int((_local2 * 100))) + "%)")); preloaderbar.scaleX = _local2; if (_local2 == 1){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); removeChild(sponsor); removeChild(preloadGroup); removeChild(preloaderbitmap); init(); }; } private function launch(_arg1:Boolean=false):void{ var _local2:LabelStyle; var _local3:Bitmap; if (!_arg1){ addEventListener(Event.ENTER_FRAME, onEnterFrame); preloadGroup = new Sprite(); preloaderbitmap = new PreloaderBitmap(); preloaderbar = new Sprite(); preloaderbar.graphics.beginFill(0xFFFFFF); preloaderbar.graphics.drawRect(0, 0, 196, 8); preloaderbar.x = (preloaderbar.y = 2); preloaderbar.scaleX = 0; preloaderbarborder = new Sprite(); preloaderbarborder.graphics.lineStyle(2, 0xFFFFFF); preloaderbarborder.graphics.drawRect(0, 0, 200, 12); preloaderbarborder.addChild(preloaderbar); preloaderbarborder.alpha = 0.6; _local2 = new LabelStyle().setAlign(LabelStyle.ALIGN_LEFT).setColor(0xFFFFFF).setEmbed(true).setSize(8).setFont(Font(new PreloaderFont()).fontName); loadingLabel = new Label((((int((root.loaderInfo.bytesLoaded / 0x0400)) + "k / ") + int((root.loaderInfo.bytesTotal / 0x0400))) + "k (0%)"), _local2); loadingLabel.element.width = preloaderbarborder.width; loadingLabel.element.height = 12; loadingLabel.element.alpha = 0.6; _local3 = new SponsorLogo(); sponsor = new Sprite(); sponsor.buttonMode = true; sponsor.addChild(_local3); sponsor.x = ((Config.STAGE_WIDTH - sponsor.width) * 0.5); sponsor.y = ((Config.STAGE_HEIGHT - sponsor.height) * 0.5); preloaderbarborder.y = (loadingLabel.element.height + 4); preloadGroup.x = (preloadGroup.y = 64); preloadGroup.addChild(preloaderbarborder); preloadGroup.addChild(loadingLabel.element); addChild(preloaderbitmap); addChild(preloadGroup); addChild(sponsor); sponsor.addEventListener(MouseEvent.CLICK, onClickSponsor, false, 0, true); }; } private function init():void{ var _local2:Object; MochiBot.track(this, "588cf2ef"); MochiServices.connect("3ea9f7535a5ad7cb", this); MochiScores.setBoardID("5ab4809c44659762"); var _local1:Class = Class(getDefinitionByName("Main")); if (_local1){ _local2 = new _local1(this); }; } } }//package
Section 496
//Preloader_PreloaderBitmap (Preloader_PreloaderBitmap) package { import mx.core.*; public class Preloader_PreloaderBitmap extends BitmapAsset { } }//package
Section 497
//Preloader_PreloaderFont (Preloader_PreloaderFont) package { import mx.core.*; public class Preloader_PreloaderFont extends FontAsset { } }//package
Section 498
//Preloader_SponsorLogo (Preloader_SponsorLogo) package { import mx.core.*; public class Preloader_SponsorLogo extends BitmapAsset { } }//package

Library Items

Symbol 1 Font {Main_Font2}
Symbol 2 Bitmap {Preloader_PreloaderBitmap}
Symbol 3 Bitmap {Preloader_SponsorLogo}
Symbol 4 Sound {Main_BgmUserScreen} [UserBeat]
Symbol 5 Sound {Main_SfxShaft} [Shaft]
Symbol 6 Sound {Main_SfxBarffBasic} [BarffBasic]
Symbol 7 Sound {Main_SfxExplode} [Explode]
Symbol 8 Sound {Main_SfxPulse} [Pulse]
Symbol 9 Sound {Main_SfxPhoton} [Photon]
Symbol 10 Sound {Main_SfxPress} [Press]
Symbol 11 Sound {Main_SfxHover} [Hover]
Symbol 12 Sound {Main_SfxPlasma} [Plasma]
Symbol 13 Sound {Main_BgmMission} [MissionBeat]
Symbol 14 Sound {Main_SfxZAttack02} [ZAttack02]
Symbol 15 Sound {Main_SfxNeutron} [Neutron]
Symbol 16 Sound {Main_SfxZAttack01} [ZAttack01]
Symbol 17 Sound {Main_SfxZAttack03} [ZAttack03]
Symbol 18 Sound {Main_SfxTachyon} [Tachyon]
Symbol 19 Bitmap {Main_MuzzleTachyon}
Symbol 20 Bitmap {Main_BarForegroundLeft}
Symbol 21 Bitmap {Main_EnemyLimp02}
Symbol 22 Bitmap {Main_EnemyLimp03}
Symbol 23 Bitmap {Main_EnemyLimp04}
Symbol 24 Bitmap {Main_ProjectilePoison}
Symbol 25 Bitmap {Main_EnemyLimp05}
Symbol 26 Bitmap {Main_EnemyLimp01}
Symbol 27 Bitmap {Main_PoisonParticle04}
Symbol 28 Bitmap {Main_BarForegroundRight}
Symbol 29 Bitmap {Main_BloodParticle03}
Symbol 30 Bitmap {Main_BloodParticle02}
Symbol 31 Bitmap {Main_CommonFrame}
Symbol 32 Bitmap {Main_BloodParticle04}
Symbol 33 Bitmap {Main_PoisonParticle02}
Symbol 34 Bitmap {Main_PoisonParticle03}
Symbol 35 Bitmap {Main_BarBackgroundLeft}
Symbol 36 Bitmap {Main_BloodParticle01}
Symbol 37 Bitmap {Main_PoisonParticle01}
Symbol 38 Bitmap {Main_AvatarUpper}
Symbol 39 Bitmap {Main_Background}
Symbol 40 Bitmap {Main_MothLogo}
Symbol 41 Bitmap {Main_WeaponModType}
Symbol 42 Bitmap {Main_EnemyDeadLimp05}
Symbol 43 Bitmap {Main_EnemyFat02}
Symbol 44 Bitmap {Main_EnemyDeadLimp04}
Symbol 45 Bitmap {Main_EnemyFat01}
Symbol 46 Bitmap {Main_WeaponModChip}
Symbol 47 Bitmap {Main_EnemyDeadLimp03}
Symbol 48 Bitmap {Main_EnemyFat04}
Symbol 49 Bitmap {Main_EnemyDeadLimp02}
Symbol 50 Bitmap {Main_EnemyFat03}
Symbol 51 Bitmap {Main_EnemyFat05}
Symbol 52 Bitmap {Main_WeaponChipMod}
Symbol 53 Bitmap {Main_EnemyDeadLimp01}
Symbol 54 Bitmap {Main_BarBackgroundRight}
Symbol 55 Bitmap {Main_EnemyDeadMedium05}
Symbol 56 Bitmap {Main_Map01}
Symbol 57 Bitmap {Main_WitutekLogo}
Symbol 58 Bitmap {Main_Traps}
Symbol 59 Bitmap {Main_Walls01}
Symbol 60 Bitmap {Main_Walls02}
Symbol 61 Bitmap {Main_Walls03}
Symbol 62 Bitmap {Main_Walls04}
Symbol 63 Bitmap {Main_Walls05}
Symbol 64 Bitmap {Main_MuzzlePlasma}
Symbol 65 Bitmap {Main_ProjectilePlasma}
Symbol 66 Bitmap {Main_WitutekLogoBig}
Symbol 67 Bitmap {Main_CustomButton}
Symbol 68 Bitmap {Main_EnemyDeadMedium01}
Symbol 69 Bitmap {Main_EnemyDeadMedium02}
Symbol 70 Bitmap {Main_EnemyDeadMedium03}
Symbol 71 Bitmap {Main_CommonButton}
Symbol 72 Bitmap {Main_EnemyDeadMedium04}
Symbol 73 Bitmap {Main_EnemyDeadFat04}
Symbol 74 Bitmap {Main_EnemyDeadFat03}
Symbol 75 Bitmap {Main_EnemyDeadFat02}
Symbol 76 Bitmap {Main_ProjectilePulse}
Symbol 77 Bitmap {Main_EnemyDeadFat01}
Symbol 78 Bitmap {Main_Award}
Symbol 79 Bitmap {Main_EnemyDeadFat05}
Symbol 80 Bitmap {Main_ProjectilePhoton}
Symbol 81 BinaryData {Main_SponsorIntro_dataClass}
Symbol 82 Bitmap {Main_MuzzlePulse}
Symbol 83 Bitmap {Main_EnemyDeadBulky01}
Symbol 84 Bitmap {Main_EnemyDeadBulky02}
Symbol 85 Bitmap {Main_EnemyDeadBulky03}
Symbol 86 Bitmap {Main_EnemyDeadBulky04}
Symbol 87 Bitmap {Main_EnemyDeadBulky05}
Symbol 88 Bitmap {Main_ProjectileTachyon}
Symbol 89 Bitmap {Main_Foreground}
Symbol 90 Font {Main_Font5}
Symbol 91 Bitmap {Main_WeaponChipUnmod}
Symbol 92 Bitmap {Main_MapLevelButton}
Symbol 93 Bitmap {Main_AvatarSlowed}
Symbol 94 Bitmap {Main_Floors04}
Symbol 95 Bitmap {Main_Floors03}
Symbol 96 Bitmap {Main_MiniMap}
Symbol 97 Bitmap {Main_Floors05}
Symbol 98 Bitmap {Main_ProjectileMelee}
Symbol 99 Bitmap {Main_EnemyDeadSkinny01}
Symbol 100 Bitmap {Main_EnemySkinny01}
Symbol 101 Bitmap {Main_ExplosionA}
Symbol 102 Bitmap {Main_EnemySkinny03}
Symbol 103 Font {Main_Font3}
Symbol 104 Bitmap {Main_EnemySkinny02}
Symbol 105 Font {Main_Font4}
Symbol 106 Bitmap {Main_EnemySkinny05}
Symbol 107 Bitmap {Main_ProjectileSlows}
Symbol 108 Font {Main_Font1}
Symbol 109 Bitmap {Main_EnemySkinny04}
Symbol 110 MovieClip {Main_SponsorIntro}
Symbol 111 Bitmap {Main_EnemyDeadSkinny05}
Symbol 112 Bitmap {Main_OtherChips}
Symbol 113 Bitmap {Main_EnemyDeadSkinny04}
Symbol 114 Bitmap {Main_EnemyDeadSkinny03}
Symbol 115 Bitmap {Main_EnemyDeadSkinny02}
Symbol 116 Bitmap {Main_EnemyMedium02}
Symbol 117 Bitmap {Main_EnemyMedium01}
Symbol 118 Bitmap {Main_EnemyMedium04}
Symbol 119 Bitmap {Main_EnemyMedium03}
Symbol 120 Bitmap {Main_ProjectileBasic}
Symbol 121 Bitmap {Main_EnemyMedium05}
Symbol 122 Bitmap {Main_Floors01}
Symbol 123 Bitmap {Main_Floors02}
Symbol 124 Bitmap {Main_MuzzleNeutron}
Symbol 125 Bitmap {Main_Door04}
Symbol 126 Bitmap {Main_Door05}
Symbol 127 Bitmap {Main_SponsorSmall}
Symbol 128 Bitmap {Main_MuzzlePhoton}
Symbol 129 Bitmap {Main_EnemyBulky01}
Symbol 130 Bitmap {Main_ProjectileNeutron}
Symbol 131 Bitmap {Main_EnemyBulky02}
Symbol 132 Bitmap {Main_EnemyBulky03}
Symbol 133 Bitmap {Main_EnemyBulky04}
Symbol 134 Bitmap {Main_EnemyBulky05}
Symbol 135 Bitmap {Main_Door01}
Symbol 136 Bitmap {Main_Door02}
Symbol 137 Bitmap {Main_Door03}
Symbol 138 Bitmap {Main_AvatarPoisoned}
Symbol 139 Bitmap {Main_Lock}
Symbol 140 Bitmap {Main_Cursor}
Symbol 141 Bitmap {Main_Pickup}

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 4 as "UserBeat"
ExportAssets (56)Timeline Frame 2Symbol 5 as "Shaft"
ExportAssets (56)Timeline Frame 2Symbol 6 as "BarffBasic"
ExportAssets (56)Timeline Frame 2Symbol 7 as "Explode"
ExportAssets (56)Timeline Frame 2Symbol 8 as "Pulse"
ExportAssets (56)Timeline Frame 2Symbol 9 as "Photon"
ExportAssets (56)Timeline Frame 2Symbol 10 as "Press"
ExportAssets (56)Timeline Frame 2Symbol 11 as "Hover"
ExportAssets (56)Timeline Frame 2Symbol 12 as "Plasma"
ExportAssets (56)Timeline Frame 2Symbol 13 as "MissionBeat"
ExportAssets (56)Timeline Frame 2Symbol 14 as "ZAttack02"
ExportAssets (56)Timeline Frame 2Symbol 15 as "Neutron"
ExportAssets (56)Timeline Frame 2Symbol 16 as "ZAttack01"
ExportAssets (56)Timeline Frame 2Symbol 17 as "ZAttack03"
ExportAssets (56)Timeline Frame 2Symbol 18 as "Tachyon"
SerialNumber (41)Timeline Frame 1

Labels

"Preloader"Frame 1
"Main"Frame 2




http://swfchan.com/27/132167/info.shtml
Created: 19/2 -2019 22:21:53 Last modified: 19/2 -2019 22:21:53 Server time: 29/04 -2024 01:12:25