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("'", "'");
};
while (_arg1.indexOf("\"") != -1) {
_arg1 = _arg1.replace("\"", """);
};
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