Section 1
//Box (Elements.Box)
package Elements {
public class Box extends Element {
public function Box(_arg1:int, _arg2:int){
CanTake = true;
CanPass = false;
CanPullout = true;
CanManipulate = false;
CanDrop = false;
super(_arg1, _arg2, elmBox, 9);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementBox());
}
}
}//package Elements
Section 2
//Button (Elements.Button)
package Elements {
import flash.geom.*;
public class Button extends Element {
public var DoorsIDs:Array;
public function Button(_arg1:int, _arg2:int, _arg3:Array, _arg4:int){
DoorsIDs = new Array();
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = true;
super(_arg1, _arg2, elmButton, 1);
DoorsIDs = _arg3;
if (_arg4 == clrRed){
SetColor(180, 30, 30);
} else {
if (_arg4 == clrGreen){
SetColor(30, 145, 30);
} else {
if (_arg4 == clrBlue){
SetColor(30, 30, 180);
};
};
};
}
override protected function IOffPlace(_arg1:Element):void{
SwitchDoors();
}
public function SetColor(_arg1:int, _arg2:int, _arg3:int):void{
layerImg[1].bitmapData.colorTransform(new Rectangle(0, 0, 25, 25), new ColorTransform(0, 0, 0, 1, _arg1, _arg2, _arg3));
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementButton1());
layerImg.push(new Resources.imgElementButton2());
layerImg.push(new Resources.imgElementButton3());
}
private function SwitchDoors():void{
var _local2:int;
var _local1:int;
while (_local1 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local1].ID == elmDoor){
_local2 = 0;
while (_local2 < DoorsIDs.length) {
if ((app.enviroment.elements[_local1] as Door).DoorID == DoorsIDs[_local2]){
(app.enviroment.elements[_local1] as Door).Switch();
};
_local2++;
};
};
_local1++;
};
}
override protected function IOnPlace(_arg1:Element):void{
SwitchDoors();
}
}
}//package Elements
Section 3
//Capsule (Elements.Capsule)
package Elements {
import flash.geom.*;
public class Capsule extends Element {
public function Capsule(_arg1:int, _arg2:int){
CanTake = true;
CanPass = false;
CanPullout = true;
CanManipulate = false;
CanDrop = false;
super(_arg1, _arg2, elmCapsule, 9);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementCapsule());
}
override public function ReturnState():void{
super.ReturnState();
if (CanTake){
layerImg[0].bitmapData.copyPixels(new Resources.imgElementCapsule().bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
};
}
public function Hide():void{
layerImg[0].bitmapData.fillRect(new Rectangle(0, 0, 25, 25), 0xFFFFFF);
CanTake = false;
}
}
}//package Elements
Section 4
//CapsuleHole (Elements.CapsuleHole)
package Elements {
import flash.geom.*;
public class CapsuleHole extends Element {
public function CapsuleHole(_arg1:int, _arg2:int){
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = true;
super(_arg1, _arg2, elmCapsuleHole, 1);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementCapsuleHole1());
}
override public function ReturnState():void{
super.ReturnState();
if (CanDrop){
layerImg[0].bitmapData.copyPixels(new Resources.imgElementCapsuleHole1().bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
};
}
public function IsFull():Boolean{
return (!(CanDrop));
}
override protected function IOnPlace(_arg1:Element):void{
if (_arg1.ID == elmCapsule){
(_arg1 as Capsule).Hide();
CanDrop = false;
layerImg[0].bitmapData.copyPixels(new Resources.imgElementCapsuleHole2().bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
};
}
}
}//package Elements
Section 5
//Dark (Elements.Dark)
package Elements {
import flash.display.*;
import flash.geom.*;
public class Dark extends Element {
public function Dark(_arg1:int, _arg2:int){
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = true;
super(1, 1, elmDark, 15);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementTankDark());
layerImg.push(new Bitmap(new BitmapData((20 * 25), (13 * 25), true, 4278190080)));
layerImg[1].x = -(x);
layerImg[1].y = -(y);
var _local1:Shape = new Shape();
_local1.graphics.beginFill(0);
_local1.graphics.drawRect(0, 0, (25 * 20), (25 * 13));
_local1.x = (-(x) + 25);
_local1.y = (-(y) + 43);
layerImg[0].mask = _local1;
UpdateMask(((app.enviroment.tank.PosX - 1) * 25), ((app.enviroment.tank.PosY - 1) * 25));
}
public function UpdateMask(_arg1:int, _arg2:int):void{
layerImg[0].x = int(((_arg1 - 75) - x));
layerImg[0].y = int(((_arg2 - 75) - y));
layerImg[1].bitmapData.fillRect(new Rectangle(0, 0, (25 * 20), (25 * 13)), 4278190080);
layerImg[1].bitmapData.fillRect(new Rectangle((_arg1 - (25 * 3)), (_arg2 - (25 * 3)), (25 * 7), (25 * 7)), 0xFFFFFF);
}
}
}//package Elements
Section 6
//Door (Elements.Door)
package Elements {
import flash.display.*;
import flash.geom.*;
public class Door extends Element {
public var DoorID:int;// = 0
private static var doorShuter1:BitmapData = null;
private static var doorShuter2:BitmapData = null;
public function Door(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean, _arg5:int){
CanTake = false;
CanPass = _arg4;
CanPullout = _arg4;
CanManipulate = false;
CanDrop = _arg4;
super(_arg1, _arg2, elmDoor, 1);
DoorID = _arg3;
if (doorShuter1 == null){
doorShuter1 = new Resources.imgElementDoor4().bitmapData;
doorShuter2 = new Resources.imgElementDoor5().bitmapData;
};
SetState(_arg4);
if (_arg5 == clrRed){
SetColor(180, 30, 30);
} else {
if (_arg5 == clrGreen){
SetColor(30, 180, 30);
} else {
if (_arg5 == clrBlue){
SetColor(30, 30, 180);
};
};
};
}
override public function ReturnState():void{
super.ReturnState();
SetState(CanPass);
}
public function SetColor(_arg1:int, _arg2:int, _arg3:int):void{
layerImg[1].bitmapData.colorTransform(new Rectangle(0, 0, 25, 25), new ColorTransform(0, 0, 0, 1, _arg1, _arg2, _arg3));
}
public function Switch():void{
if (IWantAnimate){
return;
};
if (GetCanTake(CurrX, (CurrY - 1), dirDown)){
return;
};
if (CanPass){
AnimID = animAnimate1;
} else {
AnimID = animAnimate2;
};
IWantAnimate = true;
CanPass = !(CanPass);
CanDrop = !(CanDrop);
CanPullout = !(CanPullout);
}
public function SetState(_arg1:Boolean):void{
CanPass = _arg1;
CanDrop = _arg1;
CanPullout = _arg1;
if (_arg1){
layerImg[3].bitmapData.fillRect(new Rectangle(0, 0, 25, 25), 0xFFFFFF);
layerImg[3].bitmapData.copyPixels(doorShuter1, new Rectangle(0, 0, 25, 25), new Point(0, 0), null, null, true);
layerImg[3].bitmapData.copyPixels(doorShuter2, new Rectangle(0, 0, 25, 25), new Point(0, 0), null, null, true);
} else {
layerImg[3].bitmapData.fillRect(new Rectangle(0, 0, 25, 25), 0xFFFFFF);
};
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementDoor1());
layerImg.push(new Resources.imgElementDoor2());
layerImg.push(new Resources.imgElementDoor3());
layerImg.push(new Bitmap(new BitmapData(25, 25, true, 0xFFFFFF)));
}
override public function StartAnimation():Boolean{
if (IWantAnimate){
IWantAnimate = false;
if (GetCanTake(CurrX, (CurrY - 1), dirDown)){
return (false);
};
return (true);
//unresolved jump
};
return (false);
}
override public function Update(_arg1:Number):void{
var _local2:int = ((AnimID)==animAnimate2) ? (9 - (_arg1 * 9)) : (_arg1 * 9);
layerImg[3].bitmapData.fillRect(new Rectangle(0, 0, 25, 25), 0xFFFFFF);
layerImg[3].bitmapData.copyPixels(doorShuter1, new Rectangle(_local2, _local2, (25 - _local2), (25 - _local2)), new Point(0, 0), null, null, true);
layerImg[3].bitmapData.copyPixels(doorShuter2, new Rectangle(0, 0, (25 - _local2), (25 - _local2)), new Point(_local2, _local2), null, null, true);
}
override public function StopAnimation():void{
super.StopAnimation();
SetState(CanPass);
}
}
}//package Elements
Section 7
//Element (Elements.Element)
package Elements {
import flash.display.*;
public class Element extends Sprite {
public var oldCanPullout:Boolean;// = false
public var CanManipulate:Boolean;// = false
public var AnimID:int;
public var ZOrder:int;// = 0
public var CanPullout:Boolean;// = false
public var ID:int;
public var app:Main;
public var PosX:int;
public var PosY:int;
public var IWantAnimate:Boolean;// = false
public var oldCanDrop:Boolean;// = false
public var layerImg:Array;
public var CanDrop:Boolean;// = false
public var IsCarryByTank:Boolean;// = false
public var oldCanManipulate:Boolean;// = false
public var stageHeight:Number;
public var CurrX:int;
public var CurrY:int;
public var oldCanTake:Boolean;// = false
public var oldCanPass:Boolean;// = false
public var CanTake:Boolean;// = false
public var CanPass:Boolean;// = false
public var stageWidth:Number;
private var rememberX:int;
private var rememberY:int;
public var AnimAfterAll:Boolean;// = false
public static var elmScrollPad:int = 7;
public static var elmSwitch:int = 8;
public static var elmDoor:int = 4;
public static var elmNone:int = -1;
public static var animMoveUpDown:int = 7;
public static var elmCapsuleHole:int = 3;
public static var dirUp:int = 3;
public static var animRotateLeft:int = 8;
public static var elmWall:int = 10;
public static var dirRight:int = 0;
public static var animAnimate1:int = 13;
public static var clrBlue:int = 3;
public static var elmCapsule:int = 2;
public static var clrRed:int = 2;
public static var animMoveLeft:int = 2;
public static var elmTank:int = 9;
public static var animPullOut:int = 10;
public static var dirLeft:int = 2;
public static var animRotateRight:int = 9;
public static var animMoveRight:int = 0;
public static var animPullIn:int = 11;
public static var elmDark:int = 11;
public static var animMoveUp:int = 3;
public static var elmPowerDown:int = 6;
public static var animMoveDown:int = 1;
public static var elmBox:int = 0;
public static var animPullOutIn:int = 12;
public static var dirDown:int = 1;
public static var clrGreen:int = 1;
public static var animAnimate2:int = 14;
public static var animMoveRightLeft:int = 4;
public static var animNone:int = -1;
public static var elmHeadquater:int = 5;
public static var animMoveLeftRight:int = 6;
public static var elmButton:int = 1;
public static var animMoveDownUp:int = 5;
public function Element(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
layerImg = new Array();
ID = elmNone;
AnimID = animNone;
super();
PosX = _arg1;
PosY = _arg2;
CurrX = _arg1;
CurrY = _arg2;
ID = _arg3;
ZOrder = _arg4;
x = ((PosX - 1) * 25);
y = ((PosY - 1) * 25);
FillImage();
var _local5:int;
while (_local5 < layerImg.length) {
addChild(layerImg[_local5]);
_local5++;
};
app.enviroment.fieldEnv.addChild(this);
app.enviroment.elements.push(this);
app.enviroment.elementsOnField[(PosX - 1)][(PosY - 1)].push(this);
oldCanTake = CanTake;
oldCanPass = CanPass;
oldCanPullout = CanPullout;
oldCanManipulate = CanManipulate;
oldCanDrop = CanDrop;
}
public function Update(_arg1:Number):void{
var _local2:int;
switch (AnimID){
case animMoveUp:
y = (((CurrY - 1) * 25) - (25 * _arg1));
break;
case animMoveDown:
y = (((CurrY - 1) * 25) + (25 * _arg1));
break;
case animMoveLeft:
x = (((CurrX - 1) * 25) - (25 * _arg1));
break;
case animMoveRight:
x = (((CurrX - 1) * 25) + (25 * _arg1));
break;
case animMoveUpDown:
if (_arg1 <= 0.5){
y = (((CurrY - 1) * 25) - (25 * _arg1));
} else {
y = (((CurrY - 1) * 25) - (25 * (1 - _arg1)));
};
break;
case animMoveDownUp:
if (_arg1 <= 0.5){
y = (((CurrY - 1) * 25) + (25 * _arg1));
} else {
y = (((CurrY - 1) * 25) + (25 * (1 - _arg1)));
};
break;
case animMoveLeftRight:
if (_arg1 <= 0.5){
x = (((CurrX - 1) * 25) - (25 * _arg1));
} else {
x = (((CurrX - 1) * 25) - (25 * (1 - _arg1)));
};
break;
case animMoveRightLeft:
if (_arg1 <= 0.5){
x = (((CurrX - 1) * 25) + (25 * _arg1));
} else {
x = (((CurrX - 1) * 25) + (25 * (1 - _arg1)));
};
break;
};
}
public function StopAnimation():void{
var _local1:int;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].splice(app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].indexOf(this), 1);
if ((((AnimID >= animMoveRight)) && ((AnimID <= animMoveUp)))){
_local1 = 0;
while (_local1 < app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].length) {
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IOffPlace(this);
_local1++;
};
};
switch (AnimID){
case animMoveUp:
CurrY--;
break;
case animMoveDown:
CurrY++;
break;
case animMoveLeft:
CurrX--;
break;
case animMoveRight:
CurrX++;
break;
};
if ((((AnimID >= animMoveRight)) && ((AnimID <= animMoveUp)))){
_local1 = 0;
while (_local1 < app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].length) {
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IOnPlace(this);
_local1++;
};
};
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].push(this);
y = ((CurrY - 1) * 25);
x = ((CurrX - 1) * 25);
}
protected function SetWrong():void{
app.enviroment.commands[app.enviroment.animControl.currCommand].wrong = true;
}
public function GetCanDrop(_arg1:int, _arg2:int, _arg3:int):Boolean{
var _local4:int;
var _local5:int;
var _local6:int;
switch (_arg3){
case dirUp:
_local4 = 0;
_local5 = -1;
break;
case dirDown:
_local4 = 0;
_local5 = 1;
break;
case dirLeft:
_local4 = -1;
_local5 = 0;
break;
case dirRight:
_local4 = 1;
_local5 = 0;
break;
};
if (((((((((_arg1 + _local4) > 20)) || (((_arg1 + _local4) < 1)))) || (((_arg2 + _local5) > 13)))) || (((_arg2 + _local5) < 1)))){
return (false);
};
var _local7:Boolean;
_local6 = 0;
while (_local6 < app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)].length) {
if (!app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6].CanDrop){
_local7 = false;
};
_local6++;
};
return (_local7);
}
public function GetCanManipulate(_arg1:int, _arg2:int, _arg3:int):Element{
var _local4:int;
var _local5:int;
var _local6:int;
switch (_arg3){
case dirUp:
_local4 = 0;
_local5 = -1;
break;
case dirDown:
_local4 = 0;
_local5 = 1;
break;
case dirLeft:
_local4 = -1;
_local5 = 0;
break;
case dirRight:
_local4 = 1;
_local5 = 0;
break;
};
if (((((((((_arg1 + _local4) > 20)) || (((_arg1 + _local4) < 1)))) || (((_arg2 + _local5) > 13)))) || (((_arg2 + _local5) < 1)))){
return (null);
};
_local6 = 0;
while (_local6 < app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)].length) {
if (app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6].CanManipulate){
return (app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6]);
};
_local6++;
};
return (null);
}
public function ReturnState():void{
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].splice(app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].indexOf(this), 1);
CurrX = PosX;
CurrY = PosY;
x = ((CurrX - 1) * 25);
y = ((CurrY - 1) * 25);
CanTake = oldCanTake;
CanPass = oldCanPass;
CanPullout = oldCanPullout;
CanManipulate = oldCanManipulate;
CanDrop = oldCanDrop;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].push(this);
}
public function Manipulate():void{
}
public function GetCanPullout(_arg1:int, _arg2:int, _arg3:int):Boolean{
var _local4:int;
var _local5:int;
var _local6:int;
switch (_arg3){
case dirUp:
_local4 = 0;
_local5 = -1;
break;
case dirDown:
_local4 = 0;
_local5 = 1;
break;
case dirLeft:
_local4 = -1;
_local5 = 0;
break;
case dirRight:
_local4 = 1;
_local5 = 0;
break;
};
if (((((((((_arg1 + _local4) > 20)) || (((_arg1 + _local4) < 1)))) || (((_arg2 + _local5) > 13)))) || (((_arg2 + _local5) < 1)))){
return (false);
};
var _local7:Boolean;
_local6 = 0;
while (_local6 < app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)].length) {
if (!app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6].CanPullout){
_local7 = false;
};
_local6++;
};
return (_local7);
}
public function SortElements():void{
var _local1:int;
var _local8:Element;
var _local9:Element;
var _local2 = -1;
var _local3:int;
var _local4:Boolean;
var _local5 = 1;
while (_local5 < app.enviroment.fieldEnv.numChildren) {
_local1 = (_local5 - 1);
while (_local1 >= 0) {
_local8 = (app.enviroment.fieldEnv.getChildAt(_local1) as Element);
_local9 = (app.enviroment.fieldEnv.getChildAt((_local1 + 1)) as Element);
if (_local8.ZOrder > _local9.ZOrder){
app.enviroment.fieldEnv.addChildAt(_local9, _local1);
} else {
break;
};
_local1--;
};
_local5++;
};
var _local6:int = app.enviroment.tank.PosX;
var _local7:int = app.enviroment.tank.PosY;
_local1 = 0;
while (_local1 < app.enviroment.elementsOnField[(_local6 - 1)][(_local7 - 1)].length) {
if (app.enviroment.elementsOnField[(_local6 - 1)][(_local7 - 1)][_local1].ID == elmHeadquater){
app.enviroment.elementsOnField[(_local6 - 1)][(_local7 - 1)][_local1].alpha = 0.5;
};
_local1++;
};
}
protected function IOffPlace(_arg1:Element):void{
}
public function StartAnimation():Boolean{
if (IWantAnimate){
IWantAnimate = false;
return (true);
};
return (false);
}
protected function IOnPlace(_arg1:Element):void{
}
public function Destroy():void{
var _local1:int;
while (_local1 < layerImg.length) {
if (layerImg[_local1].parent != null){
layerImg[_local1].parent.removeChild(layerImg[_local1]);
};
_local1++;
};
layerImg.splice(0, layerImg.length);
if (parent != null){
parent.removeChild(this);
};
}
public function GetCanPass(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean=true):Boolean{
var _local5:int;
var _local6:int;
var _local7:int;
var _local9:Element;
switch (_arg3){
case dirUp:
_local5 = 0;
_local6 = -1;
break;
case dirDown:
_local5 = 0;
_local6 = 1;
break;
case dirLeft:
_local5 = -1;
_local6 = 0;
break;
case dirRight:
_local5 = 1;
_local6 = 0;
break;
};
if (((((((((_arg1 + _local5) > 20)) || (((_arg1 + _local5) < 1)))) || (((_arg2 + _local6) > 13)))) || (((_arg2 + _local6) < 1)))){
return (false);
};
if (((_arg1 + _local5) - 1) >= 1){
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) - 1)][((_arg2 + _local6) - 1)].length) {
if (((app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) - 1)][((_arg2 + _local6) - 1)][_local7].IWantAnimate) && ((app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) - 1)][((_arg2 + _local6) - 1)][_local7].AnimID == animMoveRight)))){
return (false);
};
_local7++;
};
};
if (((_arg1 + _local5) + 1) <= 20){
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) + 1)][((_arg2 + _local6) - 1)].length) {
if (((app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) + 1)][((_arg2 + _local6) - 1)][_local7].IWantAnimate) && ((app.enviroment.elementsOnField[(((_arg1 + _local5) - 1) + 1)][((_arg2 + _local6) - 1)][_local7].AnimID == animMoveLeft)))){
return (false);
};
_local7++;
};
};
if (((_arg2 + _local6) - 1) >= 1){
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) - 1)].length) {
if (((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) - 1)][_local7].IWantAnimate) && ((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) - 1)][_local7].AnimID == animMoveDown)))){
return (false);
};
_local7++;
};
};
if (((_arg2 + _local6) + 1) <= 13){
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) + 1)].length) {
if (((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) + 1)][_local7].IWantAnimate) && ((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][(((_arg2 + _local6) - 1) + 1)][_local7].AnimID == animMoveUp)))){
return (false);
};
_local7++;
};
};
if (_arg4){
rememberX = (_arg1 + _local5);
rememberY = (_arg2 + _local6);
} else {
if ((((rememberX == (_arg1 + _local5))) && ((rememberY == (_arg2 + _local6))))){
return (true);
};
};
var _local8:Boolean;
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)].length) {
if (((!(app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)][_local7].CanPass)) && (((((!(app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)][_local7].IWantAnimate)) || ((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)][_local7].AnimID < animMoveRight)))) || ((app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)][_local7].AnimID > animMoveUp)))))){
_local8 = false;
};
_local7++;
};
if (!_local8){
_local7 = 0;
while (_local7 < app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)].length) {
_local9 = app.enviroment.elementsOnField[((_arg1 + _local5) - 1)][((_arg2 + _local6) - 1)][_local7];
if (((((((_local9.CanTake) && (_local9.IWantAnimate))) && ((_local9.AnimID >= animMoveRight)))) && ((_local9.AnimID <= animMoveUp)))){
if ((((((((((_arg3 == dirDown)) && (!((_local9.AnimID == animMoveUp))))) || ((((_arg3 == dirLeft)) && (!((_local9.AnimID == animMoveRight))))))) || ((((_arg3 == dirRight)) && (!((_local9.AnimID == animMoveLeft))))))) || ((((_arg3 == dirUp)) && (!((_local9.AnimID == animMoveDown))))))){
return (true);
};
} else {
if (_local9.ID == elmScrollPad){
if (((((((((((_local9 as ScrollPad).direction == dirUp)) && ((_arg3 == dirDown)))) || (((((_local9 as ScrollPad).direction == dirDown)) && ((_arg3 == dirUp)))))) || (((((_local9 as ScrollPad).direction == dirLeft)) && ((_arg3 == dirRight)))))) || (((((_local9 as ScrollPad).direction == dirRight)) && ((_arg3 == dirLeft)))))){
return (false);
};
return (GetCanPass((_arg1 + _local5), (_arg2 + _local6), (_local9 as ScrollPad).direction, false));
};
};
_local7++;
};
};
return (_local8);
}
public function SaveState():void{
PosX = CurrX;
PosY = CurrY;
x = ((CurrX - 1) * 25);
y = ((CurrY - 1) * 25);
oldCanTake = CanTake;
oldCanPass = CanPass;
oldCanPullout = CanPullout;
oldCanManipulate = CanManipulate;
oldCanDrop = CanDrop;
}
protected function FillImage():void{
}
public function GetCanTake(_arg1:int, _arg2:int, _arg3:int):Element{
var _local4:int;
var _local5:int;
var _local6:int;
switch (_arg3){
case dirUp:
_local4 = 0;
_local5 = -1;
break;
case dirDown:
_local4 = 0;
_local5 = 1;
break;
case dirLeft:
_local4 = -1;
_local5 = 0;
break;
case dirRight:
_local4 = 1;
_local5 = 0;
break;
};
if (((((((((_arg1 + _local4) > 20)) || (((_arg1 + _local4) < 1)))) || (((_arg2 + _local5) > 13)))) || (((_arg2 + _local5) < 1)))){
return (null);
};
_local6 = 0;
while (_local6 < app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)].length) {
if (app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6].CanTake){
return (app.enviroment.elementsOnField[((_arg1 + _local4) - 1)][((_arg2 + _local5) - 1)][_local6]);
};
_local6++;
};
return (null);
}
}
}//package Elements
Section 8
//Headquater (Elements.Headquater)
package Elements {
public class Headquater extends Element {
public function Headquater(_arg1:int, _arg2:int){
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = true;
super(_arg1, _arg2, elmHeadquater, 1);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementHeadquater());
}
override protected function IOnPlace(_arg1:Element):void{
if ((((_arg1.ID == elmTank)) && (((app.enviroment.commands.length - app.enviroment.animControl.currCommand) <= 4)))){
app.enviroment.animControl.baseIsReached = true;
};
}
}
}//package Elements
Section 9
//PowerDown (Elements.PowerDown)
package Elements {
import flash.display.*;
public class PowerDown extends Element {
public var Active:Boolean;// = true
public var ActivePrev:Boolean;// = true
public var Type:int;
public static var typeDark:int = 2;
public static var typeLight:int = 3;
public static var typeInvUD:int = 1;
public static var typeInvLR:int = 0;
public function PowerDown(_arg1:int, _arg2:int, _arg3:int){
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = false;
Type = _arg3;
super(_arg1, _arg2, elmPowerDown, 6);
SetState(true);
}
override public function ReturnState():void{
super.ReturnState();
SetState(ActivePrev);
app.enviroment.activePowerPnl.Show();
}
override public function StopAnimation():void{
super.StopAnimation();
SetState(Active);
}
override public function Update(_arg1:Number):void{
alpha = (1 - _arg1);
}
public function SetState(_arg1:Boolean):void{
Active = _arg1;
CanDrop = !(_arg1);
alpha = (_arg1) ? 1 : 0;
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementPowerDown1());
switch (Type){
case typeInvLR:
layerImg.push(new Resources.imgElementPowerDown5());
break;
case typeInvUD:
layerImg.push(new Resources.imgElementPowerDown2());
break;
case typeDark:
layerImg.push(new Resources.imgElementPowerDown3());
break;
case typeLight:
layerImg.push(new Resources.imgElementPowerDown4());
break;
default:
layerImg.push(new Bitmap(new BitmapData(15, 15)));
break;
};
}
override public function SaveState():void{
super.SaveState();
ActivePrev = Active;
app.enviroment.activePowerPnl.Show();
}
override protected function IOnPlace(_arg1:Element):void{
if (((Active) && ((_arg1.ID == elmTank)))){
if (Type == typeInvLR){
(_arg1 as Tank).invertedLR = !((_arg1 as Tank).invertedLR);
} else {
if (Type == typeInvUD){
(_arg1 as Tank).invertedUD = !((_arg1 as Tank).invertedUD);
} else {
if (Type == typeDark){
if (!(_arg1 as Tank).isDark){
(_arg1 as Tank).isDark = true;
(_arg1 as Tank).AnimID = animAnimate1;
(_arg1 as Tank).IWantAnimate = true;
};
} else {
if (Type == typeLight){
if ((_arg1 as Tank).isDark){
(_arg1 as Tank).isDark = false;
(_arg1 as Tank).AnimID = animAnimate2;
(_arg1 as Tank).IWantAnimate = true;
};
};
};
};
};
IWantAnimate = true;
AnimID = animAnimate1;
Active = false;
app.enviroment.activePowerPnl.Show();
};
}
}
}//package Elements
Section 10
//ScrollPad (Elements.ScrollPad)
package Elements {
import flash.display.*;
import flash.geom.*;
public class ScrollPad extends Element {
private var scrollImg:Bitmap;
public var direction:int;
public function ScrollPad(_arg1:int, _arg2:int, _arg3:int){
scrollImg = new Bitmap(new BitmapData(25, 25));
direction = dirRight;
CanTake = false;
CanPass = true;
CanPullout = true;
CanManipulate = false;
CanDrop = true;
super(_arg1, _arg2, elmScrollPad, 1);
SetState(_arg3);
}
public function CreateAnimation():void{
var _local1:int;
while (_local1 < app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)].length) {
if (app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].ID != elmScrollPad){
if (((app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate) || (app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IsCarryByTank))){
} else {
if (direction == dirUp){
if (GetCanPass(CurrX, CurrY, direction)){
IWantAnimate = true;
AnimID = animAnimate1;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate = true;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].AnimID = animMoveUp;
};
} else {
if (direction == dirDown){
if (GetCanPass(CurrX, CurrY, direction)){
IWantAnimate = true;
AnimID = animAnimate1;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate = true;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].AnimID = animMoveDown;
};
} else {
if (direction == dirLeft){
if (GetCanPass(CurrX, CurrY, direction)){
IWantAnimate = true;
AnimID = animAnimate1;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate = true;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].AnimID = animMoveLeft;
};
} else {
if (direction == dirRight){
if (GetCanPass(CurrX, CurrY, direction)){
IWantAnimate = true;
AnimID = animAnimate1;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate = true;
app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].AnimID = animMoveRight;
};
};
};
};
};
if (((((app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].IWantAnimate) && ((app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].ID == elmTank)))) && (!(((app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1] as Tank).carriedElm == null))))){
(app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1] as Tank).carriedElm.IWantAnimate = true;
(app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1] as Tank).carriedElm.AnimID = app.enviroment.elementsOnField[(CurrX - 1)][(CurrY - 1)][_local1].AnimID;
};
};
};
_local1++;
};
}
public function DrawScroll(_arg1:Number):void{
var _local2:BitmapData = new Resources.imgElementScrollPad1().bitmapData;
var _local3:int = ((PosX - 1) % 4);
if ((((direction == dirUp)) || ((direction == dirDown)))){
_local3 = ((PosY - 1) % 4);
};
_local3 = (_local3 * 5);
_local3 = (_local3 - int((20 * _arg1)));
if (_local3 < 0){
_local3 = (_local3 + 20);
};
scrollImg.bitmapData.copyPixels(_local2, new Rectangle(_local3, 0, 25, 25), new Point(0, 0));
}
public function SetState(_arg1:int):void{
direction = _arg1;
if ((((direction == dirUp)) || ((direction == dirDown)))){
layerImg[1].bitmapData.copyPixels(new Resources.imgElementScrollPad3().bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
};
if (direction == dirUp){
layerImg[0].rotation = -90;
layerImg[0].x = 0;
layerImg[0].y = 25;
} else {
if (direction == dirDown){
layerImg[0].rotation = 90;
layerImg[0].x = 25;
layerImg[0].y = 0;
} else {
if (direction == dirLeft){
layerImg[0].rotation = 180;
layerImg[0].x = 25;
layerImg[0].y = 25;
} else {
if (direction == dirRight){
layerImg[0].rotation = 0;
layerImg[0].x = 0;
layerImg[0].y = 0;
};
};
};
};
DrawScroll(0);
}
override protected function FillImage():void{
var _local1:BitmapData = new Resources.imgElementScrollPad1().bitmapData;
var _local2:int = ((PosX - 1) % 4);
_local2 = (_local2 * 5);
scrollImg.bitmapData.copyPixels(_local1, new Rectangle(_local2, 0, 25, 25), new Point(0, 0));
layerImg.push(scrollImg);
layerImg.push(new Resources.imgElementScrollPad2());
}
override public function Update(_arg1:Number):void{
DrawScroll(_arg1);
}
}
}//package Elements
Section 11
//Switch (Elements.Switch)
package Elements {
import flash.display.*;
import flash.geom.*;
public class Switch extends Element {
public var onLeftOld:Boolean;
public var DoorsIDs:Array;
public var onLeft:Boolean;
private static var Switch1st:BitmapData = null;
private static var Switch2st:BitmapData = null;
public function Switch(_arg1:int, _arg2:int, _arg3:Array, _arg4:Boolean){
DoorsIDs = new Array();
CanTake = false;
CanPass = false;
CanPullout = true;
CanManipulate = true;
CanDrop = false;
super(_arg1, _arg2, elmSwitch, 1);
if (Switch1st == null){
Switch1st = new Resources.imgElementSwitch1().bitmapData;
Switch2st = new Resources.imgElementSwitch2().bitmapData;
};
DoorsIDs = _arg3;
onLeftOld = _arg4;
SetState(_arg4);
}
override public function ReturnState():void{
super.ReturnState();
SetState(onLeftOld);
}
override public function SaveState():void{
super.SaveState();
onLeftOld = onLeft;
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementSwitch1());
}
override public function Manipulate():void{
var _local2:int;
var _local1:int;
while (_local1 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local1].ID == elmDoor){
_local2 = 0;
while (_local2 < DoorsIDs.length) {
if ((app.enviroment.elements[_local1] as Door).DoorID == DoorsIDs[_local2]){
(app.enviroment.elements[_local1] as Door).Switch();
};
_local2++;
};
};
_local1++;
};
SetState(!(onLeft));
}
public function SetState(_arg1:Boolean):void{
onLeft = _arg1;
layerImg[0].bitmapData.copyPixels((onLeft) ? Switch1st : Switch2st, new Rectangle(0, 0, 25, 25), new Point(0, 0));
}
}
}//package Elements
Section 12
//Tank (Elements.Tank)
package Elements {
import flash.geom.*;
import Tools.*;
public class Tank extends Element {
public var isDark:Boolean;// = false
public var invertedUD:Boolean;// = false
public var direction:int;
public var invertedLRPrev:Boolean;// = false
public var darkElm:Dark;
public var isDarkPrev:Boolean;// = false
public var invertedUDPrev:Boolean;// = false
public var carriedElm:Element;// = null
public var carriedElmPrev:Element;// = null
public var invertedLR:Boolean;// = false
public function Tank(_arg1:int, _arg2:int, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean){
direction = dirUp;
CanTake = true;
CanPass = true;
CanPullout = true;
CanManipulate = true;
CanDrop = true;
isDark = _arg3;
isDarkPrev = _arg3;
invertedLR = _arg4;
invertedLRPrev = _arg4;
invertedUD = _arg5;
invertedUDPrev = _arg5;
super(_arg1, _arg2, elmTank, 5);
app.enviroment.tank = this;
SetState(dirUp);
darkElm = new Dark(_arg1, _arg2);
darkElm.alpha = (isDark) ? 1 : 0;
}
override public function StopAnimation():void{
var _local1:Element;
super.StopAnimation();
darkElm.UpdateMask(((CurrX - 1) * 25), ((CurrY - 1) * 25));
switch (AnimID){
case animRotateLeft:
direction--;
if (direction < 0){
direction = 3;
};
SetState(direction);
break;
case animRotateRight:
direction++;
if (direction > 3){
direction = 0;
};
SetState(direction);
break;
};
if (((((AnimID == AnimID) == animPullIn)) || ((AnimID == animPullOutIn)))){
SetState(direction);
};
if (AnimID == animPullOut){
AnimID = animPullIn;
if (carriedElm == null){
carriedElm = GetCanTake(CurrX, CurrY, direction);
if (carriedElm == null){
_local1 = GetCanManipulate(CurrX, CurrY, direction);
if (_local1 != null){
_local1.Manipulate();
} else {
SetWrong();
};
} else {
carriedElm.IsCarryByTank = true;
carriedElm.IWantAnimate = true;
switch (direction){
case dirUp:
carriedElm.AnimID = dirDown;
break;
case dirDown:
carriedElm.AnimID = dirUp;
break;
case dirLeft:
carriedElm.AnimID = dirRight;
break;
case dirRight:
carriedElm.AnimID = dirLeft;
break;
};
};
} else {
carriedElm.IsCarryByTank = false;
carriedElm = null;
};
};
darkElm.alpha = ((darkElm.alpha)>0.5) ? 1 : 0;
}
public function CreateAnimation(_arg1:int):void{
var _local2:int;
if (_arg1 == app.enviroment.CMD_Forward){
_local2 = direction;
if (invertedUD){
if (direction == dirUp){
direction = dirDown;
} else {
if (direction == dirDown){
direction = dirUp;
} else {
if (direction == dirLeft){
direction = dirRight;
} else {
if (direction == dirRight){
direction = dirLeft;
};
};
};
};
};
switch (direction){
case dirUp:
if (GetCanPass(CurrX, CurrY, direction)){
AnimID = animMoveUp;
} else {
AnimID = animMoveUpDown;
};
break;
case dirDown:
if (GetCanPass(CurrX, CurrY, direction)){
AnimID = animMoveDown;
} else {
AnimID = animMoveDownUp;
};
break;
case dirLeft:
if (GetCanPass(CurrX, CurrY, direction)){
AnimID = animMoveLeft;
} else {
AnimID = animMoveLeftRight;
};
break;
case dirRight:
if (GetCanPass(CurrX, CurrY, direction)){
AnimID = animMoveRight;
} else {
AnimID = animMoveRightLeft;
};
break;
};
direction = _local2;
if (carriedElm != null){
carriedElm.IWantAnimate = true;
carriedElm.AnimID = AnimID;
};
if ((((AnimID >= animMoveRightLeft)) && ((AnimID <= animMoveUpDown)))){
SetWrong();
};
} else {
if (_arg1 == app.enviroment.CMD_Left){
if (invertedLR){
AnimID = animRotateRight;
} else {
AnimID = animRotateLeft;
};
} else {
if (_arg1 == app.enviroment.CMD_Right){
if (invertedLR){
AnimID = animRotateLeft;
} else {
AnimID = animRotateRight;
};
} else {
if (_arg1 == app.enviroment.CMD_Manipulate){
if (carriedElm == null){
if (GetCanPullout(CurrX, CurrY, direction)){
AnimID = animPullOut;
} else {
AnimID = animPullOutIn;
SetWrong();
};
} else {
if (GetCanDrop(CurrX, CurrY, direction)){
AnimID = animPullOut;
carriedElm.IWantAnimate = true;
switch (direction){
case dirUp:
carriedElm.AnimID = animMoveUp;
break;
case dirDown:
carriedElm.AnimID = animMoveDown;
break;
case dirLeft:
carriedElm.AnimID = animMoveLeft;
break;
case dirRight:
carriedElm.AnimID = animMoveRight;
break;
};
} else {
AnimID = animPullOutIn;
carriedElm.IWantAnimate = true;
switch (direction){
case dirUp:
carriedElm.AnimID = animMoveUpDown;
break;
case dirDown:
carriedElm.AnimID = animMoveDownUp;
break;
case dirLeft:
carriedElm.AnimID = animMoveLeftRight;
break;
case dirRight:
carriedElm.AnimID = animMoveRightLeft;
break;
};
SetWrong();
};
};
};
};
};
};
IWantAnimate = true;
}
override public function ReturnState():void{
super.ReturnState();
if (carriedElm != null){
carriedElm.IsCarryByTank = false;
};
carriedElm = carriedElmPrev;
if (carriedElm != null){
carriedElm.IsCarryByTank = true;
};
SetState(dirUp);
darkElm.UpdateMask(((CurrX - 1) * 25), ((CurrY - 1) * 25));
invertedLR = invertedLRPrev;
invertedUD = invertedUDPrev;
isDark = isDarkPrev;
darkElm.alpha = (isDark) ? 1 : 0;
app.enviroment.activePowerPnl.Show();
}
override public function StartAnimation():Boolean{
if (IWantAnimate){
if (AnimID == animPullOut){
IWantAnimate = true;
} else {
IWantAnimate = false;
};
return (true);
//unresolved jump
};
return (false);
}
override public function Update(_arg1:Number):void{
var _local2:int;
var _local3:Point;
var _local4:Number;
super.Update(_arg1);
switch (AnimID){
case animRotateLeft:
layerImg[0].rotation = (((direction + 1) * 90) - (90 * _arg1));
_local2 = (((direction - 1))<0) ? 3 : (direction - 1);
break;
case animRotateRight:
layerImg[0].rotation = (((direction + 1) * 90) + (90 * _arg1));
_local2 = (((direction + 1))>3) ? 0 : (direction + 1);
break;
case animMoveUp:
darkElm.UpdateMask(((CurrX - 1) * 25), (((CurrY - 1) * 25) - (25 * _arg1)));
break;
case animMoveDown:
darkElm.UpdateMask(((CurrX - 1) * 25), (((CurrY - 1) * 25) + (25 * _arg1)));
break;
case animMoveLeft:
darkElm.UpdateMask((((CurrX - 1) * 25) - (25 * _arg1)), ((CurrY - 1) * 25));
break;
case animMoveRight:
darkElm.UpdateMask((((CurrX - 1) * 25) + (25 * _arg1)), ((CurrY - 1) * 25));
break;
case animAnimate1:
darkElm.alpha = _arg1;
break;
case animAnimate2:
darkElm.alpha = (1 - _arg1);
break;
};
if ((((((AnimID == animPullOut)) || ((AnimID == animPullIn)))) || ((AnimID == animPullOutIn)))){
_local3 = Utils.GetRotationOffset(layerImg[2].rotation, 12.5, 12.5);
_local4 = ((((AnimID == animPullIn)) || ((((AnimID == animPullOutIn)) && ((_arg1 >= 0.5)))))) ? (1 - _arg1) : _arg1;
layerImg[1].x = _local3.x;
layerImg[1].y = _local3.y;
switch (direction){
case dirUp:
layerImg[0].y = (_local3.y - (18 * _local4));
if (_local4 > 0.5){
layerImg[1].y = ((_local3.y + 7) - (18 * _local4));
};
break;
case dirDown:
layerImg[0].y = (_local3.y + (18 * _local4));
if (_local4 > 0.5){
layerImg[1].y = ((_local3.y - 7) + (18 * _local4));
};
break;
case dirLeft:
layerImg[0].x = (_local3.x - (18 * _local4));
if (_local4 > 0.5){
layerImg[1].x = ((_local3.x + 7) - (18 * _local4));
};
break;
case dirRight:
layerImg[0].x = (_local3.x + (18 * _local4));
if (_local4 > 0.5){
layerImg[1].x = ((_local3.x - 7) + (18 * _local4));
};
break;
};
};
if ((((AnimID == animRotateLeft)) || ((AnimID == animRotateRight)))){
layerImg[1].rotation = layerImg[0].rotation;
layerImg[2].rotation = layerImg[0].rotation;
_local3 = Utils.GetRotationOffset(layerImg[0].rotation, 12.5, 12.5);
layerImg[0].x = _local3.x;
layerImg[0].y = _local3.y;
layerImg[1].x = _local3.x;
layerImg[1].y = _local3.y;
layerImg[2].x = _local3.x;
layerImg[2].y = _local3.y;
layerImg[0].bitmapData.copyPixels(new (Resources.imgElementTank3[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
layerImg[0].bitmapData.merge(new (Resources.imgElementTank3[_local2]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF));
if ((int((_arg1 * 10)) % 2) >= 1){
layerImg[2].bitmapData.copyPixels(new (Resources.imgElementTank1[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
layerImg[2].bitmapData.merge(new (Resources.imgElementTank1[_local2]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF));
} else {
layerImg[2].bitmapData.copyPixels(new (Resources.imgElementTank2[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
layerImg[2].bitmapData.merge(new (Resources.imgElementTank2[_local2]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF), (_arg1 * 0xFF));
};
} else {
if ((((AnimID >= animMoveRight)) && ((AnimID <= animMoveUpDown)))){
if ((int((_arg1 * 10)) % 2) >= 1){
layerImg[2].bitmapData.copyPixels(new (Resources.imgElementTank1[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
} else {
layerImg[2].bitmapData.copyPixels(new (Resources.imgElementTank2[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
};
};
};
}
override public function SaveState():void{
super.SaveState();
SetState(dirUp);
carriedElmPrev = carriedElm;
invertedLRPrev = invertedLR;
invertedUDPrev = invertedUD;
isDarkPrev = isDark;
}
public function SetState(_arg1:int):void{
direction = _arg1;
layerImg[0].bitmapData.copyPixels(new (Resources.imgElementTank3[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
layerImg[1].bitmapData.copyPixels(new (Resources.imgElementTank3[direction]).bitmapData, new Rectangle(0, 15, 25, 10), new Point(0, 15));
layerImg[2].bitmapData.copyPixels(new (Resources.imgElementTank1[direction]).bitmapData, new Rectangle(0, 0, 25, 25), new Point(0, 0));
layerImg[0].rotation = ((direction + 1) * 90);
layerImg[1].rotation = layerImg[0].rotation;
layerImg[2].rotation = layerImg[0].rotation;
var _local2:Point = Utils.GetRotationOffset(layerImg[0].rotation, 12.5, 12.5);
layerImg[0].x = _local2.x;
layerImg[0].y = _local2.y;
layerImg[1].x = _local2.x;
layerImg[1].y = _local2.y;
layerImg[2].x = _local2.x;
layerImg[2].y = _local2.y;
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementTank43());
layerImg.push(new Resources.imgElementTank43());
layerImg.push(new Resources.imgElementTank41());
layerImg[0].smoothing = true;
layerImg[1].smoothing = true;
layerImg[2].smoothing = true;
layerImg[1].bitmapData.fillRect(new Rectangle(0, 0, 25, 15), 0xFFFFFF);
}
}
}//package Elements
Section 13
//Wall (Elements.Wall)
package Elements {
public class Wall extends Element {
public function Wall(_arg1:int, _arg2:int){
CanTake = false;
CanPass = false;
CanPullout = false;
CanManipulate = false;
CanDrop = false;
super(_arg1, _arg2, elmWall, 1);
}
override protected function FillImage():void{
layerImg.push(new Resources.imgElementWall());
}
}
}//package Elements
Section 14
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = _slot1._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!_slot1.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
_slot1._cleanup(mc);
options.ad_finished();
};
var wh:Array = _slot1._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
_slot1.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
_slot1.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = _slot1._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!_slot1.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
_slot1._cleanup(mc);
options.ad_finished();
};
var wh:Array = _slot1._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
_slot1.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
_slot1.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
_slot1.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
_slot1.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _slot1._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = _slot1.getVersion();
clip = options.clip;
if (!_slot1._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = _slot1._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
_slot1.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
_slot1.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = _slot1.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = _slot1.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}, progress_override:function (_arg1:Object):Number{
return (NaN);
}, bar_offset:0};
options = _slot1._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!_slot1.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
_slot1._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = _slot1._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = ((w - bar.x) - 10);
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
_slot1.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var progress:Number = Math.min(1, options.progress_override(clip));
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
_slot1.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
_slot1.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
_slot1.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local12:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
var _local7:Number = Math.min(1, options.progress_override(_local1));
if (_local7 == 1){
complete = true;
};
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local8:Number = ((100 * _local6) / _local5);
if (!isNaN(_local7)){
_local8 = (100 * _local7);
};
var _local9:Number = ((100 * _local3) / chk.ad_msec);
var _local10:Object = this._mochiad_bar._inside;
var _local11:Number = Math.min(100, Math.min(((_local8) || (0)), _local9));
_local11 = Math.max(this.last_pcnt, _local11);
this.last_pcnt = _local11;
_local10.scaleX = (_local11 * 0.01);
options.ad_progress(_local11);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8});
if (_local8 >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local12 > 0){
chk.showing = true;
chk.started = getTimer();
_slot1.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (unloaded){
_slot1.unload(_local1);
} else {
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
_slot1.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
_slot1.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 15
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const LOGGED_IN:String = "LoggedIn";
public static const STORE_ITEMS:String = "StoreItems";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const ITEM_NEW:String = "ItemNew";
public static const USER_INFO:String = "UserInfo";
public static const IO_ERROR:String = "IOError";
public static const ITEM_OWNED:String = "ItemOwned";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOW:String = "LoginShow";
public static const STORE_SHOW:String = "StoreShow";
public static const PROFILE_HIDE:String = "ProfileHide";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("coins_saveUserProperties", _arg1);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:_arg1});
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(_arg1:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
}
}//package mochi.as3
Section 16
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 17
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function endGame():void{
var _local1:Number = (new Date().time - gameStart);
trigger("end_game", {time:_local1});
}
public static function startGame():void{
gameStart = new Date().time;
trigger("start_game");
}
public static function trigger(_arg1:String, _arg2:Object=null):void{
if (_arg2 == null){
_arg2 = {};
} else {
if (_arg2["kind"] != undefined){
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
_arg2["kind"] = _arg1;
};
};
MochiServices.send("events_triggerEvent", {eventObject:_arg2}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startLevel():void{
levelStart = new Date().time;
trigger("start_level");
}
public static function endLevel():void{
var _local1:Number = (new Date().time - levelStart);
trigger("end_level", {time:_local1});
}
}
}//package mochi.as3
Section 18
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
public static var servicesSync:MochiSync = new MochiSync();
private static var _clip:MovieClip;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _loader:Loader;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _clip._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 _clip._callbacks[cb];
}
public static function get childClip():Object{
return (_clip);
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
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);
};
}
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().time));
_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 warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
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 {
_mochiLocalConnection.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.3 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_clip._queue))){
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 get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "sync":
servicesSync.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _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 loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_clip._queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function loadLCBridge(_arg1:Object):void{
var loader:Loader;
var clip = _arg1;
loader = new Loader();
var mochiLCURL:String = (_servURL + _mochiLC);
var req:URLRequest = new URLRequest(mochiLCURL);
var complete:Function = function (_arg1:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function get clip():Object{
return (_container);
}
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 _local3:String = ("_mochiservices_com_" + _arg1);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local4:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local4 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local4);
_clip = createEmptyMovieClip(_arg2, _local3, 10336, false);
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local5:URLRequest = new URLRequest(_local4);
var _local6:URLVariables = new URLVariables();
_local6.listenLC = _listenChannelName;
_local6.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local6.api_version = getVersion();
if (widget){
_local6.widget = true;
};
_local5.data = _local6;
_loader.load(_local5);
_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 connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 19
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_PROPERTY:String = "UpdateProperty";
public static var SYNC_REQUEST:String = "SyncRequest";
public function MochiSync():void{
_syncContainer = {};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
if (_syncContainer[_arg1] == _arg2){
return;
};
var _local3:String = _arg1.toString();
_syncContainer[_local3] = _arg2;
MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (_syncContainer[_arg1]);
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
switch (_arg1){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[_arg2.name] = _arg2.value;
break;
};
}
}
}//package mochi.as3
Section 20
//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 21
//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 22
//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 23
//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 24
//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 25
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 26
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 27
//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 28
//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 29
//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 30
//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 31
//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 32
//Utils (Tools.Utils)
package Tools {
import flash.display.*;
import flash.geom.*;
public class Utils {
private static var acosinus:Array = new Array(360);
private static var cosinus:Array = new Array(360);
private static var asinus:Array = new Array(360);
private static var sinus:Array = new Array(360);
public static var invPI:Number = 57.2957795130823;
private static var VERSION:int = 3;
public static var PI:Number = 3.14159265358979;
public static function GetCos(_arg1:int):Number{
if (_arg1 < 0){
_arg1 = (360 - (-(_arg1) % 360));
} else {
_arg1 = (_arg1 % 360);
};
if (isNaN(cosinus[_arg1])){
CreateSinCosTable();
};
return (cosinus[_arg1]);
}
public static function ArgbToUint(_arg1:Array):uint{
var _local2:uint;
_local2 = (_local2 + (_arg1[0] << 24));
_local2 = (_local2 + (_arg1[1] << 16));
_local2 = (_local2 + (_arg1[2] << 8));
_local2 = (_local2 + _arg1[3]);
return (_local2);
}
private static function CreateSinCosTable():void{
var _local1:int;
while (_local1 < 360) {
sinus[_local1] = Math.sin((_local1 / invPI));
cosinus[_local1] = Math.cos((_local1 / invPI));
asinus[_local1] = Math.asin(((_local1 / 180) - 1));
acosinus[_local1] = Math.acos(((_local1 / 180) - 1));
_local1++;
};
}
public static function GetRotationOffset(_arg1:int, _arg2:Number, _arg3:Number):Point{
var _local4:Number = Math.sqrt((Math.pow(_arg2, 2) + Math.pow(_arg3, 2)));
var _local5:Number = (GetASin((_arg3 / _local4)) * invPI);
var _local6:Point = new Point();
_local6.x = ((-(GetCos((_arg1 + _local5))) * _local4) + _arg2);
_local6.y = ((-(GetSin((_arg1 + _local5))) * _local4) + _arg3);
return (_local6);
}
public static function UintToArgb(_arg1:uint):Array{
var _local2:Array = new Array();
_local2.push(((_arg1 >> 24) & 0xFF));
_local2.push(((_arg1 >> 16) & 0xFF));
_local2.push(((_arg1 >> 8) & 0xFF));
_local2.push((_arg1 & 0xFF));
return (_local2);
}
public static function BitmapToPixelBitmap(_arg1:Bitmap, _arg2:int):void{
var _local4:Number;
var _local5:uint;
var _local6:Array;
var _local3:Number = 0;
while (_local3 < _arg1.bitmapData.width) {
_local4 = 0;
while (_local4 < _arg1.bitmapData.height) {
_local5 = _arg1.bitmapData.getPixel32(_local3, _local4);
_local6 = UintToArgb(_local5);
if ((((_local6[0] > 0)) && ((_local6[0] < 0xFF)))){
_local6[0] = ((_local6[0])<_arg2) ? 0 : 0xFF;
_local5 = ArgbToUint(_local6);
_arg1.bitmapData.setPixel32(_local3, _local4, _local5);
};
_local4++;
};
_local3++;
};
}
public static function GetASin(_arg1:Number):Number{
var _local2:int = Math.floor(((_arg1 + 1) * 180));
if (isNaN(asinus[_local2])){
CreateSinCosTable();
};
return (asinus[_local2]);
}
public static function TileImage(_arg1:BitmapData, _arg2:BitmapData, _arg3:Rectangle):void{
var _local8:int;
var _local9:int;
var _local4:int = _arg3.width;
var _local5:int = _arg3.height;
var _local6:int = _arg3.x;
var _local7:int = _arg3.y;
while (true) {
_local8 = Math.min(_arg1.width, _local4);
_local9 = Math.min(_arg1.height, _local5);
_arg2.copyPixels(_arg1, new Rectangle(0, 0, _local8, _local9), new Point(_local6, _local7), null, null, true);
_local6 = (_local6 + _local8);
_local4 = (_local4 - _local8);
if (_local4 <= 0){
_local6 = _arg3.x;
_local4 = _arg3.width;
_local7 = (_local7 + _local9);
_local5 = (_local5 - _local9);
};
if (_local5 <= 0){
break;
};
};
}
public static function GetSin(_arg1:int):Number{
if (_arg1 < 0){
_arg1 = (360 - (-(_arg1) % 360));
} else {
_arg1 = (_arg1 % 360);
};
if (isNaN(sinus[_arg1])){
CreateSinCosTable();
};
return (sinus[_arg1]);
}
public static function GetACos(_arg1:Number):Number{
var _local2:int = Math.floor(((_arg1 + 1) * 180));
if (isNaN(acosinus[_local2])){
CreateSinCosTable();
};
return (acosinus[_local2]);
}
}
}//package Tools
Section 33
//ActivePowerPanel (ActivePowerPanel)
package {
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
public class ActivePowerPanel {
public var app:Main;
private var powerDown:Array;
private var prevTimer:int;
private var show:Array;
public function ActivePowerPanel(){
app = Main.gameApp;
show = new Array(3);
powerDown = new Array(3);
super();
var _local1:Timer = new Timer(20);
prevTimer = getTimer();
_local1.addEventListener(TimerEvent.TIMER, Update);
_local1.start();
var _local2:int;
while (_local2 < powerDown.length) {
show[_local2] = false;
powerDown[_local2] = new Resources.imgActivePowerDown();
switch (_local2){
case 0:
powerDown[_local2].bitmapData.copyPixels(new Resources.imgElementPowerDown3().bitmapData, new Rectangle(0, 0, 25, 25), new Point(8, 5), null, null, true);
break;
case 1:
powerDown[_local2].bitmapData.copyPixels(new Resources.imgElementPowerDown2().bitmapData, new Rectangle(0, 0, 25, 25), new Point(8, 5), null, null, true);
break;
case 2:
powerDown[_local2].bitmapData.copyPixels(new Resources.imgElementPowerDown5().bitmapData, new Rectangle(0, 0, 25, 25), new Point(8, 5), null, null, true);
break;
};
app.layers[5].addChild(powerDown[_local2]);
powerDown[_local2].x = app.stageWidth;
powerDown[_local2].y = (60 + (_local2 * 30));
_local2++;
};
}
private function Update(_arg1:TimerEvent):void{
var _local4:int;
var _local2:int = getTimer();
var _local3:Number = ((Number((_local2 - prevTimer)) / 1000) * 30);
prevTimer = _local2;
_local4 = 0;
while (_local4 < powerDown.length) {
if (((show[_local4]) && ((powerDown[_local4].x > (app.stageWidth - 34))))){
if ((powerDown[_local4].x - _local3) < (app.stageWidth - 34)){
powerDown[_local4].x = (app.stageWidth - 34);
} else {
powerDown[_local4].x = (powerDown[_local4].x - _local3);
};
} else {
if (((!(show[_local4])) && ((powerDown[_local4].x < app.stageWidth)))){
if ((powerDown[_local4].x + _local3) > app.stageWidth){
powerDown[_local4].x = app.stageWidth;
} else {
powerDown[_local4].x = (powerDown[_local4].x + _local3);
};
};
};
_local4++;
};
}
public function Show():void{
show[0] = app.enviroment.tank.isDark;
show[1] = app.enviroment.tank.invertedUD;
show[2] = app.enviroment.tank.invertedLR;
}
public function Hide():void{
var _local1:int;
while (_local1 < show.length) {
show[_local1] = false;
_local1++;
};
}
}
}//package
Section 34
//AnimationControl (AnimationControl)
package {
import flash.events.*;
import Elements.*;
import flash.utils.*;
public class AnimationControl {
private var animatedElements:Array;
public var commandCount:int;
public var stageHeight:Number;
private var animAfterAllExecuted:Boolean;
private var prevTimer:int;
private var timer:Timer;
private var iteration:int;
public var app:Main;
public var start:Boolean;// = false
public var animationSpeed:Number;// = 1
public var stageWidth:Number;
private var animPhase:Number;
public var baseIsReached:Boolean;// = false
public var currCommand:int;
public function AnimationControl(){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
timer = new Timer(20);
animatedElements = new Array();
super();
timer.addEventListener(TimerEvent.TIMER, AllUpdate);
timer.start();
}
public function Start():void{
var _local2:int;
var _local3:int;
var _local4:int;
if (app.enviroment.commands.length == 0){
Stop(false);
return;
};
var _local1:int;
while (_local1 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local1].ID == Element.elmTank){
_local2 = app.enviroment.elements[_local1].CurrX;
_local3 = app.enviroment.elements[_local1].CurrY;
_local4 = 0;
while (_local4 < app.enviroment.elementsOnField[(_local2 - 1)][(_local3 - 1)].length) {
if (app.enviroment.elementsOnField[(_local2 - 1)][(_local3 - 1)][_local4].ID == Element.elmHeadquater){
app.enviroment.elementsOnField[(_local2 - 1)][(_local3 - 1)][_local4].alpha = 1;
break;
};
_local4++;
};
break;
};
_local1++;
};
currCommand = 0;
commandCount = 0;
iteration = 0;
animAfterAllExecuted = false;
NextIteration();
start = true;
}
public function Stop(_arg1:Boolean):void{
var _local2:int;
var _local4:int;
var _local5:int;
var _local6:Boolean;
baseIsReached = false;
start = false;
if (_arg1){
app.enviroment.commands.splice(0, app.enviroment.commands.length);
};
app.enviroment.bottomPanel.PrepareToStop();
if (_arg1){
_local2 = 0;
while (_local2 < app.enviroment.elements.length) {
app.enviroment.elements[_local2].SaveState();
_local2++;
};
} else {
_local2 = 0;
while (_local2 < app.enviroment.elements.length) {
app.enviroment.elements[_local2].ReturnState();
_local2++;
};
};
var _local3:int;
while (_local3 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local3].ID == Element.elmTank){
_local4 = app.enviroment.elements[_local3].CurrX;
_local5 = app.enviroment.elements[_local3].CurrY;
_local2 = 0;
while (_local2 < app.enviroment.elementsOnField[(_local4 - 1)][(_local5 - 1)].length) {
if (app.enviroment.elementsOnField[(_local4 - 1)][(_local5 - 1)][_local2].ID == Element.elmHeadquater){
app.enviroment.elementsOnField[(_local4 - 1)][(_local5 - 1)][_local2].alpha = 0.5;
break;
};
_local2++;
};
break;
};
_local3++;
};
if (_arg1){
_local6 = true;
_local2 = 0;
while (_local2 < app.enviroment.elements.length) {
if ((((app.enviroment.elements[_local2].ID == Element.elmCapsuleHole)) && (!((app.enviroment.elements[_local2] as CapsuleHole).IsFull())))){
_local6 = false;
break;
};
_local2++;
};
if (_local6){
app.enviroment.windows[2].Show();
};
};
}
public function NextIteration():void{
var _local1:int;
animPhase = 0;
if (iteration == 0){
app.enviroment.tank.CreateAnimation(app.enviroment.commands[currCommand].command);
};
animatedElements.splice(0, animatedElements.length);
_local1 = 0;
while (_local1 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local1].StartAnimation()){
animatedElements.push(app.enviroment.elements[_local1]);
};
_local1++;
};
if (animatedElements.length == 0){
if (!animAfterAllExecuted){
animAfterAllExecuted = true;
_local1 = 0;
while (_local1 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local1].ID == Element.elmScrollPad){
app.enviroment.elements[_local1].CreateAnimation();
};
_local1++;
};
NextIteration();
return;
};
if (animatedElements.length == 0){
iteration = 0;
animAfterAllExecuted = false;
commandCount++;
if (commandCount >= app.enviroment.commands[currCommand].count){
currCommand++;
commandCount = 0;
if (currCommand >= app.enviroment.commands.length){
start = false;
app.enviroment.windows[1].Show();
return;
};
app.enviroment.bottomPanel.Select(currCommand);
app.enviroment.bottomPanel.RebuildScrollButtons();
};
NextIteration();
return;
};
};
}
private function AllUpdate(_arg1:TimerEvent):void{
var _local4:int;
var _local2:int = getTimer();
var _local3:Number = (Number((_local2 - prevTimer)) / 1000);
prevTimer = _local2;
if (start){
animPhase = (animPhase + ((_local3 * 1.5) * animationSpeed));
if (animPhase > 1){
_local4 = 0;
while (_local4 < animatedElements.length) {
animatedElements[_local4].StopAnimation();
_local4++;
};
if (baseIsReached){
Stop(true);
} else {
iteration++;
NextIteration();
};
return;
};
_local4 = 0;
while (_local4 < animatedElements.length) {
animatedElements[_local4].Update(animPhase);
_local4++;
};
};
}
}
}//package
Section 35
//BannerButton (BannerButton)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class BannerButton extends Sprite {
public var app:Main;
public var ID:int;
public function BannerButton(_arg1:int){
app = Main.gameApp;
super();
ID = _arg1;
var _local2:Bitmap = new (Resources.imgBanners[ID]);
addChild(_local2);
var _local3:Shape = new Shape();
_local3.graphics.beginFill(0, 0);
_local3.graphics.drawRect(0, 0, 300, 225);
var _local4:SimpleButton = new SimpleButton(_local3, _local3, _local3, _local3);
_local4.addEventListener(MouseEvent.CLICK, onClick);
addChild(_local4);
}
private function onClick(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(app.siteURLs[ID]));
}
}
}//package
Section 36
//BottomPanel (BottomPanel)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class BottomPanel extends Sprite {
public var stageHeight:Number;
public var mainButtons:Array;
public var alreadyPrepare:Boolean;// = true
public var scrollPosition:int;
public var navigateButtons:Array;
public var app:Main;
public var stageWidth:Number;
public var selectedCommand:int;
public var selectedSpeed:int;// = -1
public var scrollButtons:Array;
public function BottomPanel(){
var _local2:Bitmap;
var _local3:Bitmap;
var _local4:Bitmap;
var _local5:Shape;
var _local6:int;
var _local8:int;
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
mainButtons = new Array(7);
navigateButtons = new Array(2);
scrollButtons = new Array(20);
super();
var _local1:Bitmap = new Resources.imgBPBackground();
_local1.y = (stageHeight - _local1.height);
addChild(_local1);
var _local7:int;
var _local9:BitmapData = new Resources.imgBPIcons().bitmapData;
var _local10:BitmapData = new Resources.imgBPSquareButtons().bitmapData;
_local6 = 0;
while (_local6 < 10) {
switch (_local6){
case 0:
_local8 = 0;
break;
case 1:
_local8 = 0;
break;
case 2:
_local8 = 0;
break;
case 3:
_local8 = 2;
break;
case 4:
_local8 = 1;
break;
case 5:
_local8 = 0;
break;
case 6:
_local8 = 0;
break;
case 7:
_local8 = 0;
break;
case 8:
_local8 = 0;
break;
case 9:
_local8 = 0;
break;
};
_local7 = _local6;
if (_local6 >= 6){
_local7++;
};
_local2 = new Bitmap(new BitmapData(23, 23, true, 0xFFFFFF));
_local2.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 46), 0, 23, 23), new Point(0, 0), null, null, true);
_local2.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(3, 3), null, null, true);
_local3 = new Bitmap(new BitmapData(23, 23, true, 0xFFFFFF));
_local3.bitmapData.copyPixels(_local10, new Rectangle(((_local8 * 46) + 23), 0, 23, 23), new Point(0, 0), null, null, true);
_local3.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(4, 4), null, null, true);
_local3.bitmapData.copyPixels(_local10, new Rectangle((3 * 46), 0, 23, 23), new Point(0, 0), null, null, true);
_local4 = new Bitmap(new BitmapData(23, 23, true, 0xFFFFFF));
_local4.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 46), 0, 23, 23), new Point(0, 0), null, null, true);
_local4.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(3, 3), null, null, true);
_local4.bitmapData.copyPixels(_local10, new Rectangle((3 * 46), 0, 23, 23), new Point(0, 0), null, null, true);
_local5 = new Shape();
_local5.graphics.beginFill(0, 1);
_local5.graphics.moveTo(2, 2);
_local5.graphics.lineTo(2, 19);
_local5.graphics.lineTo(19, 19);
_local5.graphics.lineTo(19, 2);
_local5.graphics.lineTo(2, 2);
mainButtons[_local6] = new SimpleButton(_local2, _local4, _local3, _local5);
addChild(mainButtons[_local6]);
mainButtons[_local6].x = (3 + (_local6 * 22));
mainButtons[_local6].y = 376;
switch (_local6){
case 0:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onLeftClick);
break;
case 1:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onForwardClick);
break;
case 2:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onRightClick);
break;
case 3:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onManipulateClick);
break;
case 4:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onDeleteClick);
break;
case 5:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onSpeed2Click);
break;
case 6:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onSpeed5Click);
break;
case 7:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onSpeed1Click);
break;
case 8:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onSpeed3Click);
break;
case 9:
mainButtons[_local6].addEventListener(MouseEvent.CLICK, onSpeed4Click);
break;
};
_local7++;
_local6++;
};
_local10 = new Resources.imgBPRoundButtons().bitmapData;
_local7 = 5;
_local6 = 0;
while (_local6 < 2) {
switch (_local6){
case 0:
_local8 = 0;
break;
case 1:
_local8 = 1;
break;
};
_local2 = new Bitmap(new BitmapData(28, 28, true, 0xFFFFFF));
_local2.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 56), 0, 28, 28), new Point(0, 0), null, null, true);
_local2.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(6, 6), null, null, true);
_local3 = new Bitmap(new BitmapData(28, 28, true, 0xFFFFFF));
_local3.bitmapData.copyPixels(_local10, new Rectangle(((_local8 * 56) + 28), 0, 28, 28), new Point(0, 0), null, null, true);
_local3.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(7, 7), null, null, true);
_local3.bitmapData.copyPixels(_local10, new Rectangle((2 * 56), 0, 28, 28), new Point(0, 0), null, null, true);
_local4 = new Bitmap(new BitmapData(28, 28, true, 0xFFFFFF));
_local4.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 56), 0, 28, 28), new Point(0, 0), null, null, true);
_local4.bitmapData.copyPixels(_local9, new Rectangle((_local7 * 15), 0, 15, 15), new Point(6, 6), null, null, true);
_local4.bitmapData.copyPixels(_local10, new Rectangle((2 * 56), 0, 28, 28), new Point(0, 0), null, null, true);
_local5 = new Shape();
_local5.graphics.beginFill(0, 1);
_local5.graphics.moveTo(2, 2);
_local5.graphics.lineTo(2, 22);
_local5.graphics.lineTo(22, 22);
_local5.graphics.lineTo(22, 2);
_local5.graphics.lineTo(2, 2);
mainButtons[(_local6 + 10)] = new SimpleButton(_local2, _local4, _local3, _local5);
addChild(mainButtons[(_local6 + 10)]);
mainButtons[(_local6 + 10)].x = 113;
mainButtons[(_local6 + 10)].y = 373;
switch (_local6){
case 0:
mainButtons[(_local6 + 10)].addEventListener(MouseEvent.CLICK, onPlayClick);
break;
case 1:
mainButtons[(_local6 + 10)].addEventListener(MouseEvent.CLICK, onStopClick);
break;
};
_local7++;
_local6++;
};
_local10 = new Resources.imgBPNavigationButtons().bitmapData;
_local6 = 0;
while (_local6 < 2) {
switch (_local6){
case 0:
_local8 = 0;
break;
case 1:
_local8 = 1;
break;
};
_local2 = new Bitmap(new BitmapData(17, 19, true, 0xFFFFFF));
_local2.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 51), 0, 17, 19), new Point(0, 0), null, null, true);
_local3 = new Bitmap(new BitmapData(17, 19, true, 0xFFFFFF));
_local3.bitmapData.copyPixels(_local10, new Rectangle(((_local8 * 51) + 17), 0, 17, 19), new Point(0, 0), null, null, true);
_local3.bitmapData.copyPixels(_local10, new Rectangle(((_local8 * 51) + 34), 0, 17, 19), new Point(0, 0), null, null, true);
_local4 = new Bitmap(new BitmapData(17, 19, true, 0xFFFFFF));
_local4.bitmapData.copyPixels(_local10, new Rectangle((_local8 * 51), 0, 17, 19), new Point(0, 0), null, null, true);
_local4.bitmapData.copyPixels(_local10, new Rectangle(((_local8 * 51) + 34), 0, 17, 19), new Point(0, 0), null, null, true);
_local5 = new Shape();
_local5.graphics.beginFill(0, 1);
_local5.graphics.moveTo(2, 1);
_local5.graphics.lineTo(15, 1);
_local5.graphics.lineTo(15, 17);
_local5.graphics.lineTo(2, 17);
_local5.graphics.lineTo(2, 1);
navigateButtons[_local6] = new SimpleButton(_local2, _local4, _local3, _local5);
navigateButtons[_local6].x = (150 + (_local6 * 376));
navigateButtons[_local6].y = 379;
switch (_local6){
case 0:
navigateButtons[_local6].addEventListener(MouseEvent.CLICK, onPreviousClick);
break;
case 1:
navigateButtons[_local6].addEventListener(MouseEvent.CLICK, onNextClick);
break;
};
_local6++;
};
removeChild(mainButtons[5]);
removeChild(mainButtons[6]);
removeChild(mainButtons[7]);
removeChild(mainButtons[8]);
removeChild(mainButtons[9]);
mainButtons[6].x = (3 + (0 * 22));
mainButtons[7].x = (3 + (1 * 22));
mainButtons[5].x = (3 + (2 * 22));
mainButtons[8].x = (3 + (3 * 22));
mainButtons[9].x = (3 + (4 * 22));
removeChild(mainButtons[11]);
_local6 = 0;
while (_local6 < 20) {
scrollButtons[_local6] = new ScrollButton(_local6);
scrollButtons[_local6].x = (167 + (_local6 * 18));
scrollButtons[_local6].y = 373;
scrollButtons[_local6].addEventListener(MouseEvent.CLICK, onSelect);
_local6++;
};
selectedCommand = 0;
scrollPosition = 0;
app.enviroment.commands.push(new Command(app.enviroment.CMD_None, 0, false));
RebuildScrollButtons();
}
public function KeyDown(_arg1:KeyboardEvent):void{
if ((((((_arg1.keyCode == 37)) && (mainButtons[0].mouseEnabled))) && (!((mainButtons[0].parent == null))))){
onLeftClick(null);
} else {
if ((((((_arg1.keyCode == 38)) && (mainButtons[1].mouseEnabled))) && (!((mainButtons[1].parent == null))))){
onForwardClick(null);
} else {
if ((((((_arg1.keyCode == 39)) && (mainButtons[2].mouseEnabled))) && (!((mainButtons[2].parent == null))))){
onRightClick(null);
} else {
if ((((((_arg1.keyCode == 13)) && (mainButtons[3].mouseEnabled))) && (!((mainButtons[3].parent == null))))){
onManipulateClick(null);
} else {
if ((((((_arg1.keyCode == 46)) && (mainButtons[4].mouseEnabled))) && (!((mainButtons[4].parent == null))))){
onDeleteClick(null);
} else {
if ((((((_arg1.keyCode == 50)) && (mainButtons[7].mouseEnabled))) && (!((mainButtons[7].parent == null))))){
onSpeed1Click(null);
} else {
if ((((((_arg1.keyCode == 51)) && (mainButtons[5].mouseEnabled))) && (!((mainButtons[5].parent == null))))){
onSpeed2Click(null);
} else {
if ((((((_arg1.keyCode == 52)) && (mainButtons[8].mouseEnabled))) && (!((mainButtons[8].parent == null))))){
onSpeed3Click(null);
} else {
if ((((((_arg1.keyCode == 53)) && (mainButtons[9].mouseEnabled))) && (!((mainButtons[9].parent == null))))){
onSpeed4Click(null);
} else {
if ((((((_arg1.keyCode == 49)) && (mainButtons[6].mouseEnabled))) && (!((mainButtons[6].parent == null))))){
onSpeed5Click(null);
};
};
};
};
};
};
};
};
};
};
}
private function onStopClick(_arg1:MouseEvent):void{
app.enviroment.animControl.Stop(false);
PrepareToStop();
}
private function onForwardClick(_arg1:MouseEvent):void{
AddCommand(app.enviroment.CMD_Forward);
RebuildScrollButtons();
}
private function Swap(_arg1:int, _arg2:Boolean):void{
mainButtons[_arg1].mouseEnabled = _arg2;
var _local3:DisplayObject = mainButtons[_arg1].downState;
mainButtons[_arg1].downState = mainButtons[_arg1].upState;
mainButtons[_arg1].upState = _local3;
}
private function AddCommand(_arg1:int):void{
var _local2:int;
_local2 = selectedCommand;
while (_local2 < app.enviroment.commands.length) {
app.enviroment.commands[_local2].wrong = false;
_local2++;
};
if ((((((selectedCommand > 0)) && ((app.enviroment.commands[(selectedCommand - 1)].command == _arg1)))) && ((app.enviroment.commands[(selectedCommand - 1)].count < 9)))){
app.enviroment.commands[(selectedCommand - 1)].count++;
} else {
app.enviroment.commands.splice(selectedCommand, 0, new Command(_arg1, 1, false));
Select((selectedCommand + 1));
};
}
private function onRightClick(_arg1:MouseEvent):void{
AddCommand(app.enviroment.CMD_Right);
RebuildScrollButtons();
}
private function onSelect(_arg1:MouseEvent):void{
var _local2:int = _arg1.target.Id;
Select((_local2 + scrollPosition));
RebuildScrollButtons();
}
private function onPlayClick(_arg1:MouseEvent):void{
var _local2:int;
addChild(mainButtons[11]);
addChild(mainButtons[5]);
addChild(mainButtons[6]);
addChild(mainButtons[7]);
addChild(mainButtons[8]);
addChild(mainButtons[9]);
removeChild(mainButtons[10]);
onSpeed2Click(null);
_local2 = 0;
while (_local2 < 5) {
removeChild(mainButtons[_local2]);
_local2++;
};
_local2 = 0;
while (_local2 < 2) {
navigateButtons[_local2].mouseEnabled = false;
_local2++;
};
_local2 = 0;
while (_local2 < 20) {
scrollButtons[_local2].mouseEnabled = false;
_local2++;
};
scrollPosition = 0;
Select(0);
app.enviroment.commands.splice((app.enviroment.commands.length - 1), 1);
RebuildScrollButtons();
alreadyPrepare = false;
app.enviroment.animControl.Start();
}
public function ClearAllCommands():void{
app.enviroment.commands.splice(0, app.enviroment.commands.length);
app.enviroment.commands.push(new Command(app.enviroment.CMD_None, 0, false));
scrollPosition = 0;
Select(0);
RebuildScrollButtons();
}
private function onLeftClick(_arg1:MouseEvent):void{
AddCommand(app.enviroment.CMD_Left);
RebuildScrollButtons();
}
private function onSpeed4Click(_arg1:MouseEvent):void{
if (selectedSpeed > 0){
Swap(selectedSpeed, true);
};
selectedSpeed = 9;
app.enviroment.animControl.animationSpeed = 7;
Swap(selectedSpeed, false);
}
public function PrepareToStop():void{
var _local1:int;
if (alreadyPrepare){
return;
};
addChild(mainButtons[10]);
removeChild(mainButtons[5]);
removeChild(mainButtons[6]);
removeChild(mainButtons[7]);
removeChild(mainButtons[8]);
removeChild(mainButtons[9]);
removeChild(mainButtons[11]);
_local1 = 0;
while (_local1 < 5) {
addChild(mainButtons[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < 2) {
navigateButtons[_local1].mouseEnabled = true;
_local1++;
};
_local1 = 0;
while (_local1 < 20) {
scrollButtons[_local1].mouseEnabled = true;
_local1++;
};
app.enviroment.commands.push(new Command(app.enviroment.CMD_None, 0, false));
scrollPosition = Math.max((app.enviroment.commands.length - 20), 0);
Select((app.enviroment.commands.length - 1));
RebuildScrollButtons();
alreadyPrepare = true;
}
private function onSpeed2Click(_arg1:MouseEvent):void{
if (selectedSpeed > 0){
Swap(selectedSpeed, true);
};
selectedSpeed = 5;
app.enviroment.animControl.animationSpeed = 1;
Swap(selectedSpeed, false);
}
public function Select(_arg1:int):void{
if ((_arg1 - scrollPosition) >= 20){
scrollPosition = ((_arg1 - 20) + 1);
};
selectedCommand = _arg1;
}
private function onManipulateClick(_arg1:MouseEvent):void{
AddCommand(app.enviroment.CMD_Manipulate);
RebuildScrollButtons();
}
private function onPreviousClick(_arg1:MouseEvent):void{
scrollPosition--;
RebuildScrollButtons();
}
private function onNextClick(_arg1:MouseEvent):void{
scrollPosition++;
RebuildScrollButtons();
}
public function RebuildScrollButtons():void{
var _local1:int;
_local1 = 0;
while (_local1 < 20) {
if (scrollButtons[_local1].parent != null){
removeChild(scrollButtons[_local1]);
};
_local1++;
};
if (navigateButtons[0].parent != null){
removeChild(navigateButtons[0]);
};
if (navigateButtons[1].parent != null){
removeChild(navigateButtons[1]);
};
if (scrollPosition > 0){
addChild(navigateButtons[0]);
};
if ((scrollPosition + 20) < app.enviroment.commands.length){
addChild(navigateButtons[1]);
};
_local1 = (Math.min((scrollPosition + 20), app.enviroment.commands.length) - 1);
while (_local1 >= scrollPosition) {
scrollButtons[(_local1 - scrollPosition)].SetState((_local1 == selectedCommand), app.enviroment.commands[_local1].wrong, app.enviroment.commands[_local1].command, app.enviroment.commands[_local1].count);
addChild(scrollButtons[(_local1 - scrollPosition)]);
_local1--;
};
}
private function onSpeed5Click(_arg1:MouseEvent):void{
if (selectedSpeed > 0){
Swap(selectedSpeed, true);
};
selectedSpeed = 6;
app.enviroment.animControl.animationSpeed = 0;
Swap(selectedSpeed, false);
}
private function onSpeed3Click(_arg1:MouseEvent):void{
if (selectedSpeed > 0){
Swap(selectedSpeed, true);
};
selectedSpeed = 8;
app.enviroment.animControl.animationSpeed = 3;
Swap(selectedSpeed, false);
}
private function onDeleteClick(_arg1:MouseEvent):void{
var _local2:int;
if (app.enviroment.commands[selectedCommand].command != app.enviroment.CMD_None){
if (app.enviroment.commands[selectedCommand].count > 1){
app.enviroment.commands[selectedCommand].count--;
} else {
app.enviroment.commands.splice(selectedCommand, 1);
};
_local2 = selectedCommand;
while (_local2 < app.enviroment.commands.length) {
app.enviroment.commands[_local2].wrong = false;
_local2++;
};
RebuildScrollButtons();
};
}
private function onSpeed1Click(_arg1:MouseEvent):void{
if (selectedSpeed > 0){
Swap(selectedSpeed, true);
};
selectedSpeed = 7;
app.enviroment.animControl.animationSpeed = 0.5;
Swap(selectedSpeed, false);
}
}
}//package
Section 37
//Command (Command)
package {
public class Command {
public var command:int;
public var wrong:Boolean;
public var count:int;
public function Command(_arg1:int, _arg2:int, _arg3:Boolean){
command = _arg1;
count = _arg2;
wrong = _arg3;
}
}
}//package
Section 38
//DynamicClip (DynamicClip)
package {
import flash.display.*;
import flash.text.*;
public dynamic class DynamicClip extends MovieClip {
public function DynamicClip(){
graphics.beginFill(0);
graphics.drawRect(0, 0, 300, 287);
var _local1:TextFormat = new TextFormat();
_local1.align = TextFormatAlign.CENTER;
_local1.font = "Courier New";
_local1.bold = true;
_local1.size = 18;
var _local2:TextField = new TextField();
_local1.size = 25;
_local2.defaultTextFormat = _local1;
_local2.textColor = 0xFFFFFF;
_local2.text = "LOADING";
_local2.selectable = false;
_local2.autoSize = TextFieldAutoSize.LEFT;
var _local3:Bitmap = new Bitmap(new BitmapData(_local2.width, _local2.height, true, 0xFFFFFF));
_local3.bitmapData.draw(_local2);
_local3.x = 95;
_local3.y = 105;
addChild(_local3);
}
}
}//package
Section 39
//Enviroment (Enviroment)
package {
import flash.display.*;
import Elements.*;
import mochi.as3.*;
public class Enviroment {
public var gear1:Gear;
public var gear2:Gear;
public var CMD_Forward:int;// = 1
public var commands:Array;
public var animControl:AnimationControl;
public var activePowerPnl:ActivePowerPanel;
public var windows:Array;
public var fieldEnv:Sprite;
public var adLoader:Sprite;
public var CMD_Right:int;// = 2
public var bottomPanel:BottomPanel;
public var CMD_Manipulate:int;// = 3
public var app:Main;
public var CMD_Left:int;// = 0
public var topPanel:TopButtons;
public var background:Bitmap;
public var stageHeight:Number;
public var firstLaunght:Boolean;// = true
public var CMD_None:int;// = -1
public var elementsOnField:Array;
public var stageWidth:Number;
public var tank:Tank;
public var levelsControl:Levels;
public var elements:Array;
public var field:Field;
public function Enviroment(){
var _local1:int;
var _local2:int;
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
windows = new Array(WindowEnviroment.maxId);
commands = new Array();
fieldEnv = new Sprite();
elements = new Array();
elementsOnField = new Array();
animControl = new AnimationControl();
adLoader = new Sprite();
super();
app.enviroment = this;
activePowerPnl = new ActivePowerPanel();
adLoader.x = 300;
adLoader.y = 200;
app.layers[14].addChild(adLoader);
_local1 = 0;
while (_local1 < 20) {
elementsOnField.push(new Array(13));
_local2 = 0;
while (_local2 < 13) {
elementsOnField[_local1][_local2] = new Array();
_local2++;
};
_local1++;
};
var _local3:int = (Math.random() * Resources.imgBacks.length);
if (_local3 >= Resources.imgBacks.length){
_local3 = (Resources.imgBacks.length - 1);
};
background = new (Resources.imgBacks[_local3]);
field = new Field();
app.layers[0].addChild(background);
app.layers[1].addChild(field);
gear1 = new Gear(0.5);
gear1.x = 8;
gear1.y = 8;
app.layers[10].addChild(gear1);
gear2 = new Gear(-0.5);
gear2.x = 542;
gear2.y = 8;
app.layers[10].addChild(gear2);
topPanel = new TopButtons();
bottomPanel = new BottomPanel();
app.layers[10].addChild(bottomPanel);
levelsControl = new Levels();
_local1 = 0;
while (_local1 < windows.length) {
windows[_local1] = new WindowEnviroment(_local1);
_local1++;
};
if (levelsControl.unlockedLevel == levelsControl.MaxLevels){
levelsControl.StartLevel((levelsControl.unlockedLevel - 1));
} else {
levelsControl.StartLevel(levelsControl.unlockedLevel);
};
MochiCoins.addEventListener(MochiCoins.ERROR, handleError);
MochiCoins.addEventListener(MochiCoins.LOGGED_IN, loggedIn);
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, registerItem);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItem);
}
public function handleError(_arg1:Object):void{
}
public function loggedIn(_arg1:Object):void{
}
public function newItem(_arg1:Object):void{
var _local2:int;
var _local3:int;
if (_arg1.id == "eb071676227d99ab"){
_local2 = (levelsControl.unlockedLevel + _arg1.count);
if (_local2 > levelsControl.MaxLevels){
_local2 = levelsControl.MaxLevels;
};
levelsControl.StartLevel(_local2);
if (_local2 == levelsControl.MaxLevels){
levelsControl.StartLevel((_local2 - 1));
};
} else {
if (_arg1.id == "a8a81b2cdb2bb8ee"){
tank.invertedLR = false;
tank.invertedLRPrev = false;
tank.invertedUD = false;
tank.invertedUDPrev = false;
tank.isDark = false;
tank.isDarkPrev = false;
tank.darkElm.alpha = 0;
_local3 = 0;
while (_local3 < elements.length) {
if ((((elements[_local3].ID == Element.elmPowerDown)) && ((elements[_local3] as PowerDown).Active))){
(elements[_local3] as PowerDown).SetState(false);
(elements[_local3] as PowerDown).ActivePrev = false;
};
_local3++;
};
activePowerPnl.Show();
};
};
}
public function registerItem(_arg1:Object):void{
}
}
}//package
Section 40
//Field (Field)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import Tools.*;
public class Field extends Sprite {
public var imageRight:Bitmap;
public var stageHeight:Number;
public var imageLeft:Bitmap;
public var imageChainLeft:Bitmap;
private var maxWidth:int;
public var prevTimer:int;
public var Mask:Shape;
public var imageChainRight:Bitmap;
public var app:Main;
public var imageBack:Bitmap;
public var Mask2:Shape;
public var stageWidth:Number;
private var maxHeight:int;
private var doShow:Boolean;// = true
private var opened:Number;// = 1
public var enviroment:Sprite;
public function Field(){
var _local5:int;
var _local6:int;
var _local7:int;
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
super();
maxWidth = width;
maxHeight = height;
enviroment = app.enviroment.fieldEnv;
imageLeft = new Resources.imgBorderLeft();
imageLeft.x = (0 + ((1 - opened) * 250));
imageLeft.y = 36;
imageRight = new Resources.imgBorderRight();
imageRight.x = (519 - ((1 - opened) * 250));
imageRight.y = 36;
imageChainLeft = new Resources.imgChain();
imageChainLeft.x = (-256 + ((1 - opened) * 250));
imageChainLeft.y = 187;
imageChainRight = new Resources.imgChain();
imageChainRight.x = (550 - ((1 - opened) * 250));
imageChainRight.y = 187;
var _local1 = 20;
var _local2 = 13;
imageBack = new Bitmap(new BitmapData((_local1 * 25), ((_local2 * 25) + 8), true, 0xFFFFFF));
imageBack.x = 25;
imageBack.y = 37;
Utils.TileImage(new Resources.imgFieldShadowTop().bitmapData, imageBack.bitmapData, new Rectangle(0, 0, (_local1 * 25), 6));
Utils.TileImage(new Resources.imgFieldShadowBottom().bitmapData, imageBack.bitmapData, new Rectangle(0, ((_local2 * 25) + 6), (_local1 * 25), 2));
var _local3:BitmapData = new Resources.imgFieldTile().bitmapData;
var _local4:int;
while (_local4 < _local1) {
_local5 = 0;
while (_local5 < _local2) {
_local6 = Math.min((Math.random() * 3), 2);
_local7 = Math.min((Math.random() * 3), 2);
imageBack.bitmapData.copyPixels(_local3, new Rectangle((_local6 * 25), (_local7 * 25), 25, 25), new Point((_local4 * 25), ((_local5 * 25) + 6)));
_local5++;
};
_local4++;
};
Mask = new Shape();
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask.graphics.endFill();
imageBack.mask = Mask;
Mask2 = new Shape();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask2.graphics.endFill();
addChild(imageBack);
addChild(enviroment);
addChild(imageLeft);
addChild(imageRight);
addChild(imageChainLeft);
addChild(imageChainRight);
enviroment.mask = Mask2;
enviroment.x = 25;
enviroment.y = 43;
prevTimer = getTimer();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function Hide():void{
var _local1:int;
doShow = false;
app.enviroment.gear1.increment = 3.5;
app.enviroment.gear2.increment = -3.5;
if (opened <= 0){
opened = 0.01;
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.mainButtons.length) {
app.enviroment.bottomPanel.mainButtons[_local1].mouseEnabled = false;
_local1++;
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.navigateButtons.length) {
app.enviroment.bottomPanel.navigateButtons[_local1].mouseEnabled = false;
_local1++;
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.scrollButtons.length) {
app.enviroment.bottomPanel.scrollButtons[_local1].mouseEnabled = false;
_local1++;
};
}
private function onEnterFrame(_arg1:Event):void{
var _local2:int = getTimer();
var _local3:Number = (Number((_local2 - prevTimer)) / 1000);
prevTimer = _local2;
if (((doShow) && ((opened < 1)))){
opened = (opened + (((1.17 - (1 - opened)) * 1) * _local3));
if (opened > 1){
opened = 1;
app.enviroment.gear1.increment = 0.5;
app.enviroment.gear2.increment = -0.5;
OpenFinished();
};
imageLeft.x = (0 + ((1 - opened) * 250));
imageRight.x = (519 - ((1 - opened) * 250));
imageChainLeft.x = (-256 + ((1 - opened) * 250));
imageChainRight.x = (550 - ((1 - opened) * 250));
Mask.graphics.clear();
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask.graphics.endFill();
Mask2.graphics.clear();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask2.graphics.endFill();
} else {
if (((!(doShow)) && ((opened > 0)))){
opened = (opened - (((1.17 - (1 - opened)) * 1) * _local3));
if (opened < 0){
opened = 0;
app.enviroment.levelsControl.ConstructLevel();
};
imageLeft.x = (0 + ((1 - opened) * 250));
imageRight.x = (519 - ((1 - opened) * 250));
imageChainLeft.x = (-256 + ((1 - opened) * 250));
imageChainRight.x = (550 - ((1 - opened) * 250));
Mask.graphics.clear();
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask.graphics.endFill();
Mask2.graphics.clear();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect((25 + (250 * (1 - opened))), 0, (opened * 500), stageHeight);
Mask2.graphics.endFill();
};
};
}
public function Show():void{
var _local5:int;
var _local6:int;
var _local7:int;
doShow = true;
app.enviroment.gear1.increment = -3.5;
app.enviroment.gear2.increment = 3.5;
var _local1 = 20;
var _local2 = 13;
var _local3:BitmapData = new Resources.imgFieldTile().bitmapData;
var _local4:int;
while (_local4 < _local1) {
_local5 = 0;
while (_local5 < _local2) {
_local6 = Math.min((Math.random() * 3), 2);
_local7 = Math.min((Math.random() * 3), 2);
imageBack.bitmapData.copyPixels(_local3, new Rectangle((_local6 * 25), (_local7 * 25), 25, 25), new Point((_local4 * 25), ((_local5 * 25) + 6)));
_local5++;
};
_local4++;
};
}
public function OpenFinished():void{
var _local1:int;
if (app.enviroment.firstLaunght){
app.enviroment.firstLaunght = false;
app.enviroment.windows[3].Show();
} else {
app.enviroment.windows[(10 + app.enviroment.levelsControl.currentLevel)].Show();
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.mainButtons.length) {
app.enviroment.bottomPanel.mainButtons[_local1].mouseEnabled = true;
_local1++;
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.navigateButtons.length) {
app.enviroment.bottomPanel.navigateButtons[_local1].mouseEnabled = true;
_local1++;
};
_local1 = 0;
while (_local1 < app.enviroment.bottomPanel.scrollButtons.length) {
app.enviroment.bottomPanel.scrollButtons[_local1].mouseEnabled = true;
_local1++;
};
}
}
}//package
Section 41
//GalleryButton (GalleryButton)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class GalleryButton extends SimpleButton {
public var app:Main;
public var ID:int;
public function GalleryButton(_arg1:int, _arg2:Boolean){
app = Main.gameApp;
super();
ID = _arg1;
var _local3:Bitmap = new Bitmap(new BitmapData(72, 72, false, 4278190080));
_local3.bitmapData.copyPixels(new (Resources.imgVideoPrev[_arg1]).bitmapData, new Rectangle(0, 0, 70, 70), new Point(((_local3.width - 70) / 2), ((_local3.height - 70) / 2)));
upState = _local3;
var _local4:Bitmap = new Bitmap(new BitmapData(72, 72, false, 4294967295));
_local4.bitmapData.copyPixels(new (Resources.imgVideoPrev[_arg1]).bitmapData, new Rectangle(0, 0, 70, 70), new Point(((_local3.width - 70) / 2), ((_local3.height - 70) / 2)));
overState = _local4;
var _local5:Bitmap = new Bitmap(new BitmapData(72, 72, false, 4289374890));
_local5.bitmapData.copyPixels(new (Resources.imgVideoPrev[_arg1]).bitmapData, new Rectangle(0, 0, 70, 70), new Point(((_local3.width - 70) / 2), ((_local3.height - 70) / 2)));
downState = _local5;
hitTestState = _local3;
if (_arg2){
mouseEnabled = false;
_local3.bitmapData.colorTransform(new Rectangle(0, 0, 72, 72), new ColorTransform(0.3, 0.3, 0.3));
} else {
addEventListener(MouseEvent.CLICK, onClick);
};
}
public function onClick(_arg1:MouseEvent):void{
app.enviroment.windows[(50 + ID)].Show();
}
}
}//package
Section 42
//Gear (Gear)
package {
import flash.events.*;
import flash.display.*;
public class Gear extends Sprite {
public var app:Main;
public var gear3DBmp:Bitmap;
public var stageWidth:Number;
public var stageHeight:Number;
public var increment:Number;
public var gearContainer:Sprite;
public var gearBmp:Bitmap;
public function Gear(_arg1:Number){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
super();
increment = _arg1;
gearBmp = new Resources.imgGear();
gear3DBmp = new Resources.imgGear3D();
gearContainer = new Sprite();
var _local2:int = (gearBmp.width / 2);
var _local3:int = (gearBmp.height / 2);
gearBmp.x = -(_local2);
gearBmp.y = -(_local3);
gearBmp.smoothing = true;
gear3DBmp.x = -(_local2);
gear3DBmp.y = -(_local3);
gearContainer.addChild(gearBmp);
addChild(gearContainer);
addChild(gear3DBmp);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(_arg1:Event):void{
gearContainer.rotation = (gearContainer.rotation + increment);
}
}
}//package
Section 43
//Levels (Levels)
package {
import Elements.*;
import flash.net.*;
public class Levels {
public var app:Main;
public var stageHeight:Number;
public var stageWidth:Number;
public var currentLevel:int;// = -1
private var sharObj:SharedObject;
public var MaxLevels:int;// = 18
public var unlockedLevel:int;// = 0
public function Levels(){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
super();
sharObj = SharedObject.getLocal("prom_site_4123", "/");
if (sharObj.data.unlockedLevel2 != null){
unlockedLevel = sharObj.data.unlockedLevel2;
};
if (unlockedLevel > MaxLevels){
unlockedLevel = MaxLevels;
};
}
public function StartLevel(_arg1:int):void{
if (_arg1 == MaxLevels){
if (unlockedLevel < _arg1){
unlockedLevel = Math.min(_arg1, MaxLevels);
sharObj.data.unlockedLevel2 = unlockedLevel;
sharObj.flush();
};
app.enviroment.windows[4].Show();
return;
};
if (app.enviroment.animControl.start){
app.enviroment.animControl.Stop(false);
};
currentLevel = _arg1;
app.enviroment.field.Hide();
app.enviroment.activePowerPnl.Hide();
if (unlockedLevel < _arg1){
unlockedLevel = _arg1;
sharObj.data.unlockedLevel2 = unlockedLevel;
sharObj.flush();
};
}
public function ConstructLevel():void{
var _local1:int;
var _local2:int;
var _local3:Array = new Array();
_local1 = 0;
while (_local1 < app.enviroment.elements.length) {
app.enviroment.elements[_local1].Destroy();
_local1++;
};
app.enviroment.elements.splice(0, app.enviroment.elements.length);
_local1 = 0;
while (_local1 < 20) {
_local2 = 0;
while (_local2 < 13) {
app.enviroment.elementsOnField[_local1][_local2].splice(0, app.enviroment.elementsOnField[_local1][_local2].length);
_local2++;
};
_local1++;
};
if (currentLevel == 0){
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 10));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 3));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 5));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 7));
_local3.push(new Headquater(6, 11));
_local3.push(new Tank(6, 11, false, false, false));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(7, 2));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 7));
_local3.push(new Wall(8, 11));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 2));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 2));
_local3.push(new Wall(10, 3));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 5));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 5));
_local3.push(new Wall(11, 7));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 10));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 5));
_local3.push(new Wall(12, 7));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 9));
_local3.push(new Wall(12, 10));
_local3.push(new Wall(12, 11));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(13, 2));
_local3.push(new CapsuleHole(13, 3));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 5));
_local3.push(new Wall(13, 11));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 7));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(14, 11));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(15, 2));
_local3.push(new Wall(15, 9));
_local3.push(new Capsule(15, 11));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 12));
} else {
if (currentLevel == 1){
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 10));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(7, 2));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 8));
_local3.push(new Switch(8, 9, [2], true));
_local3.push(new Wall(8, 10));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 2));
_local3.push(new Button(9, 4, [1], Element.clrGreen));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 8));
_local3.push(new Box(9, 10));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 2));
_local3.push(new Wall(10, 3));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 5));
_local3.push(new Headquater(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 9));
_local3.push(new Wall(10, 10));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 5));
_local3.push(new Wall(11, 6));
_local3.push(new Headquater(11, 8));
_local3.push(new Tank(11, 8, false, false, false));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 10));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 9));
_local3.push(new CapsuleHole(12, 10));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(13, 2));
_local3.push(new Wall(13, 4));
_local3.push(new Capsule(13, 5));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 9));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 2));
_local3.push(new Door(14, 3, 2, false, Element.clrRed));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(15, 2));
_local3.push(new Wall(15, 8));
_local3.push(new Door(15, 10, 1, false, Element.clrGreen));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 12));
} else {
if (currentLevel == 2){
_local3.push(new Door(1, 4, 1, true, Element.clrGreen));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Button(1, 11, [1], Element.clrGreen));
_local3.push(new Wall(1, 12));
_local3.push(new CapsuleHole(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new Wall(2, 2));
_local3.push(new Capsule(2, 3));
_local3.push(new Wall(2, 4));
_local3.push(new Wall(2, 6));
_local3.push(new ScrollPad(2, 11, Element.dirLeft));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(3, 2));
_local3.push(new Wall(3, 3));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 6));
_local3.push(new Door(3, 7, 1, true, Element.clrGreen));
_local3.push(new Wall(3, 8));
_local3.push(new Door(3, 9, 1, false, Element.clrGreen));
_local3.push(new Wall(3, 10));
_local3.push(new Wall(3, 11));
_local3.push(new Wall(3, 12));
_local3.push(new Door(3, 13, 1, false, Element.clrGreen));
_local3.push(new Door(4, 2, 1, false, Element.clrGreen));
_local3.push(new Wall(4, 8));
_local3.push(new Box(4, 9));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Door(5, 5, 1, false, Element.clrGreen));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 12));
_local3.push(new CapsuleHole(6, 1));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 11));
_local3.push(new Capsule(6, 12));
_local3.push(new Door(6, 13, 1, true, Element.clrGreen));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 2));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 12));
_local3.push(new Door(8, 4, 1, true, Element.clrGreen));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 2));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 8));
_local3.push(new Door(9, 9, 1, true, Element.clrGreen));
_local3.push(new Wall(9, 10));
_local3.push(new Door(9, 12, 1, false, Element.clrGreen));
_local3.push(new Wall(10, 2));
_local3.push(new Door(10, 6, 1, false, Element.clrGreen));
_local3.push(new Wall(10, 10));
_local3.push(new Door(10, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Door(11, 12, 1, false, Element.clrGreen));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 9));
_local3.push(new Door(12, 10, 1, true, Element.clrGreen));
_local3.push(new Wall(12, 11));
_local3.push(new Door(12, 12, 1, false, Element.clrGreen));
_local3.push(new Door(12, 13, 1, true, Element.clrGreen));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 2));
_local3.push(new Door(13, 3, 1, true, Element.clrGreen));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 7));
_local3.push(new Door(13, 9, 1, false, Element.clrGreen));
_local3.push(new Door(13, 11, 1, true, Element.clrGreen));
_local3.push(new Capsule(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 7));
_local3.push(new Door(14, 8, 1, true, Element.clrGreen));
_local3.push(new Wall(14, 9));
_local3.push(new Door(14, 10, 1, false, Element.clrGreen));
_local3.push(new Wall(14, 11));
_local3.push(new Door(14, 12, 1, false, Element.clrGreen));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 2));
_local3.push(new Wall(15, 3));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 7));
_local3.push(new Wall(16, 1));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 12));
_local3.push(new CapsuleHole(17, 1));
_local3.push(new Wall(17, 2));
_local3.push(new Door(17, 3, 1, false, Element.clrGreen));
_local3.push(new Wall(17, 4));
_local3.push(new Door(17, 5, 1, true, Element.clrGreen));
_local3.push(new Wall(17, 6));
_local3.push(new Door(17, 8, 1, true, Element.clrGreen));
_local3.push(new Wall(17, 12));
_local3.push(new Wall(18, 2));
_local3.push(new Wall(18, 4));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 8));
_local3.push(new Door(18, 9, 1, false, Element.clrGreen));
_local3.push(new Wall(18, 10));
_local3.push(new Wall(18, 12));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 2));
_local3.push(new Door(19, 4, 1, false, Element.clrGreen));
_local3.push(new Door(19, 8, 1, false, Element.clrGreen));
_local3.push(new Door(19, 10, 1, true, Element.clrGreen));
_local3.push(new Headquater(19, 13));
_local3.push(new Tank(19, 13, false, false, false));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 3){
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 7));
_local3.push(new Wall(2, 9));
_local3.push(new Wall(2, 10));
_local3.push(new Wall(2, 11));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Wall(3, 2));
_local3.push(new Wall(3, 3));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 7));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 10));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 3));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 10));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 4));
_local3.push(new PowerDown(8, 6, PowerDown.typeInvLR));
_local3.push(new Wall(8, 8));
_local3.push(new Wall(8, 10));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 2));
_local3.push(new Wall(9, 6));
_local3.push(new CapsuleHole(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(10, 2));
_local3.push(new Wall(10, 3));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 5));
_local3.push(new Wall(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 6));
_local3.push(new Headquater(11, 7));
_local3.push(new Tank(11, 7, false, false, false));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 7));
_local3.push(new Wall(12, 9));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 7));
_local3.push(new Wall(13, 9));
_local3.push(new Wall(13, 11));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 7));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(15, 5));
_local3.push(new Wall(15, 7));
_local3.push(new Wall(15, 9));
_local3.push(new Wall(15, 10));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 12));
_local3.push(new PowerDown(17, 1, PowerDown.typeInvLR));
_local3.push(new Wall(17, 2));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 11));
_local3.push(new Wall(17, 12));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 2));
_local3.push(new Wall(18, 4));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 11));
_local3.push(new Capsule(19, 1));
_local3.push(new Wall(19, 4));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 9));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 4){
_local3.push(new PowerDown(1, 2, PowerDown.typeLight));
_local3.push(new PowerDown(1, 4, PowerDown.typeLight));
_local3.push(new PowerDown(1, 6, PowerDown.typeDark));
_local3.push(new PowerDown(1, 8, PowerDown.typeLight));
_local3.push(new PowerDown(1, 10, PowerDown.typeLight));
_local3.push(new PowerDown(1, 12, PowerDown.typeDark));
_local3.push(new PowerDown(2, 1, PowerDown.typeDark));
_local3.push(new PowerDown(2, 3, PowerDown.typeInvUD));
_local3.push(new PowerDown(2, 5, PowerDown.typeInvUD));
_local3.push(new PowerDown(2, 7, PowerDown.typeInvLR));
_local3.push(new PowerDown(2, 9, PowerDown.typeInvUD));
_local3.push(new PowerDown(2, 11, PowerDown.typeInvLR));
_local3.push(new PowerDown(2, 13, PowerDown.typeLight));
_local3.push(new PowerDown(3, 2, PowerDown.typeLight));
_local3.push(new PowerDown(3, 4, PowerDown.typeLight));
_local3.push(new PowerDown(3, 6, PowerDown.typeLight));
_local3.push(new PowerDown(3, 8, PowerDown.typeInvUD));
_local3.push(new PowerDown(3, 10, PowerDown.typeDark));
_local3.push(new PowerDown(3, 12, PowerDown.typeLight));
_local3.push(new PowerDown(4, 1, PowerDown.typeLight));
_local3.push(new PowerDown(4, 3, PowerDown.typeDark));
_local3.push(new PowerDown(4, 5, PowerDown.typeLight));
_local3.push(new Wall(4, 7));
_local3.push(new PowerDown(4, 9, PowerDown.typeLight));
_local3.push(new PowerDown(4, 11, PowerDown.typeInvUD));
_local3.push(new PowerDown(4, 13, PowerDown.typeInvUD));
_local3.push(new PowerDown(5, 2, PowerDown.typeInvLR));
_local3.push(new PowerDown(5, 4, PowerDown.typeInvUD));
_local3.push(new Wall(5, 6));
_local3.push(new CapsuleHole(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new PowerDown(5, 10, PowerDown.typeInvLR));
_local3.push(new PowerDown(5, 12, PowerDown.typeDark));
_local3.push(new PowerDown(6, 1, PowerDown.typeInvUD));
_local3.push(new PowerDown(6, 3, PowerDown.typeLight));
_local3.push(new Wall(6, 5));
_local3.push(new Wall(6, 9));
_local3.push(new PowerDown(6, 11, PowerDown.typeLight));
_local3.push(new PowerDown(6, 13, PowerDown.typeLight));
_local3.push(new PowerDown(7, 2, PowerDown.typeDark));
_local3.push(new Wall(7, 4));
_local3.push(new Door(7, 7, 5, false, Element.clrGreen));
_local3.push(new Wall(7, 10));
_local3.push(new PowerDown(7, 12, PowerDown.typeDark));
_local3.push(new PowerDown(8, 1, PowerDown.typeLight));
_local3.push(new Wall(8, 3));
_local3.push(new Door(8, 6, 1, false, Element.clrRed));
_local3.push(new Door(8, 7, 5, false, Element.clrGreen));
_local3.push(new Door(8, 8, 4, false, Element.clrBlue));
_local3.push(new Wall(8, 11));
_local3.push(new PowerDown(8, 13, PowerDown.typeInvUD));
_local3.push(new Wall(9, 2));
_local3.push(new Door(9, 5, 1, false, Element.clrRed));
_local3.push(new Switch(9, 6, [2], false));
_local3.push(new Door(9, 7, 5, false, Element.clrGreen));
_local3.push(new Switch(9, 8, [5], false));
_local3.push(new Door(9, 9, 4, false, Element.clrBlue));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 1));
_local3.push(new Door(10, 4, 5, false, Element.clrGreen));
_local3.push(new Door(10, 5, 5, false, Element.clrGreen));
_local3.push(new Door(10, 6, 5, false, Element.clrGreen));
_local3.push(new Capsule(10, 7));
_local3.push(new Door(10, 8, 5, false, Element.clrGreen));
_local3.push(new Door(10, 9, 5, false, Element.clrGreen));
_local3.push(new Door(10, 10, 5, false, Element.clrGreen));
_local3.push(new Switch(10, 12, [1], true));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 2));
_local3.push(new Door(11, 5, 3, false, Element.clrBlue));
_local3.push(new Switch(11, 6, [4], true));
_local3.push(new Door(11, 7, 5, false, Element.clrGreen));
_local3.push(new Switch(11, 8, [3], true));
_local3.push(new Door(11, 9, 2, false, Element.clrRed));
_local3.push(new Wall(11, 12));
_local3.push(new PowerDown(12, 1, PowerDown.typeLight));
_local3.push(new Wall(12, 3));
_local3.push(new Door(12, 6, 3, false, Element.clrBlue));
_local3.push(new Door(12, 7, 5, false, Element.clrGreen));
_local3.push(new Door(12, 8, 2, false, Element.clrRed));
_local3.push(new Wall(12, 11));
_local3.push(new PowerDown(12, 13, PowerDown.typeInvUD));
_local3.push(new PowerDown(13, 2, PowerDown.typeInvUD));
_local3.push(new Wall(13, 4));
_local3.push(new Door(13, 7, 5, false, Element.clrGreen));
_local3.push(new Wall(13, 10));
_local3.push(new PowerDown(13, 12, PowerDown.typeDark));
_local3.push(new PowerDown(14, 1, PowerDown.typeDark));
_local3.push(new PowerDown(14, 3, PowerDown.typeDark));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 9));
_local3.push(new PowerDown(14, 11, PowerDown.typeLight));
_local3.push(new PowerDown(14, 13, PowerDown.typeDark));
_local3.push(new PowerDown(15, 2, PowerDown.typeInvUD));
_local3.push(new PowerDown(15, 4, PowerDown.typeLight));
_local3.push(new Wall(15, 6));
_local3.push(new Headquater(15, 7));
_local3.push(new Tank(15, 7, false, false, false));
_local3.push(new Wall(15, 8));
_local3.push(new PowerDown(15, 10, PowerDown.typeDark));
_local3.push(new PowerDown(15, 12, PowerDown.typeInvUD));
_local3.push(new PowerDown(16, 1, PowerDown.typeLight));
_local3.push(new PowerDown(16, 3, PowerDown.typeLight));
_local3.push(new PowerDown(16, 5, PowerDown.typeLight));
_local3.push(new Wall(16, 7));
_local3.push(new PowerDown(16, 9, PowerDown.typeLight));
_local3.push(new PowerDown(16, 11, PowerDown.typeDark));
_local3.push(new PowerDown(16, 13, PowerDown.typeLight));
_local3.push(new PowerDown(17, 2, PowerDown.typeInvLR));
_local3.push(new PowerDown(17, 4, PowerDown.typeInvLR));
_local3.push(new PowerDown(17, 6, PowerDown.typeDark));
_local3.push(new PowerDown(17, 8, PowerDown.typeDark));
_local3.push(new PowerDown(17, 10, PowerDown.typeInvUD));
_local3.push(new PowerDown(17, 12, PowerDown.typeInvLR));
_local3.push(new PowerDown(18, 1, PowerDown.typeLight));
_local3.push(new PowerDown(18, 3, PowerDown.typeLight));
_local3.push(new PowerDown(18, 5, PowerDown.typeInvUD));
_local3.push(new PowerDown(18, 7, PowerDown.typeLight));
_local3.push(new PowerDown(18, 9, PowerDown.typeLight));
_local3.push(new PowerDown(18, 11, PowerDown.typeLight));
_local3.push(new PowerDown(18, 13, PowerDown.typeDark));
_local3.push(new PowerDown(19, 2, PowerDown.typeInvUD));
_local3.push(new PowerDown(19, 4, PowerDown.typeLight));
_local3.push(new PowerDown(19, 6, PowerDown.typeInvLR));
_local3.push(new PowerDown(19, 8, PowerDown.typeInvUD));
_local3.push(new PowerDown(19, 10, PowerDown.typeDark));
_local3.push(new PowerDown(19, 12, PowerDown.typeInvUD));
_local3.push(new PowerDown(20, 1, PowerDown.typeLight));
_local3.push(new PowerDown(20, 3, PowerDown.typeDark));
_local3.push(new PowerDown(20, 5, PowerDown.typeLight));
_local3.push(new PowerDown(20, 7, PowerDown.typeDark));
_local3.push(new PowerDown(20, 9, PowerDown.typeLight));
_local3.push(new PowerDown(20, 11, PowerDown.typeDark));
_local3.push(new PowerDown(20, 13, PowerDown.typeLight));
} else {
if (currentLevel == 5){
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 6));
_local3.push(new Wall(3, 7));
_local3.push(new Wall(3, 8));
_local3.push(new Wall(3, 9));
_local3.push(new Wall(4, 3));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 7));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 10));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 2));
_local3.push(new CapsuleHole(6, 3));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 2));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 10));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 2));
_local3.push(new Capsule(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 8));
_local3.push(new Capsule(9, 10));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 2));
_local3.push(new Capsule(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 9));
_local3.push(new Wall(10, 10));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 6));
_local3.push(new Headquater(11, 7));
_local3.push(new Tank(11, 7, false, true, true));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 2));
_local3.push(new CapsuleHole(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 7));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 9));
_local3.push(new Wall(12, 10));
_local3.push(new Capsule(12, 11));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 2));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 7));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 11));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 2));
_local3.push(new CapsuleHole(15, 3));
_local3.push(new Wall(15, 7));
_local3.push(new CapsuleHole(15, 11));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 12));
_local3.push(new Wall(17, 3));
_local3.push(new Wall(17, 4));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 10));
_local3.push(new Wall(17, 11));
_local3.push(new Wall(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 9));
} else {
if (currentLevel == 6){
_local3.push(new Wall(1, 1));
_local3.push(new Headquater(1, 7));
_local3.push(new Capsule(1, 8));
_local3.push(new CapsuleHole(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 12));
_local3.push(new CapsuleHole(1, 13));
_local3.push(new Headquater(2, 1));
_local3.push(new Wall(2, 3));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 7));
_local3.push(new Wall(2, 9));
_local3.push(new Capsule(2, 13));
_local3.push(new CapsuleHole(3, 1));
_local3.push(new Wall(3, 13));
_local3.push(new Capsule(4, 1));
_local3.push(new Wall(4, 2));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 10));
_local3.push(new Headquater(4, 13));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 7));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 13));
_local3.push(new Headquater(8, 1));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 6));
_local3.push(new CapsuleHole(9, 1));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 5));
_local3.push(new PowerDown(10, 7, PowerDown.typeDark));
_local3.push(new Headquater(10, 8));
_local3.push(new Tank(10, 8, false, false, false));
_local3.push(new Wall(10, 9));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 7));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 10));
_local3.push(new Wall(11, 12));
_local3.push(new Headquater(11, 13));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 7));
_local3.push(new Capsule(12, 9));
_local3.push(new CapsuleHole(12, 10));
_local3.push(new Wall(12, 11));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 3));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 13));
_local3.push(new Headquater(14, 1));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 7));
_local3.push(new Wall(14, 8));
_local3.push(new Wall(14, 12));
_local3.push(new Capsule(15, 1));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 11));
_local3.push(new CapsuleHole(16, 1));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(17, 1));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 2));
_local3.push(new Wall(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 9));
_local3.push(new Capsule(18, 10));
_local3.push(new Wall(18, 11));
_local3.push(new Headquater(18, 13));
_local3.push(new Capsule(19, 6));
_local3.push(new Wall(19, 10));
_local3.push(new Capsule(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 4));
_local3.push(new Headquater(20, 5));
_local3.push(new CapsuleHole(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 12));
_local3.push(new CapsuleHole(20, 13));
} else {
if (currentLevel == 7){
_local3.push(new Capsule(1, 6));
_local3.push(new CapsuleHole(1, 8));
_local3.push(new Wall(2, 1));
_local3.push(new Wall(2, 2));
_local3.push(new Wall(2, 3));
_local3.push(new Wall(2, 4));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 6));
_local3.push(new Door(2, 7, 1, false, Element.clrRed));
_local3.push(new Wall(2, 8));
_local3.push(new Wall(2, 9));
_local3.push(new Wall(2, 10));
_local3.push(new Wall(2, 11));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(2, 13));
_local3.push(new Door(3, 1, 3, false, Element.clrRed));
_local3.push(new Door(3, 3, 19, false, Element.clrGreen));
_local3.push(new Door(3, 5, 35, false, Element.clrBlue));
_local3.push(new Headquater(3, 6));
_local3.push(new Door(3, 7, 51, false, Element.clrBlue));
_local3.push(new Headquater(3, 8));
_local3.push(new Door(3, 9, 67, false, Element.clrRed));
_local3.push(new Door(3, 11, 83, false, Element.clrRed));
_local3.push(new Door(3, 13, 99, false, Element.clrRed));
_local3.push(new Door(4, 2, 11, false, Element.clrBlue));
_local3.push(new Door(4, 4, 27, false, Element.clrRed));
_local3.push(new Door(4, 6, 43, false, Element.clrGreen));
_local3.push(new Door(4, 8, 59, false, Element.clrBlue));
_local3.push(new Door(4, 10, 75, false, Element.clrGreen));
_local3.push(new Door(4, 12, 91, false, Element.clrGreen));
_local3.push(new Switch(4, 13, [92, 101, 102, 103, 95, 79, 63, 56, 40, 31, 67, 68, 51, 26, 62, 27], false));
_local3.push(new Door(5, 1, 4, false, Element.clrGreen));
_local3.push(new Door(5, 3, 20, false, Element.clrGreen));
_local3.push(new Switch(5, 4, [35, 36, 51, 55, 88, 42], false));
_local3.push(new Door(5, 5, 36, false, Element.clrRed));
_local3.push(new Door(5, 7, 52, false, Element.clrGreen));
_local3.push(new Door(5, 9, 68, false, Element.clrGreen));
_local3.push(new Door(5, 11, 84, false, Element.clrBlue));
_local3.push(new Door(5, 13, 100, false, Element.clrBlue));
_local3.push(new Switch(6, 1, [7, 14, 30, 38, 12, 28, 92, 50, 3, 55, 88, 42, 40], true));
_local3.push(new Door(6, 2, 12, false, Element.clrRed));
_local3.push(new Door(6, 4, 28, false, Element.clrBlue));
_local3.push(new Door(6, 6, 44, false, Element.clrRed));
_local3.push(new Door(6, 8, 60, false, Element.clrRed));
_local3.push(new Door(6, 10, 76, false, Element.clrBlue));
_local3.push(new Door(6, 12, 92, false, Element.clrGreen));
_local3.push(new Door(7, 1, 5, false, Element.clrGreen));
_local3.push(new Door(7, 3, 21, false, Element.clrRed));
_local3.push(new Door(7, 5, 37, false, Element.clrGreen));
_local3.push(new Door(7, 7, 53, false, Element.clrGreen));
_local3.push(new Door(7, 9, 69, false, Element.clrBlue));
_local3.push(new Switch(7, 10, [61, 62, 60, 51, 52, 89, 24, 29], false));
_local3.push(new Door(7, 11, 85, false, Element.clrGreen));
_local3.push(new Door(7, 13, 101, false, Element.clrRed));
_local3.push(new Door(8, 2, 13, false, Element.clrGreen));
_local3.push(new Door(8, 4, 29, false, Element.clrGreen));
_local3.push(new Switch(8, 5, [7, 14, 22, 13, 5, 44, 28, 45, 92, 50, 3, 55, 88, 42, 40], true));
_local3.push(new Door(8, 6, 45, false, Element.clrBlue));
_local3.push(new Door(8, 8, 61, false, Element.clrRed));
_local3.push(new Door(8, 10, 77, false, Element.clrRed));
_local3.push(new Switch(8, 11, [63, 56, 40, 31, 101, 92, 83, 84, 99, 98, 32, 11, 26, 82, 27], true));
_local3.push(new Door(8, 12, 93, false, Element.clrRed));
_local3.push(new Door(9, 1, 6, false, Element.clrBlue));
_local3.push(new Door(9, 3, 22, false, Element.clrBlue));
_local3.push(new Door(9, 5, 38, false, Element.clrGreen));
_local3.push(new Door(9, 7, 54, false, Element.clrBlue));
_local3.push(new Door(9, 9, 70, false, Element.clrGreen));
_local3.push(new Door(9, 11, 86, false, Element.clrGreen));
_local3.push(new Door(9, 13, 102, false, Element.clrGreen));
_local3.push(new Switch(10, 1, [47, 33, 32, 17, 10, 9, 8, 38, 30, 13, 14, 5, 80, 69, 92, 50, 3], false));
_local3.push(new Door(10, 2, 14, false, Element.clrRed));
_local3.push(new Door(10, 4, 30, false, Element.clrRed));
_local3.push(new Door(10, 6, 46, false, Element.clrRed));
_local3.push(new Door(10, 8, 62, false, Element.clrGreen));
_local3.push(new Switch(10, 9, [49, 65, 64, 63, 61, 69, 101, 105, 28, 89, 24, 29, 81], true));
_local3.push(new Door(10, 10, 78, false, Element.clrBlue));
_local3.push(new Door(10, 12, 94, false, Element.clrBlue));
_local3.push(new Door(11, 1, 7, false, Element.clrGreen));
_local3.push(new Door(11, 3, 23, false, Element.clrBlue));
_local3.push(new Door(11, 5, 39, false, Element.clrBlue));
_local3.push(new Switch(11, 6, [7, 8, 9, 10, 17, 33, 32, 40, 80, 69], false));
_local3.push(new Door(11, 7, 55, false, Element.clrRed));
_local3.push(new Door(11, 9, 71, false, Element.clrBlue));
_local3.push(new Door(11, 11, 87, false, Element.clrBlue));
_local3.push(new Switch(11, 12, [81, 80, 97, 65, 49, 103, 102, 86, 24, 53, 6, 98, 32, 11], false));
_local3.push(new Door(11, 13, 103, false, Element.clrGreen));
_local3.push(new Door(12, 2, 15, false, Element.clrRed));
_local3.push(new Switch(12, 3, [1], true));
_local3.push(new Door(12, 4, 31, false, Element.clrGreen));
_local3.push(new Door(12, 6, 47, false, Element.clrRed));
_local3.push(new Door(12, 8, 63, false, Element.clrBlue));
_local3.push(new Door(12, 10, 79, false, Element.clrGreen));
_local3.push(new Door(12, 12, 95, false, Element.clrGreen));
_local3.push(new Door(13, 1, 8, false, Element.clrRed));
_local3.push(new Door(13, 3, 24, false, Element.clrRed));
_local3.push(new Door(13, 5, 40, false, Element.clrBlue));
_local3.push(new Door(13, 7, 56, false, Element.clrGreen));
_local3.push(new Door(13, 9, 72, false, Element.clrGreen));
_local3.push(new Door(13, 11, 88, false, Element.clrRed));
_local3.push(new Door(13, 13, 104, false, Element.clrBlue));
_local3.push(new Door(14, 2, 16, false, Element.clrBlue));
_local3.push(new Door(14, 4, 32, false, Element.clrGreen));
_local3.push(new Door(14, 6, 48, false, Element.clrGreen));
_local3.push(new Door(14, 8, 64, false, Element.clrRed));
_local3.push(new Door(14, 10, 80, false, Element.clrGreen));
_local3.push(new Door(14, 12, 96, false, Element.clrRed));
_local3.push(new Door(15, 1, 9, false, Element.clrRed));
_local3.push(new Door(15, 3, 25, false, Element.clrGreen));
_local3.push(new Door(15, 5, 41, false, Element.clrRed));
_local3.push(new Switch(15, 6, [80, 79, 95, 64, 63, 62, 24, 53, 6, 101, 105, 28, 97], true));
_local3.push(new Door(15, 7, 57, false, Element.clrRed));
_local3.push(new Door(15, 9, 73, false, Element.clrRed));
_local3.push(new Door(15, 11, 89, false, Element.clrGreen));
_local3.push(new Door(15, 13, 105, false, Element.clrRed));
_local3.push(new Door(16, 2, 17, false, Element.clrBlue));
_local3.push(new Door(16, 4, 33, false, Element.clrRed));
_local3.push(new Door(16, 6, 49, false, Element.clrBlue));
_local3.push(new Door(16, 8, 65, false, Element.clrGreen));
_local3.push(new Door(16, 10, 81, false, Element.clrBlue));
_local3.push(new Door(16, 12, 97, false, Element.clrBlue));
_local3.push(new Switch(16, 13, [80, 79, 95, 65, 49, 74, 66, 50, 34, 33, 10, 77, 55, 21, 24, 53, 6, 17], false));
_local3.push(new Door(17, 1, 10, false, Element.clrBlue));
_local3.push(new Door(17, 3, 26, false, Element.clrRed));
_local3.push(new Door(17, 5, 42, false, Element.clrGreen));
_local3.push(new Door(17, 7, 58, false, Element.clrBlue));
_local3.push(new Door(17, 9, 74, false, Element.clrRed));
_local3.push(new Door(17, 11, 90, false, Element.clrRed));
_local3.push(new Door(17, 13, 106, false, Element.clrRed));
_local3.push(new Switch(18, 1, [34, 50, 66, 74, 81, 97, 32, 40, 47, 9, 8, 7, 77, 55, 21, 80, 69, 21], false));
_local3.push(new Door(18, 2, 18, false, Element.clrGreen));
_local3.push(new Door(18, 4, 34, false, Element.clrBlue));
_local3.push(new Door(18, 6, 50, false, Element.clrRed));
_local3.push(new Door(18, 8, 66, false, Element.clrBlue));
_local3.push(new Door(18, 10, 82, false, Element.clrRed));
_local3.push(new Door(18, 12, 98, false, Element.clrBlue));
_local3.push(new Wall(19, 1));
_local3.push(new Wall(19, 2));
_local3.push(new Wall(19, 3));
_local3.push(new Wall(19, 4));
_local3.push(new Wall(19, 5));
_local3.push(new Wall(19, 6));
_local3.push(new Door(19, 7, 2, false, Element.clrGreen));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 9));
_local3.push(new Wall(19, 10));
_local3.push(new Wall(19, 11));
_local3.push(new Wall(19, 12));
_local3.push(new Wall(19, 13));
_local3.push(new Switch(20, 1, [2, 50, 34, 33, 10, 17, 66, 74, 81, 97, 77, 55, 21], true));
_local3.push(new Headquater(20, 13));
_local3.push(new Tank(20, 13, false, false, false));
} else {
if (currentLevel == 8){
_local3.push(new CapsuleHole(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 6));
_local3.push(new Headquater(1, 13));
_local3.push(new Tank(1, 13, true, false, false));
_local3.push(new Door(2, 3, 1, false, Element.clrGreen));
_local3.push(new Wall(2, 4));
_local3.push(new Wall(2, 6));
_local3.push(new Wall(2, 8));
_local3.push(new Wall(2, 9));
_local3.push(new Wall(2, 10));
_local3.push(new Wall(2, 11));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Wall(3, 2));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 6));
_local3.push(new Wall(4, 2));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 7));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 8));
_local3.push(new Wall(6, 9));
_local3.push(new Wall(6, 10));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(7, 2));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 7));
_local3.push(new Wall(8, 8));
_local3.push(new Wall(8, 10));
_local3.push(new Wall(9, 2));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 10));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 2));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 5));
_local3.push(new Wall(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 10));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 10));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 8));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 6));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 9));
_local3.push(new Wall(15, 10));
_local3.push(new Wall(15, 11));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(17, 2));
_local3.push(new Wall(17, 4));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 10));
_local3.push(new Wall(17, 11));
_local3.push(new Wall(17, 12));
_local3.push(new Wall(18, 2));
_local3.push(new Switch(18, 5, [1], true));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 9));
_local3.push(new Wall(19, 2));
_local3.push(new Wall(19, 3));
_local3.push(new Wall(19, 4));
_local3.push(new Wall(19, 5));
_local3.push(new Wall(19, 6));
_local3.push(new Wall(19, 7));
_local3.push(new Wall(19, 9));
_local3.push(new Wall(19, 11));
_local3.push(new Wall(19, 12));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 9));
_local3.push(new Capsule(20, 13));
} else {
if (currentLevel == 9){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 4));
_local3.push(new Wall(1, 5));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(1, 12));
_local3.push(new Wall(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new PowerDown(2, 2, PowerDown.typeLight));
_local3.push(new Capsule(2, 4));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 6));
_local3.push(new Door(2, 10, 3, false, Element.clrRed));
_local3.push(new PowerDown(2, 11, PowerDown.typeLight));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Door(3, 2, 2, false, Element.clrRed));
_local3.push(new Wall(3, 3));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 6));
_local3.push(new Wall(3, 8));
_local3.push(new Wall(3, 9));
_local3.push(new Wall(3, 10));
_local3.push(new Wall(3, 11));
_local3.push(new CapsuleHole(3, 12));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 1));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 8));
_local3.push(new Switch(4, 9, [1], true));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(4, 13));
_local3.push(new Wall(5, 1));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 2));
_local3.push(new Switch(6, 3, [4], true));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 9));
_local3.push(new Wall(6, 10));
_local3.push(new Wall(6, 11));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Wall(8, 6));
_local3.push(new PowerDown(8, 7, PowerDown.typeDark));
_local3.push(new Wall(8, 9));
_local3.push(new Wall(8, 11));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 4));
_local3.push(new PowerDown(10, 5, PowerDown.typeDark));
_local3.push(new Headquater(10, 7));
_local3.push(new Tank(10, 7, false, false, false));
_local3.push(new PowerDown(10, 9, PowerDown.typeDark));
_local3.push(new Wall(10, 11));
_local3.push(new Switch(10, 12, [2], true));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 10));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 5));
_local3.push(new Wall(12, 6));
_local3.push(new PowerDown(12, 7, PowerDown.typeDark));
_local3.push(new Wall(12, 10));
_local3.push(new Wall(12, 11));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Switch(13, 4, [3], true));
_local3.push(new Wall(13, 5));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 7));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 3));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 5));
_local3.push(new Wall(15, 6));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 9));
_local3.push(new Wall(15, 10));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 1));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 12));
_local3.push(new Wall(16, 13));
_local3.push(new Wall(17, 1));
_local3.push(new Wall(17, 3));
_local3.push(new Wall(17, 4));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 10));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 3));
_local3.push(new CapsuleHole(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 10));
_local3.push(new Wall(18, 11));
_local3.push(new Door(18, 12, 4, false, Element.clrRed));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 1));
_local3.push(new Door(19, 3, 1, false, Element.clrRed));
_local3.push(new PowerDown(19, 4, PowerDown.typeLight));
_local3.push(new Wall(19, 5));
_local3.push(new Wall(19, 6));
_local3.push(new Wall(19, 10));
_local3.push(new Capsule(19, 11));
_local3.push(new PowerDown(19, 12, PowerDown.typeLight));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 3));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 10){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 4));
_local3.push(new Wall(1, 5));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(1, 12));
_local3.push(new Wall(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new PowerDown(2, 3, PowerDown.typeLight));
_local3.push(new Wall(2, 8));
_local3.push(new Capsule(2, 11));
_local3.push(new Capsule(2, 12));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Wall(3, 2));
_local3.push(new Door(3, 3, 2, true, Element.clrRed));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 5));
_local3.push(new Door(3, 8, 1, false, Element.clrBlue));
_local3.push(new Wall(3, 11));
_local3.push(new Wall(3, 12));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 1));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 13));
_local3.push(new Wall(5, 1));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Headquater(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 5));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 11));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 3));
_local3.push(new Switch(8, 4, [2], true));
_local3.push(new Wall(8, 8));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 10));
_local3.push(new Wall(9, 11));
_local3.push(new Door(9, 12, 1, true, Element.clrBlue));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 6));
_local3.push(new Wall(10, 9));
_local3.push(new CapsuleHole(10, 10));
_local3.push(new Door(10, 12, 2, false, Element.clrRed));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 5));
_local3.push(new Wall(11, 6));
_local3.push(new Headquater(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new CapsuleHole(11, 10));
_local3.push(new Door(11, 12, 2, false, Element.clrRed));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 9));
_local3.push(new Wall(12, 10));
_local3.push(new Wall(12, 11));
_local3.push(new Door(12, 12, 1, true, Element.clrBlue));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 5));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 7));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 11));
_local3.push(new PowerDown(14, 12, PowerDown.typeDark));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 3));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 7));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 1));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 12));
_local3.push(new Wall(16, 13));
_local3.push(new Wall(17, 1));
_local3.push(new Wall(17, 2));
_local3.push(new Wall(17, 4));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 5));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 9));
_local3.push(new Wall(18, 11));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 1));
_local3.push(new Switch(19, 2, [1], true));
_local3.push(new Wall(19, 3));
_local3.push(new Wall(19, 7));
_local3.push(new Wall(19, 11));
_local3.push(new Headquater(19, 12));
_local3.push(new Tank(19, 12, false, false, false));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 3));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 11){
_local3.push(new Button(1, 2, [3], Element.clrRed));
_local3.push(new Wall(1, 5));
_local3.push(new CapsuleHole(1, 6));
_local3.push(new CapsuleHole(1, 7));
_local3.push(new CapsuleHole(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Headquater(1, 13));
_local3.push(new Tank(1, 13, false, false, false));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 6));
_local3.push(new Door(2, 7, 2, false, Element.clrBlue));
_local3.push(new Wall(2, 8));
_local3.push(new Wall(2, 9));
_local3.push(new ScrollPad(4, 1, Element.dirRight));
_local3.push(new Wall(4, 2));
_local3.push(new Wall(4, 3));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 12));
_local3.push(new ScrollPad(4, 13, Element.dirLeft));
_local3.push(new ScrollPad(5, 1, Element.dirRight));
_local3.push(new ScrollPad(5, 2, Element.dirUp));
_local3.push(new ScrollPad(5, 3, Element.dirUp));
_local3.push(new ScrollPad(5, 4, Element.dirUp));
_local3.push(new ScrollPad(5, 5, Element.dirUp));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 8));
_local3.push(new ScrollPad(5, 9, Element.dirDown));
_local3.push(new ScrollPad(5, 10, Element.dirDown));
_local3.push(new ScrollPad(5, 11, Element.dirDown));
_local3.push(new ScrollPad(5, 12, Element.dirDown));
_local3.push(new ScrollPad(5, 13, Element.dirLeft));
_local3.push(new ScrollPad(6, 1, Element.dirRight));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 3));
_local3.push(new Switch(6, 5, [1], true));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 8));
_local3.push(new Switch(6, 9, [2], true));
_local3.push(new Wall(6, 11));
_local3.push(new Wall(6, 12));
_local3.push(new ScrollPad(6, 13, Element.dirLeft));
_local3.push(new ScrollPad(7, 1, Element.dirRight));
_local3.push(new Wall(7, 2));
_local3.push(new PowerDown(7, 3, PowerDown.typeInvUD));
_local3.push(new Wall(7, 6));
_local3.push(new Door(7, 7, 3, false, Element.clrRed));
_local3.push(new Wall(7, 8));
_local3.push(new PowerDown(7, 11, PowerDown.typeInvUD));
_local3.push(new Wall(7, 12));
_local3.push(new ScrollPad(7, 13, Element.dirLeft));
_local3.push(new ScrollPad(8, 1, Element.dirRight));
_local3.push(new Wall(8, 2));
_local3.push(new Door(8, 3, 4, false, Element.clrRed));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 8));
_local3.push(new Wall(8, 9));
_local3.push(new Wall(8, 10));
_local3.push(new Door(8, 11, 1, false, Element.clrRed));
_local3.push(new Wall(8, 12));
_local3.push(new ScrollPad(8, 13, Element.dirLeft));
_local3.push(new ScrollPad(9, 1, Element.dirRight));
_local3.push(new Wall(9, 2));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(9, 12));
_local3.push(new ScrollPad(9, 13, Element.dirLeft));
_local3.push(new ScrollPad(10, 1, Element.dirRight));
_local3.push(new Wall(10, 2));
_local3.push(new Wall(10, 3));
_local3.push(new Wall(10, 5));
_local3.push(new Wall(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 9));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new ScrollPad(10, 13, Element.dirLeft));
_local3.push(new ScrollPad(11, 1, Element.dirRight));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 12));
_local3.push(new ScrollPad(11, 13, Element.dirLeft));
_local3.push(new ScrollPad(12, 1, Element.dirRight));
_local3.push(new Wall(12, 2));
_local3.push(new Wall(12, 3));
_local3.push(new Wall(12, 4));
_local3.push(new Door(12, 5, 4, false, Element.clrRed));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 8));
_local3.push(new Door(12, 9, 1, false, Element.clrRed));
_local3.push(new Wall(12, 10));
_local3.push(new Wall(12, 11));
_local3.push(new Wall(12, 12));
_local3.push(new ScrollPad(12, 13, Element.dirLeft));
_local3.push(new ScrollPad(13, 1, Element.dirRight));
_local3.push(new Wall(13, 2));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 12));
_local3.push(new ScrollPad(13, 13, Element.dirLeft));
_local3.push(new ScrollPad(14, 1, Element.dirRight));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 8));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 12));
_local3.push(new ScrollPad(14, 13, Element.dirLeft));
_local3.push(new ScrollPad(15, 1, Element.dirRight));
_local3.push(new Wall(15, 2));
_local3.push(new PowerDown(15, 3, PowerDown.typeInvLR));
_local3.push(new Wall(15, 4));
_local3.push(new Door(15, 6, 4, false, Element.clrRed));
_local3.push(new Door(15, 8, 1, false, Element.clrRed));
_local3.push(new Wall(15, 10));
_local3.push(new PowerDown(15, 11, PowerDown.typeInvLR));
_local3.push(new Wall(15, 12));
_local3.push(new ScrollPad(15, 13, Element.dirLeft));
_local3.push(new ScrollPad(16, 1, Element.dirRight));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 10));
_local3.push(new Wall(16, 12));
_local3.push(new ScrollPad(16, 13, Element.dirLeft));
_local3.push(new ScrollPad(17, 1, Element.dirRight));
_local3.push(new Wall(17, 2));
_local3.push(new Wall(17, 6));
_local3.push(new Button(17, 7, [4], Element.clrRed));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 12));
_local3.push(new ScrollPad(17, 13, Element.dirLeft));
_local3.push(new ScrollPad(18, 1, Element.dirRight));
_local3.push(new Wall(18, 2));
_local3.push(new Wall(18, 3));
_local3.push(new Wall(18, 4));
_local3.push(new Wall(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 9));
_local3.push(new Wall(18, 10));
_local3.push(new Wall(18, 11));
_local3.push(new Wall(18, 12));
_local3.push(new ScrollPad(18, 13, Element.dirLeft));
_local3.push(new Box(19, 4));
_local3.push(new Box(19, 9));
_local3.push(new Box(19, 10));
_local3.push(new Capsule(20, 1));
_local3.push(new Box(20, 4));
_local3.push(new Box(20, 5));
_local3.push(new Headquater(20, 7));
_local3.push(new Capsule(20, 9));
_local3.push(new Box(20, 10));
_local3.push(new Capsule(20, 11));
} else {
if (currentLevel == 12){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 4));
_local3.push(new Wall(1, 5));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(1, 12));
_local3.push(new Wall(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Wall(3, 3));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 6));
_local3.push(new Wall(3, 7));
_local3.push(new Wall(3, 8));
_local3.push(new Wall(3, 9));
_local3.push(new Wall(3, 10));
_local3.push(new Wall(3, 11));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 1));
_local3.push(new Wall(4, 3));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 13));
_local3.push(new Wall(5, 1));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Wall(5, 11));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 3));
_local3.push(new Wall(6, 5));
_local3.push(new Capsule(6, 6));
_local3.push(new Wall(6, 11));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 9));
_local3.push(new Wall(9, 10));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Headquater(10, 12));
_local3.push(new Tank(10, 12, true, true, true));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 5));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 7));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 9));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 3));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 5));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 7));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 8));
_local3.push(new Wall(14, 11));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 3));
_local3.push(new Wall(15, 5));
_local3.push(new Wall(15, 6));
_local3.push(new CapsuleHole(15, 8));
_local3.push(new Wall(15, 9));
_local3.push(new Wall(15, 11));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 1));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 6));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Wall(16, 11));
_local3.push(new Wall(16, 13));
_local3.push(new Wall(17, 1));
_local3.push(new Wall(17, 3));
_local3.push(new Wall(17, 11));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 3));
_local3.push(new Wall(18, 4));
_local3.push(new Wall(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 9));
_local3.push(new Wall(18, 10));
_local3.push(new Wall(18, 11));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 1));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 3));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 13){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 4));
_local3.push(new Wall(1, 5));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(1, 12));
_local3.push(new Wall(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new Wall(2, 3));
_local3.push(new Wall(2, 10));
_local3.push(new Wall(2, 11));
_local3.push(new Headquater(2, 12));
_local3.push(new Tank(2, 12, false, false, false));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new CapsuleHole(3, 2));
_local3.push(new Door(3, 3, 2, false, Element.clrRed));
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 6));
_local3.push(new Wall(3, 7));
_local3.push(new Wall(3, 8));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 1));
_local3.push(new Wall(4, 3));
_local3.push(new Wall(4, 7));
_local3.push(new Headquater(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(4, 13));
_local3.push(new Wall(5, 1));
_local3.push(new Wall(5, 2));
_local3.push(new Wall(5, 3));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 7));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 5));
_local3.push(new Wall(6, 7));
_local3.push(new Wall(6, 8));
_local3.push(new Wall(6, 10));
_local3.push(new Wall(6, 11));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 3));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 7));
_local3.push(new Wall(8, 10));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 3));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 5));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 9));
_local3.push(new Button(9, 12, [3], Element.clrBlue));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 9));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 7));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 9));
_local3.push(new Wall(11, 11));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 7));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 3));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 5));
_local3.push(new Wall(13, 7));
_local3.push(new Wall(13, 9));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 11));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 5));
_local3.push(new Wall(14, 7));
_local3.push(new Door(14, 8, 3, false, Element.clrGreen));
_local3.push(new Wall(14, 9));
_local3.push(new ScrollPad(14, 10, Element.dirRight));
_local3.push(new ScrollPad(14, 11, Element.dirUp));
_local3.push(new ScrollPad(14, 12, Element.dirUp));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 2));
_local3.push(new Wall(15, 3));
_local3.push(new Wall(15, 5));
_local3.push(new Wall(15, 7));
_local3.push(new Wall(15, 9));
_local3.push(new ScrollPad(15, 10, Element.dirRight));
_local3.push(new Capsule(15, 10));
_local3.push(new ScrollPad(15, 12, Element.dirLeft));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 1));
_local3.push(new Headquater(16, 2));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 7));
_local3.push(new Wall(16, 9));
_local3.push(new ScrollPad(16, 10, Element.dirRight));
_local3.push(new ScrollPad(16, 12, Element.dirLeft));
_local3.push(new Box(16, 12));
_local3.push(new Wall(16, 13));
_local3.push(new Wall(17, 1));
_local3.push(new Door(17, 3, 2, false, Element.clrRed));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 9));
_local3.push(new ScrollPad(17, 10, Element.dirRight));
_local3.push(new ScrollPad(17, 12, Element.dirLeft));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 4));
_local3.push(new Wall(18, 6));
_local3.push(new Wall(18, 7));
_local3.push(new Wall(18, 9));
_local3.push(new ScrollPad(18, 10, Element.dirRight));
_local3.push(new ScrollPad(18, 12, Element.dirLeft));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 1));
_local3.push(new CapsuleHole(19, 2));
_local3.push(new Wall(19, 4));
_local3.push(new Wall(19, 6));
_local3.push(new Button(19, 7, [2], Element.clrRed));
_local3.push(new Wall(19, 9));
_local3.push(new ScrollPad(19, 10, Element.dirDown));
_local3.push(new ScrollPad(19, 11, Element.dirDown));
_local3.push(new Capsule(19, 11));
_local3.push(new ScrollPad(19, 12, Element.dirLeft));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 3));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 14){
_local3.push(new CapsuleHole(1, 1));
_local3.push(new Headquater(1, 13));
_local3.push(new Tank(1, 13, false, false, false));
_local3.push(new Wall(2, 2));
_local3.push(new Wall(2, 3));
_local3.push(new Wall(2, 4));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 6));
_local3.push(new Wall(2, 7));
_local3.push(new Wall(2, 8));
_local3.push(new Wall(2, 9));
_local3.push(new Wall(2, 10));
_local3.push(new Wall(2, 11));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(3, 2));
_local3.push(new ScrollPad(3, 3, Element.dirRight));
_local3.push(new ScrollPad(3, 4, Element.dirUp));
_local3.push(new ScrollPad(3, 5, Element.dirUp));
_local3.push(new ScrollPad(3, 6, Element.dirUp));
_local3.push(new ScrollPad(3, 7, Element.dirUp));
_local3.push(new ScrollPad(3, 8, Element.dirUp));
_local3.push(new ScrollPad(3, 9, Element.dirUp));
_local3.push(new ScrollPad(3, 10, Element.dirUp));
_local3.push(new ScrollPad(3, 11, Element.dirUp));
_local3.push(new Wall(3, 12));
_local3.push(new Wall(4, 2));
_local3.push(new ScrollPad(4, 3, Element.dirRight));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 7));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new ScrollPad(4, 11, Element.dirLeft));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(5, 2));
_local3.push(new ScrollPad(5, 3, Element.dirRight));
_local3.push(new Wall(5, 4));
_local3.push(new Wall(5, 10));
_local3.push(new ScrollPad(5, 11, Element.dirLeft));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 2));
_local3.push(new ScrollPad(6, 3, Element.dirRight));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 6));
_local3.push(new Wall(6, 7));
_local3.push(new Wall(6, 8));
_local3.push(new Wall(6, 10));
_local3.push(new ScrollPad(6, 11, Element.dirLeft));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(7, 2));
_local3.push(new ScrollPad(7, 3, Element.dirRight));
_local3.push(new Wall(7, 4));
_local3.push(new Wall(7, 6));
_local3.push(new Capsule(7, 7));
_local3.push(new Door(7, 8, 1, false, Element.clrBlue));
_local3.push(new Wall(7, 10));
_local3.push(new ScrollPad(7, 11, Element.dirLeft));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 2));
_local3.push(new ScrollPad(8, 3, Element.dirRight));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 6));
_local3.push(new Capsule(8, 7));
_local3.push(new Wall(8, 8));
_local3.push(new Wall(8, 10));
_local3.push(new ScrollPad(8, 11, Element.dirLeft));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 2));
_local3.push(new ScrollPad(9, 3, Element.dirRight));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 6));
_local3.push(new Wall(9, 7));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 10));
_local3.push(new ScrollPad(9, 11, Element.dirLeft));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 2));
_local3.push(new ScrollPad(10, 3, Element.dirRight));
_local3.push(new Wall(10, 10));
_local3.push(new ScrollPad(10, 11, Element.dirLeft));
_local3.push(new Wall(11, 2));
_local3.push(new ScrollPad(11, 3, Element.dirRight));
_local3.push(new Wall(11, 10));
_local3.push(new ScrollPad(11, 11, Element.dirLeft));
_local3.push(new Wall(12, 2));
_local3.push(new ScrollPad(12, 3, Element.dirRight));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 7));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 10));
_local3.push(new ScrollPad(12, 11, Element.dirLeft));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(13, 2));
_local3.push(new ScrollPad(13, 3, Element.dirRight));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 6));
_local3.push(new Button(13, 7, [1], Element.clrRed));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 10));
_local3.push(new ScrollPad(13, 11, Element.dirLeft));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 2));
_local3.push(new ScrollPad(14, 3, Element.dirRight));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 6));
_local3.push(new Capsule(14, 7));
_local3.push(new Wall(14, 10));
_local3.push(new ScrollPad(14, 11, Element.dirLeft));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(15, 2));
_local3.push(new ScrollPad(15, 3, Element.dirRight));
_local3.push(new Wall(15, 4));
_local3.push(new Wall(15, 6));
_local3.push(new Wall(15, 7));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 10));
_local3.push(new ScrollPad(15, 11, Element.dirLeft));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(16, 2));
_local3.push(new ScrollPad(16, 3, Element.dirRight));
_local3.push(new Wall(16, 4));
_local3.push(new Headquater(16, 5));
_local3.push(new Wall(16, 10));
_local3.push(new ScrollPad(16, 11, Element.dirLeft));
_local3.push(new Wall(16, 12));
_local3.push(new Wall(17, 2));
_local3.push(new ScrollPad(17, 3, Element.dirRight));
_local3.push(new Wall(17, 4));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new Wall(17, 7));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 10));
_local3.push(new ScrollPad(17, 11, Element.dirLeft));
_local3.push(new Wall(17, 12));
_local3.push(new Wall(18, 2));
_local3.push(new ScrollPad(18, 3, Element.dirDown));
_local3.push(new ScrollPad(18, 4, Element.dirDown));
_local3.push(new ScrollPad(18, 5, Element.dirDown));
_local3.push(new ScrollPad(18, 6, Element.dirDown));
_local3.push(new ScrollPad(18, 7, Element.dirDown));
_local3.push(new ScrollPad(18, 8, Element.dirDown));
_local3.push(new ScrollPad(18, 9, Element.dirDown));
_local3.push(new ScrollPad(18, 10, Element.dirDown));
_local3.push(new ScrollPad(18, 11, Element.dirLeft));
_local3.push(new Wall(18, 12));
_local3.push(new Wall(19, 2));
_local3.push(new Wall(19, 3));
_local3.push(new Wall(19, 4));
_local3.push(new Wall(19, 5));
_local3.push(new Wall(19, 6));
_local3.push(new Wall(19, 7));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 9));
_local3.push(new Wall(19, 10));
_local3.push(new Wall(19, 11));
_local3.push(new Wall(19, 12));
_local3.push(new CapsuleHole(20, 1));
_local3.push(new CapsuleHole(20, 13));
} else {
if (currentLevel == 15){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 6));
_local3.push(new CapsuleHole(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Door(1, 10, 5, false, Element.clrRed));
_local3.push(new Door(1, 12, 3, false, Element.clrGreen));
_local3.push(new Wall(2, 2));
_local3.push(new Wall(2, 6));
_local3.push(new ScrollPad(2, 7, Element.dirLeft));
_local3.push(new Wall(2, 8));
_local3.push(new Door(2, 10, 5, false, Element.clrRed));
_local3.push(new Switch(2, 11, [6], true));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(3, 3));
_local3.push(new Wall(3, 6));
_local3.push(new ScrollPad(3, 7, Element.dirLeft));
_local3.push(new Wall(3, 8));
_local3.push(new Capsule(3, 9));
_local3.push(new Door(3, 10, 5, false, Element.clrRed));
_local3.push(new Wall(3, 11));
_local3.push(new Headquater(3, 12));
_local3.push(new Wall(4, 4));
_local3.push(new Wall(4, 6));
_local3.push(new ScrollPad(4, 7, Element.dirLeft));
_local3.push(new Wall(4, 8));
_local3.push(new Capsule(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Door(4, 11, 2, false, Element.clrBlue));
_local3.push(new Door(4, 12, 2, false, Element.clrBlue));
_local3.push(new Wall(5, 5));
_local3.push(new Wall(5, 6));
_local3.push(new ScrollPad(5, 7, Element.dirLeft));
_local3.push(new Wall(5, 8));
_local3.push(new Wall(5, 9));
_local3.push(new Box(5, 10));
_local3.push(new Wall(5, 12));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 2));
_local3.push(new Wall(6, 3));
_local3.push(new Wall(6, 4));
_local3.push(new Wall(6, 5));
_local3.push(new Wall(6, 6));
_local3.push(new ScrollPad(6, 7, Element.dirLeft));
_local3.push(new Wall(6, 8));
_local3.push(new Wall(6, 9));
_local3.push(new Box(6, 10));
_local3.push(new Wall(6, 12));
_local3.push(new Button(6, 13, [4], Element.clrBlue));
_local3.push(new CapsuleHole(7, 1));
_local3.push(new ScrollPad(7, 2, Element.dirUp));
_local3.push(new ScrollPad(7, 3, Element.dirUp));
_local3.push(new ScrollPad(7, 4, Element.dirUp));
_local3.push(new ScrollPad(7, 5, Element.dirUp));
_local3.push(new ScrollPad(7, 6, Element.dirUp));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 2));
_local3.push(new Wall(8, 3));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Wall(8, 6));
_local3.push(new Wall(8, 11));
_local3.push(new Button(9, 11, [1], Element.clrRed));
_local3.push(new Wall(9, 12));
_local3.push(new PowerDown(9, 13, PowerDown.typeDark));
_local3.push(new Wall(10, 4));
_local3.push(new Headquater(10, 7));
_local3.push(new Tank(10, 7, false, false, false));
_local3.push(new Wall(10, 11));
_local3.push(new Wall(11, 3));
_local3.push(new Wall(11, 10));
_local3.push(new PowerDown(12, 1, PowerDown.typeDark));
_local3.push(new Wall(12, 2));
_local3.push(new Button(12, 3, [2], Element.clrRed));
_local3.push(new Wall(13, 3));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 9));
_local3.push(new Wall(13, 10));
_local3.push(new Wall(13, 11));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 4));
_local3.push(new ScrollPad(14, 8, Element.dirDown));
_local3.push(new ScrollPad(14, 9, Element.dirDown));
_local3.push(new ScrollPad(14, 10, Element.dirDown));
_local3.push(new ScrollPad(14, 11, Element.dirDown));
_local3.push(new ScrollPad(14, 12, Element.dirDown));
_local3.push(new CapsuleHole(14, 13));
_local3.push(new Button(15, 1, [3], Element.clrBlue));
_local3.push(new Wall(15, 2));
_local3.push(new Box(15, 4));
_local3.push(new Wall(15, 5));
_local3.push(new Wall(15, 6));
_local3.push(new ScrollPad(15, 7, Element.dirRight));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 9));
_local3.push(new Wall(15, 10));
_local3.push(new Wall(15, 11));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 2));
_local3.push(new Box(16, 4));
_local3.push(new Wall(16, 5));
_local3.push(new Wall(16, 6));
_local3.push(new ScrollPad(16, 7, Element.dirRight));
_local3.push(new Wall(16, 8));
_local3.push(new Wall(16, 9));
_local3.push(new Door(17, 2, 1, false, Element.clrBlue));
_local3.push(new Door(17, 3, 1, false, Element.clrBlue));
_local3.push(new Wall(17, 4));
_local3.push(new Capsule(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new ScrollPad(17, 7, Element.dirRight));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 10));
_local3.push(new Headquater(18, 2));
_local3.push(new Wall(18, 3));
_local3.push(new Door(18, 4, 6, false, Element.clrRed));
_local3.push(new Capsule(18, 5));
_local3.push(new Wall(18, 6));
_local3.push(new ScrollPad(18, 7, Element.dirRight));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 11));
_local3.push(new Wall(19, 2));
_local3.push(new Switch(19, 3, [5], true));
_local3.push(new Door(19, 4, 6, false, Element.clrRed));
_local3.push(new Wall(19, 6));
_local3.push(new ScrollPad(19, 7, Element.dirRight));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 12));
_local3.push(new Door(20, 2, 4, false, Element.clrGreen));
_local3.push(new Door(20, 4, 6, false, Element.clrRed));
_local3.push(new Wall(20, 6));
_local3.push(new CapsuleHole(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 16){
_local3.push(new Wall(1, 1));
_local3.push(new Wall(1, 2));
_local3.push(new Wall(1, 3));
_local3.push(new Wall(1, 4));
_local3.push(new Wall(1, 5));
_local3.push(new Wall(1, 6));
_local3.push(new Wall(1, 7));
_local3.push(new Wall(1, 8));
_local3.push(new Wall(1, 9));
_local3.push(new Wall(1, 10));
_local3.push(new Wall(1, 11));
_local3.push(new Wall(1, 12));
_local3.push(new Wall(1, 13));
_local3.push(new Wall(2, 1));
_local3.push(new Wall(2, 2));
_local3.push(new Wall(2, 3));
_local3.push(new Wall(2, 4));
_local3.push(new Wall(2, 5));
_local3.push(new Wall(2, 6));
_local3.push(new Wall(2, 7));
_local3.push(new CapsuleHole(2, 8));
_local3.push(new Door(2, 9, 3, false, Element.clrBlue));
_local3.push(new Wall(2, 11));
_local3.push(new Wall(2, 12));
_local3.push(new Wall(2, 13));
_local3.push(new Wall(3, 1));
_local3.push(new Wall(3, 2));
_local3.push(new Door(3, 3, 2, false, Element.clrRed));
_local3.push(new Door(3, 4, 2, false, Element.clrRed));
_local3.push(new Door(3, 5, 2, false, Element.clrRed));
_local3.push(new Door(3, 6, 2, false, Element.clrRed));
_local3.push(new Door(3, 7, 3, false, Element.clrBlue));
_local3.push(new Door(3, 8, 3, false, Element.clrBlue));
_local3.push(new Door(3, 9, 3, false, Element.clrBlue));
_local3.push(new Headquater(3, 11));
_local3.push(new Tank(3, 11, false, false, false));
_local3.push(new Wall(3, 12));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 1));
_local3.push(new Wall(4, 2));
_local3.push(new Door(4, 3, 2, false, Element.clrRed));
_local3.push(new Door(4, 4, 1, true, Element.clrGreen));
_local3.push(new Door(4, 5, 2, false, Element.clrRed));
_local3.push(new Door(4, 6, 2, false, Element.clrRed));
_local3.push(new Door(4, 7, 1, true, Element.clrGreen));
_local3.push(new Door(4, 8, 1, true, Element.clrGreen));
_local3.push(new Door(4, 9, 1, true, Element.clrGreen));
_local3.push(new Wall(4, 12));
_local3.push(new Wall(4, 13));
_local3.push(new Wall(5, 1));
_local3.push(new Wall(5, 2));
_local3.push(new Door(5, 3, 2, false, Element.clrRed));
_local3.push(new Door(5, 4, 1, true, Element.clrGreen));
_local3.push(new Door(5, 5, 2, false, Element.clrRed));
_local3.push(new Door(5, 6, 1, true, Element.clrGreen));
_local3.push(new Door(5, 7, 1, true, Element.clrGreen));
_local3.push(new Door(5, 8, 2, false, Element.clrRed));
_local3.push(new Door(5, 9, 99, false, Element.clrRed));
_local3.push(new Switch(5, 10, [1, 2, 3], true));
_local3.push(new Door(5, 11, 3, false, Element.clrBlue));
_local3.push(new Wall(5, 13));
_local3.push(new Wall(6, 1));
_local3.push(new Wall(6, 2));
_local3.push(new Door(6, 3, 2, false, Element.clrRed));
_local3.push(new Door(6, 4, 1, true, Element.clrGreen));
_local3.push(new Door(6, 5, 1, true, Element.clrGreen));
_local3.push(new Door(6, 6, 1, true, Element.clrGreen));
_local3.push(new Door(6, 7, 2, false, Element.clrRed));
_local3.push(new Door(6, 8, 2, false, Element.clrRed));
_local3.push(new Door(6, 9, 2, false, Element.clrRed));
_local3.push(new Door(6, 10, 99, false, Element.clrRed));
_local3.push(new Door(6, 11, 3, false, Element.clrBlue));
_local3.push(new CapsuleHole(6, 12));
_local3.push(new Wall(6, 13));
_local3.push(new Wall(7, 1));
_local3.push(new Wall(7, 2));
_local3.push(new Door(7, 3, 2, false, Element.clrRed));
_local3.push(new Door(7, 4, 99, true, Element.clrGreen));
_local3.push(new Door(7, 5, 2, false, Element.clrRed));
_local3.push(new Door(7, 6, 2, false, Element.clrRed));
_local3.push(new Door(7, 7, 2, false, Element.clrRed));
_local3.push(new Door(7, 8, 1, true, Element.clrGreen));
_local3.push(new Door(7, 9, 99, true, Element.clrGreen));
_local3.push(new Door(7, 10, 1, true, Element.clrGreen));
_local3.push(new Door(7, 11, 2, false, Element.clrRed));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(7, 13));
_local3.push(new Wall(8, 1));
_local3.push(new Wall(8, 2));
_local3.push(new Door(8, 3, 99, false, Element.clrRed));
_local3.push(new Door(8, 4, 1, true, Element.clrGreen));
_local3.push(new Door(8, 5, 1, true, Element.clrGreen));
_local3.push(new Door(8, 6, 1, true, Element.clrGreen));
_local3.push(new Door(8, 7, 1, true, Element.clrGreen));
_local3.push(new Door(8, 8, 1, true, Element.clrGreen));
_local3.push(new Door(8, 9, 2, false, Element.clrRed));
_local3.push(new Door(8, 10, 1, true, Element.clrGreen));
_local3.push(new Door(8, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(8, 13));
_local3.push(new Wall(9, 1));
_local3.push(new Wall(9, 2));
_local3.push(new Door(9, 3, 2, false, Element.clrRed));
_local3.push(new Door(9, 4, 2, false, Element.clrRed));
_local3.push(new Door(9, 5, 2, false, Element.clrRed));
_local3.push(new Door(9, 6, 2, false, Element.clrRed));
_local3.push(new Door(9, 7, 2, false, Element.clrRed));
_local3.push(new Door(9, 8, 1, true, Element.clrGreen));
_local3.push(new Door(9, 9, 2, false, Element.clrRed));
_local3.push(new Door(9, 10, 2, false, Element.clrRed));
_local3.push(new Door(9, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(9, 13));
_local3.push(new Wall(10, 1));
_local3.push(new Wall(10, 2));
_local3.push(new Door(10, 3, 2, false, Element.clrRed));
_local3.push(new Door(10, 4, 1, true, Element.clrGreen));
_local3.push(new Door(10, 5, 1, true, Element.clrGreen));
_local3.push(new Door(10, 6, 1, true, Element.clrGreen));
_local3.push(new Door(10, 7, 2, false, Element.clrRed));
_local3.push(new Door(10, 8, 2, false, Element.clrRed));
_local3.push(new Door(10, 9, 2, false, Element.clrRed));
_local3.push(new Door(10, 10, 1, true, Element.clrGreen));
_local3.push(new Door(10, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(10, 13));
_local3.push(new Wall(11, 1));
_local3.push(new Wall(11, 2));
_local3.push(new Door(11, 3, 2, false, Element.clrRed));
_local3.push(new Door(11, 4, 1, true, Element.clrGreen));
_local3.push(new Door(11, 5, 2, false, Element.clrRed));
_local3.push(new Door(11, 6, 1, true, Element.clrGreen));
_local3.push(new Door(11, 7, 1, true, Element.clrGreen));
_local3.push(new Door(11, 8, 1, true, Element.clrGreen));
_local3.push(new Door(11, 9, 1, true, Element.clrGreen));
_local3.push(new Door(11, 10, 1, true, Element.clrGreen));
_local3.push(new Door(11, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(11, 13));
_local3.push(new Wall(12, 1));
_local3.push(new Wall(12, 2));
_local3.push(new Door(12, 3, 2, false, Element.clrRed));
_local3.push(new Door(12, 4, 99, true, Element.clrGreen));
_local3.push(new Door(12, 5, 2, false, Element.clrRed));
_local3.push(new Door(12, 6, 2, false, Element.clrRed));
_local3.push(new Door(12, 7, 2, false, Element.clrRed));
_local3.push(new Door(12, 8, 2, false, Element.clrRed));
_local3.push(new Door(12, 9, 1, true, Element.clrGreen));
_local3.push(new Door(12, 10, 1, true, Element.clrGreen));
_local3.push(new Door(12, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(12, 13));
_local3.push(new Wall(13, 1));
_local3.push(new Wall(13, 2));
_local3.push(new Door(13, 3, 2, false, Element.clrRed));
_local3.push(new Door(13, 4, 1, true, Element.clrGreen));
_local3.push(new Door(13, 5, 2, false, Element.clrRed));
_local3.push(new Door(13, 6, 1, true, Element.clrGreen));
_local3.push(new Door(13, 7, 2, false, Element.clrRed));
_local3.push(new Door(13, 8, 2, false, Element.clrRed));
_local3.push(new Door(13, 9, 2, false, Element.clrRed));
_local3.push(new Door(13, 10, 2, false, Element.clrRed));
_local3.push(new Door(13, 11, 2, false, Element.clrRed));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(13, 13));
_local3.push(new Wall(14, 1));
_local3.push(new Wall(14, 2));
_local3.push(new Door(14, 3, 2, false, Element.clrRed));
_local3.push(new Door(14, 4, 1, true, Element.clrGreen));
_local3.push(new Door(14, 5, 1, true, Element.clrGreen));
_local3.push(new Door(14, 6, 1, true, Element.clrGreen));
_local3.push(new Door(14, 7, 1, true, Element.clrGreen));
_local3.push(new Door(14, 8, 2, false, Element.clrRed));
_local3.push(new Door(14, 9, 2, false, Element.clrRed));
_local3.push(new Door(14, 10, 2, false, Element.clrRed));
_local3.push(new Door(14, 11, 2, false, Element.clrRed));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(14, 13));
_local3.push(new Wall(15, 1));
_local3.push(new Wall(15, 2));
_local3.push(new Door(15, 3, 2, false, Element.clrRed));
_local3.push(new Door(15, 4, 1, true, Element.clrGreen));
_local3.push(new Door(15, 5, 1, true, Element.clrGreen));
_local3.push(new Door(15, 6, 2, false, Element.clrRed));
_local3.push(new Door(15, 7, 1, true, Element.clrGreen));
_local3.push(new Door(15, 8, 1, true, Element.clrGreen));
_local3.push(new Door(15, 9, 1, true, Element.clrGreen));
_local3.push(new Door(15, 10, 99, true, Element.clrGreen));
_local3.push(new Door(15, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(15, 13));
_local3.push(new Wall(16, 1));
_local3.push(new Wall(16, 2));
_local3.push(new Door(16, 3, 99, false, Element.clrRed));
_local3.push(new Door(16, 4, 99, false, Element.clrRed));
_local3.push(new Door(16, 5, 2, false, Element.clrRed));
_local3.push(new Door(16, 6, 2, false, Element.clrRed));
_local3.push(new Door(16, 7, 2, false, Element.clrRed));
_local3.push(new Door(16, 8, 2, false, Element.clrRed));
_local3.push(new Door(16, 9, 2, false, Element.clrRed));
_local3.push(new Door(16, 10, 99, true, Element.clrGreen));
_local3.push(new Door(16, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(16, 12));
_local3.push(new Wall(16, 13));
_local3.push(new Wall(17, 1));
_local3.push(new Wall(17, 2));
_local3.push(new Capsule(17, 3));
_local3.push(new Door(17, 4, 3, true, Element.clrBlue));
_local3.push(new Door(17, 6, 1, true, Element.clrGreen));
_local3.push(new Door(17, 7, 1, true, Element.clrGreen));
_local3.push(new Door(17, 8, 1, true, Element.clrGreen));
_local3.push(new Door(17, 9, 2, false, Element.clrRed));
_local3.push(new Door(17, 10, 1, true, Element.clrGreen));
_local3.push(new Door(17, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(17, 12));
_local3.push(new Wall(17, 13));
_local3.push(new Wall(18, 1));
_local3.push(new Wall(18, 2));
_local3.push(new Capsule(18, 3));
_local3.push(new Door(18, 4, 3, true, Element.clrBlue));
_local3.push(new Door(18, 6, 1, true, Element.clrGreen));
_local3.push(new Door(18, 7, 1, true, Element.clrGreen));
_local3.push(new Door(18, 8, 1, true, Element.clrGreen));
_local3.push(new Door(18, 9, 1, true, Element.clrGreen));
_local3.push(new Door(18, 10, 1, true, Element.clrGreen));
_local3.push(new Door(18, 11, 1, true, Element.clrGreen));
_local3.push(new Wall(18, 12));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 1));
_local3.push(new Wall(19, 2));
_local3.push(new Wall(19, 3));
_local3.push(new Wall(19, 4));
_local3.push(new Switch(19, 5, [1, 2, 3], true));
_local3.push(new Headquater(19, 6));
_local3.push(new Wall(19, 7));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 9));
_local3.push(new Wall(19, 10));
_local3.push(new Wall(19, 11));
_local3.push(new Wall(19, 12));
_local3.push(new Wall(19, 13));
_local3.push(new Wall(20, 1));
_local3.push(new Wall(20, 2));
_local3.push(new Wall(20, 3));
_local3.push(new Wall(20, 4));
_local3.push(new Wall(20, 5));
_local3.push(new Wall(20, 6));
_local3.push(new Wall(20, 7));
_local3.push(new Wall(20, 8));
_local3.push(new Wall(20, 9));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Wall(20, 12));
_local3.push(new Wall(20, 13));
} else {
if (currentLevel == 17){
_local3.push(new CapsuleHole(1, 12));
_local3.push(new CapsuleHole(1, 13));
_local3.push(new Wall(2, 8));
_local3.push(new Wall(2, 9));
_local3.push(new CapsuleHole(2, 12));
_local3.push(new CapsuleHole(2, 13));
_local3.push(new Wall(3, 4));
_local3.push(new Wall(3, 5));
_local3.push(new Wall(3, 7));
_local3.push(new Wall(3, 9));
_local3.push(new Headquater(3, 11));
_local3.push(new Tank(3, 11, false, false, false));
_local3.push(new Wall(3, 12));
_local3.push(new Wall(3, 13));
_local3.push(new Wall(4, 3));
_local3.push(new Button(4, 4, [5], Element.clrBlue));
_local3.push(new Wall(4, 5));
_local3.push(new Wall(4, 6));
_local3.push(new Wall(4, 7));
_local3.push(new Wall(4, 8));
_local3.push(new Wall(4, 9));
_local3.push(new Wall(4, 10));
_local3.push(new Wall(4, 11));
_local3.push(new Wall(4, 12));
_local3.push(new Switch(4, 13, [4], true));
_local3.push(new Door(5, 2, 4, false, Element.clrBlue));
_local3.push(new Door(5, 5, 5, false, Element.clrBlue));
_local3.push(new Door(5, 6, 6, false, Element.clrBlue));
_local3.push(new Capsule(5, 10));
_local3.push(new Capsule(5, 11));
_local3.push(new Wall(5, 12));
_local3.push(new Door(6, 2, 4, false, Element.clrBlue));
_local3.push(new Door(6, 5, 5, false, Element.clrBlue));
_local3.push(new Door(6, 6, 6, false, Element.clrBlue));
_local3.push(new Capsule(6, 10));
_local3.push(new Capsule(6, 11));
_local3.push(new Wall(6, 12));
_local3.push(new Wall(7, 3));
_local3.push(new Button(7, 4, [6], Element.clrBlue));
_local3.push(new Wall(7, 5));
_local3.push(new Wall(7, 6));
_local3.push(new Wall(7, 7));
_local3.push(new Wall(7, 8));
_local3.push(new Wall(7, 9));
_local3.push(new Wall(7, 10));
_local3.push(new Wall(7, 11));
_local3.push(new Wall(7, 12));
_local3.push(new Wall(8, 4));
_local3.push(new Wall(8, 5));
_local3.push(new Door(8, 8, 1, false, Element.clrGreen));
_local3.push(new Wall(8, 12));
_local3.push(new Wall(9, 4));
_local3.push(new Wall(9, 8));
_local3.push(new Wall(9, 10));
_local3.push(new Wall(9, 11));
_local3.push(new Wall(9, 12));
_local3.push(new Wall(10, 4));
_local3.push(new Wall(10, 6));
_local3.push(new Wall(10, 8));
_local3.push(new Wall(10, 10));
_local3.push(new Box(10, 11));
_local3.push(new Wall(10, 12));
_local3.push(new Wall(11, 4));
_local3.push(new Wall(11, 6));
_local3.push(new Wall(11, 8));
_local3.push(new Wall(11, 10));
_local3.push(new Box(11, 11));
_local3.push(new Wall(11, 12));
_local3.push(new Wall(12, 4));
_local3.push(new Wall(12, 6));
_local3.push(new Wall(12, 8));
_local3.push(new Wall(12, 12));
_local3.push(new Wall(13, 4));
_local3.push(new Wall(13, 6));
_local3.push(new Wall(13, 8));
_local3.push(new Wall(13, 12));
_local3.push(new Wall(14, 2));
_local3.push(new Wall(14, 3));
_local3.push(new Wall(14, 4));
_local3.push(new Wall(14, 6));
_local3.push(new Wall(14, 8));
_local3.push(new Wall(14, 9));
_local3.push(new Wall(14, 10));
_local3.push(new Wall(14, 11));
_local3.push(new Wall(14, 12));
_local3.push(new Wall(15, 6));
_local3.push(new Wall(15, 8));
_local3.push(new Wall(15, 12));
_local3.push(new Wall(16, 2));
_local3.push(new Wall(16, 3));
_local3.push(new Wall(16, 4));
_local3.push(new Wall(16, 6));
_local3.push(new Door(16, 8, 2, false, Element.clrGreen));
_local3.push(new Wall(16, 10));
_local3.push(new Door(16, 12, 3, false, Element.clrGreen));
_local3.push(new Wall(17, 5));
_local3.push(new Wall(17, 6));
_local3.push(new Wall(17, 8));
_local3.push(new Wall(17, 9));
_local3.push(new Wall(17, 10));
_local3.push(new Wall(17, 11));
_local3.push(new Wall(17, 12));
_local3.push(new Headquater(17, 13));
_local3.push(new Wall(18, 6));
_local3.push(new Switch(18, 7, [1], true));
_local3.push(new Wall(18, 8));
_local3.push(new Wall(18, 12));
_local3.push(new Wall(18, 13));
_local3.push(new Wall(19, 7));
_local3.push(new Wall(19, 8));
_local3.push(new Wall(19, 10));
_local3.push(new Button(19, 13, [2], Element.clrBlue));
_local3.push(new Headquater(20, 1));
_local3.push(new Wall(20, 10));
_local3.push(new Wall(20, 11));
_local3.push(new Button(20, 13, [3], Element.clrBlue));
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
if (app.enviroment.elements.length > 0){
app.enviroment.elements[0].SortElements();
};
app.enviroment.bottomPanel.ClearAllCommands();
app.enviroment.field.Show();
app.enviroment.activePowerPnl.Show();
}
}
}//package
Section 44
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
public dynamic class Main extends MovieClip {
public var layers:Array;
public var stageHeight:Number;
public var splash:MovieClip;
public var stageWidth:Number;
private var blackScreen:Sprite;// = null
public var siteURLs:Array;
public var paused:Boolean;// = false
public var enviroment:Enviroment;
public static var gameApp:Main;
public function Main(){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
layers = new Array(16);
siteURLs = new Array();
super();
gameApp = this;
var _local1 = "70ddc7f24aab83f7";
if (stage){
Init();
} else {
addEventListener(Event.ADDED_TO_STAGE, Init);
};
}
private function mochiLoadError(_arg1:String):void{
enviroment.topPanel.buttons[3].removeEventListener(MouseEvent.CLICK, enviroment.topPanel.onStoreClick);
enviroment.topPanel.buttons[3].addEventListener(MouseEvent.CLICK, enviroment.topPanel.onErrorStoreClick);
}
public function CanShowAnotherAds():Boolean{
if (!CanShowMochi()){
return (false);
};
if (loaderInfo.url.toLocaleLowerCase().indexOf("mochi", 0) != -1){
return (false);
};
if (loaderInfo.url.toLocaleLowerCase().indexOf("avatar256", 0) != -1){
return (false);
};
return (true);
}
private function onEnterFrameRemoveBlack(_arg1:Event):void{
if (((!((blackScreen == null))) && ((blackScreen.alpha > 0)))){
blackScreen.alpha = (blackScreen.alpha - Math.min(0.1, blackScreen.alpha));
if (blackScreen.alpha <= 0){
blackScreen.parent.removeChild(blackScreen);
removeEventListener(Event.ENTER_FRAME, onEnterFrameRemoveBlack);
};
};
}
public function CanShowMochi():Boolean{
if (loaderInfo.url.toLocaleLowerCase().indexOf("kongregate", 0) != -1){
return (false);
};
if (loaderInfo.url.toLocaleLowerCase().indexOf("armorgames", 0) != -1){
return (false);
};
if (loaderInfo.url.toLocaleLowerCase().indexOf("flashgamelicense", 0) != -1){
return (false);
};
return (true);
}
private function SetFocusTimer(_arg1:Event):void{
stage.focus = stage;
}
public function OnTrueSite():Boolean{
return (true);
}
public function CreateEnviroment():void{
enviroment = new Enviroment();
var _local1:Shape = new Shape();
_local1.graphics.beginFill(0);
_local1.graphics.drawRect(0, stageHeight, stageWidth, 1000);
layers[14].addChild(_local1);
_local1 = new Shape();
_local1.graphics.beginFill(0);
_local1.graphics.drawRect(stageWidth, 0, 1000, (stageHeight + 1000));
layers[14].addChild(_local1);
MochiServices.connect("70ddc7f24aab83f7", this, mochiLoadError);
stage.addEventListener(KeyboardEvent.KEY_DOWN, enviroment.bottomPanel.KeyDown);
addEventListener(Event.ENTER_FRAME, SetFocusTimer);
}
public function Init(_arg1:Event=null):void{
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
MochiBot.track(this, "d653fb6d");
var _local2:int;
while (_local2 < layers.length) {
layers[_local2] = new Sprite();
addChild(layers[_local2]);
_local2++;
};
siteURLs.push("http://www.sextronix.com/hit/75/110120/9/1/default/");
siteURLs.push("http://www.hentaibiz.com/hit/10/202351/9/1/default/");
siteURLs.push("http://www.sextronix.com/hit/47/110120/9/1/default/");
siteURLs.push("http://www.cartoonvalley.com/main.html?id=avatar256");
siteURLs.push("http://www.hentaibiz.com/hit/06/202351/9/1/default/");
siteURLs.push("http://www.sextronix.com/hit/19/110120/9/1/default/");
siteURLs.push("http://www.hentaibiz.com/hit/04/202351/9/1/default/");
siteURLs.push("http://www.sextronix.com/hit/93/110120/9/1/default/");
siteURLs.push("http://i-draw-porn.com/index.html?id=avatar256");
siteURLs.push("http://www.hentaibiz.com/hit/08/202351/9/1/default/");
siteURLs.push("http://www.sextronix.com/hit/51/110120/9/1/default/");
siteURLs.push("http://www.hentaibiz.com/hit/11/202351/9/1/default/");
blackScreen = new Sprite();
blackScreen.graphics.beginFill(0);
blackScreen.graphics.drawRect(0, 0, stageWidth, 493);
blackScreen.graphics.endFill();
layers[15].addChild(blackScreen);
addEventListener(Event.ENTER_FRAME, onEnterFrameRemoveBlack);
CreateEnviroment();
}
}
}//package
Section 45
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 46
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
import Tools.*;
import flash.utils.*;
import flash.net.*;
public dynamic class Preloader extends MovieClip {
private var adComplete:Boolean;// = false
private var preloderComplete:Boolean;// = false
public var imgProgressOn:Class;
private var blackScreen:Sprite;
private var progress:Array;
public var imgLogo:Class;
private var currProgrLight:int;// = 0
private var haveFinished:Boolean;// = false
private var firstDraw:Boolean;// = false
public var imgProgressOff:Class;
public static var stageWidth:Number = 550;
public static var stageHeight:Number = 400;
public function Preloader(){
var _local5:int;
imgLogo = Preloader_imgLogo;
imgProgressOff = Preloader_imgProgressOff;
imgProgressOn = Preloader_imgProgressOn;
progress = new Array(30);
super();
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var _local1:Bitmap = new imgLogo();
_local1.x = ((stageWidth / 2) - (_local1.width / 2));
_local1.y = ((stageHeight / 2) - (_local1.height / 2));
addChild(_local1);
var _local2:int;
while (_local2 < progress.length) {
progress[_local2] = new imgProgressOff();
progress[_local2].smoothing = true;
progress[_local2].rotation = ((360 / progress.length) * _local2);
progress[_local2].x = ((stageWidth / 2) + (142 * Math.cos((((progress[_local2].rotation - 90) - 8) / Utils.invPI))));
progress[_local2].y = ((stageHeight / 2) + (142 * Math.sin((((progress[_local2].rotation - 90) - 8) / Utils.invPI))));
addChild(progress[_local2]);
_local2++;
};
blackScreen = new Sprite();
blackScreen.graphics.beginFill(0);
blackScreen.graphics.drawRect(0, 0, stageWidth, stageHeight);
blackScreen.graphics.endFill();
blackScreen.alpha = 0;
addChild(blackScreen);
stop();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
var _local3:Array = new Array();
_local3.push("70ddc7f24aab83f7");
_local3.push("17414dc404dcde8a");
_local3.push("7a1c657d1aa68fb5");
_local3.push("f6b099a166b70a57");
var _local4:SharedObject = SharedObject.getLocal("ad_switch", "/");
if (_local4.data.adID001 != null){
_local5 = _local4.data.adID001;
} else {
_local5 = 1;
};
if ((((_local5 < 1)) || ((_local5 > _local3.length)))){
_local5 = 1;
};
var _local6:String = _local3[(_local5 - 1)];
_local5++;
if (_local5 > _local3.length){
_local5 = 1;
};
_local4.data.adID001 = _local5;
_local4.flush();
MochiAd.showPreGameAd({clip:this, id:_local6, res:"550x400", background:0xFFFFFF, color:14457241, outline:15073794, no_bg:false, ad_finished:adFinish, ad_failed:adFinish, ad_skipped:adFinish});
}
public function onEnterFrame(_arg1:Event):void{
var _local3:int;
var _local4:int;
var _local2:Number = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
if ((((((framesLoaded >= totalFrames)) && ((currProgrLight >= progress.length)))) && ((blackScreen.alpha < 1)))){
blackScreen.alpha = (blackScreen.alpha + 0.1);
if (blackScreen.alpha >= 1){
blackScreen.alpha = 1;
preloderComplete = true;
TryFinish();
};
} else {
if (currProgrLight < progress.length){
_local3 = Math.round((_local2 * progress.length));
if (_local3 > currProgrLight){
_local4 = currProgrLight;
while (_local4 < _local3) {
removeChild(progress[_local4]);
progress[_local4] = new imgProgressOn();
progress[_local4].smoothing = true;
progress[_local4].rotation = ((360 / progress.length) * _local4);
progress[_local4].x = ((stageWidth / 2) + (142 * Math.cos((((progress[_local4].rotation - 90) - 8) / Utils.invPI))));
progress[_local4].y = ((stageHeight / 2) + (142 * Math.sin((((progress[_local4].rotation - 90) - 8) / Utils.invPI))));
addChildAt(progress[_local4], 1);
_local4++;
};
currProgrLight = _local3;
};
};
};
}
public function TryFinish():void{
if (((((preloderComplete) && (adComplete))) && (!(haveFinished)))){
haveFinished = true;
nextFrame();
Init();
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
};
}
private function Init():void{
var _local1:Class = Class(getDefinitionByName("Main"));
var _local2:Object = new (_local1);
stage.addChild((_local2 as DisplayObject));
parent.removeChild(this);
}
public function adFinish():void{
adComplete = true;
TryFinish();
}
}
}//package
Section 47
//Preloader_imgLogo (Preloader_imgLogo)
package {
import mx.core.*;
public class Preloader_imgLogo extends BitmapAsset {
}
}//package
Section 48
//Preloader_imgProgressOff (Preloader_imgProgressOff)
package {
import mx.core.*;
public class Preloader_imgProgressOff extends BitmapAsset {
}
}//package
Section 49
//Preloader_imgProgressOn (Preloader_imgProgressOn)
package {
import mx.core.*;
public class Preloader_imgProgressOn extends BitmapAsset {
}
}//package
Section 50
//Resources (Resources)
package {
public class Resources {
public static var imgElementTank41:Class = Resources_imgElementTank41;
public static var imgElementTank42:Class = Resources_imgElementTank42;
public static var imgFieldShadowBottom:Class = Resources_imgFieldShadowBottom;
public static var imgBPRoundButtons:Class = Resources_imgBPRoundButtons;
public static var imgElementDoor1:Class = Resources_imgElementDoor1;
public static var imgVideoPrev01:Class = Resources_imgVideoPrev01;
public static var imgVideoPrev02:Class = Resources_imgVideoPrev02;
public static var imgVideoPrev03:Class = Resources_imgVideoPrev03;
public static var imgVideoPrev04:Class = Resources_imgVideoPrev04;
public static var imgVideoPrev05:Class = Resources_imgVideoPrev05;
public static var imgVideoPrev06:Class = Resources_imgVideoPrev06;
public static var imgVideoPrev07:Class = Resources_imgVideoPrev07;
public static var imgVideoPrev08:Class = Resources_imgVideoPrev08;
public static var imgVideoPrev09:Class = Resources_imgVideoPrev09;
public static var imgLogo:Class = Resources_imgLogo;
public static var imgElementDoor5:Class = Resources_imgElementDoor5;
public static var imgElementDoor4:Class = Resources_imgElementDoor4;
private static var imgBack1:Class = Resources_imgBack1;
public static var imgVideoPrev10:Class = Resources_imgVideoPrev10;
public static var imgVideoPrev11:Class = Resources_imgVideoPrev11;
public static var imgVideoPrev12:Class = Resources_imgVideoPrev12;
public static var imgVideoPrev13:Class = Resources_imgVideoPrev13;
public static var imgVideoPrev14:Class = Resources_imgVideoPrev14;
public static var imgVideoPrev15:Class = Resources_imgVideoPrev15;
public static var imgVideoPrev16:Class = Resources_imgVideoPrev16;
public static var imgVideoPrev17:Class = Resources_imgVideoPrev17;
public static var imgVideoPrev18:Class = Resources_imgVideoPrev18;
public static var imgWindowLeft:Class = Resources_imgWindowLeft;
public static var imgBPScrollButtons:Class = Resources_imgBPScrollButtons;
public static var imgElementCapsule:Class = Resources_imgElementCapsule;
public static var imgElementDoor2:Class = Resources_imgElementDoor2;
public static var imgFieldTile:Class = Resources_imgFieldTile;
public static var imgElementTank43:Class = Resources_imgElementTank43;
public static var imgBPIcons:Class = Resources_imgBPIcons;
public static var imgElementTank2:Array = new Array(4);
public static var imgElementTank3:Array = new Array(4);
public static var imgElementDoor3:Class = Resources_imgElementDoor3;
public static var imgElementTankDark:Class = Resources_imgElementTankDark;
public static var imgElementTank1:Array = new Array(4);
public static var imgBacks:Array = new Array(1);
public static var imgElementPowerDown1:Class = Resources_imgElementPowerDown1;
public static var imgElementPowerDown4:Class = Resources_imgElementPowerDown4;
public static var imgElementPowerDown5:Class = Resources_imgElementPowerDown5;
public static var imgTopButtonOff:Class = Resources_imgTopButtonOff;
public static var imgElementPowerDown2:Class = Resources_imgElementPowerDown2;
public static var imgBorderLeft:Class = Resources_imgBorderLeft;
public static var swfVideos:Array = new Array(18);
public static var imgElementPowerDown3:Class = Resources_imgElementPowerDown3;
public static var imgWindowButtonOff:Class = Resources_imgWindowButtonOff;
public static var imgActivePowerDown:Class = Resources_imgActivePowerDown;
public static var imgWindowButtonPress:Class = Resources_imgWindowButtonPress;
public static var imgElementHeadquater:Class = Resources_imgElementHeadquater;
public static var imgWindowTop:Class = Resources_imgWindowTop;
public static var imgChain:Class = Resources_imgChain;
public static var imgVideoPrev:Array = new Array(18);
public static var imgFieldShadowTop:Class = Resources_imgFieldShadowTop;
public static var imgBPScrollNumbers:Class = Resources_imgBPScrollNumbers;
public static var imgTutorLevel5_1:Class = Resources_imgTutorLevel5_1;
public static var imgTutorLevel5_2:Class = Resources_imgTutorLevel5_2;
public static var swfVideo11:Class = Resources_swfVideo11;
public static var swfVideo12:Class = Resources_swfVideo12;
public static var swfVideo13:Class = Resources_swfVideo13;
public static var imgElementScrollPad1:Class = Resources_imgElementScrollPad1;
public static var imgElementScrollPad2:Class = Resources_imgElementScrollPad2;
public static var imgElementScrollPad3:Class = Resources_imgElementScrollPad3;
public static var imgBanner01:Class = Resources_imgBanner01;
public static var imgBanner02:Class = Resources_imgBanner02;
public static var imgBanner03:Class = Resources_imgBanner03;
public static var imgBanner04:Class = Resources_imgBanner04;
public static var imgBanner05:Class = Resources_imgBanner05;
public static var imgBanner06:Class = Resources_imgBanner06;
public static var imgBanner07:Class = Resources_imgBanner07;
public static var imgBanner08:Class = Resources_imgBanner08;
public static var imgBanner09:Class = Resources_imgBanner09;
public static var swfVideo22:Class = Resources_swfVideo22;
public static var imgWindowBack:Class = Resources_imgWindowBack;
public static var swfVideo21:Class = Resources_swfVideo21;
public static var imgElementWall:Class = Resources_imgElementWall;
public static var swfVideo23:Class = Resources_swfVideo23;
public static var imgBanner10:Class = Resources_imgBanner10;
public static var imgBanner11:Class = Resources_imgBanner11;
public static var imgBanner12:Class = Resources_imgBanner12;
public static var imgTopText1:Class = Resources_imgTopText1;
public static var imgTopText2:Class = Resources_imgTopText2;
public static var imgTopText3:Class = Resources_imgTopText3;
public static var imgTopText5:Class = Resources_imgTopText5;
public static var swfVideo31:Class = Resources_swfVideo31;
public static var imgTopText7:Class = Resources_imgTopText7;
public static var swfVideo33:Class = Resources_swfVideo33;
public static var swfVideo32:Class = Resources_swfVideo32;
public static var imgElementButton1:Class = Resources_imgElementButton1;
public static var imgElementButton2:Class = Resources_imgElementButton2;
public static var imgElementButton3:Class = Resources_imgElementButton3;
public static var imgElementBox:Class = Resources_imgElementBox;
public static var swfVideo41:Class = Resources_swfVideo41;
public static var swfVideo42:Class = Resources_swfVideo42;
public static var swfVideo43:Class = Resources_swfVideo43;
public static var imgBPBackground:Class = Resources_imgBPBackground;
public static var imgWindowButtonOn:Class = Resources_imgWindowButtonOn;
public static var swfVideo51:Class = Resources_swfVideo51;
public static var swfVideo52:Class = Resources_swfVideo52;
public static var swfVideo53:Class = Resources_swfVideo53;
public static var imgBPNavigationButtons:Class = Resources_imgBPNavigationButtons;
public static var imgBanners:Array = new Array();
public static var imgElementSwitch2:Class = Resources_imgElementSwitch2;
public static var imgBorderRight:Class = Resources_imgBorderRight;
public static var imgElementSwitch1:Class = Resources_imgElementSwitch1;
public static var swfVideo61:Class = Resources_swfVideo61;
public static var swfVideo62:Class = Resources_swfVideo62;
public static var imgElementCapsuleHole1:Class = Resources_imgElementCapsuleHole1;
public static var imgElementCapsuleHole2:Class = Resources_imgElementCapsuleHole2;
public static var Font1:Class = Resources_Font1;
public static var imgElementTank11:Class = Resources_imgElementTank11;
public static var imgElementTank12:Class = Resources_imgElementTank12;
public static var imgElementTank13:Class = Resources_imgElementTank13;
public static var swfVideo63:Class = Resources_swfVideo63;
public static var imgTutorLevel2_1:Class = Resources_imgTutorLevel2_1;
public static var imgElementTank21:Class = Resources_imgElementTank21;
public static var imgElementTank22:Class = Resources_imgElementTank22;
public static var imgElementTank23:Class = Resources_imgElementTank23;
public static var imgWindowCorner:Class = Resources_imgWindowCorner;
public static var imgBPSquareButtons:Class = Resources_imgBPSquareButtons;
public static var imgElementTank31:Class = Resources_imgElementTank31;
public static var imgElementTank32:Class = Resources_imgElementTank32;
public static var imgGear3D:Class = Resources_imgGear3D;
public static var imgElementTank33:Class = Resources_imgElementTank33;
public static var imgTutorLevel1_1:Class = Resources_imgTutorLevel1_1;
public static var imgTutorLevel1_2:Class = Resources_imgTutorLevel1_2;
public static var imgTutorLevel1_3:Class = Resources_imgTutorLevel1_3;
public static var imgGear:Class = Resources_imgGear;
imgBacks[0] = imgBack1;
imgVideoPrev[0] = imgVideoPrev01;
imgVideoPrev[1] = imgVideoPrev02;
imgVideoPrev[2] = imgVideoPrev03;
imgVideoPrev[3] = imgVideoPrev04;
imgVideoPrev[4] = imgVideoPrev05;
imgVideoPrev[5] = imgVideoPrev06;
imgVideoPrev[6] = imgVideoPrev07;
imgVideoPrev[7] = imgVideoPrev08;
imgVideoPrev[8] = imgVideoPrev09;
imgVideoPrev[9] = imgVideoPrev10;
imgVideoPrev[10] = imgVideoPrev11;
imgVideoPrev[11] = imgVideoPrev12;
imgVideoPrev[12] = imgVideoPrev13;
imgVideoPrev[13] = imgVideoPrev14;
imgVideoPrev[14] = imgVideoPrev15;
imgVideoPrev[15] = imgVideoPrev16;
imgVideoPrev[16] = imgVideoPrev17;
imgVideoPrev[17] = imgVideoPrev18;
imgBanners.push(imgBanner01);
imgBanners.push(imgBanner02);
imgBanners.push(imgBanner03);
imgBanners.push(imgBanner04);
imgBanners.push(imgBanner05);
imgBanners.push(imgBanner06);
imgBanners.push(imgBanner07);
imgBanners.push(imgBanner08);
imgBanners.push(imgBanner09);
imgBanners.push(imgBanner10);
imgBanners.push(imgBanner11);
imgBanners.push(imgBanner12);
imgElementTank1[0] = imgElementTank11;
imgElementTank1[1] = imgElementTank21;
imgElementTank1[2] = imgElementTank31;
imgElementTank1[3] = imgElementTank41;
imgElementTank2[0] = imgElementTank12;
imgElementTank2[1] = imgElementTank22;
imgElementTank2[2] = imgElementTank32;
imgElementTank2[3] = imgElementTank42;
imgElementTank3[0] = imgElementTank13;
imgElementTank3[1] = imgElementTank23;
imgElementTank3[2] = imgElementTank33;
imgElementTank3[3] = imgElementTank43;
swfVideos[0] = swfVideo11;
swfVideos[1] = swfVideo12;
swfVideos[2] = swfVideo13;
swfVideos[3] = swfVideo21;
swfVideos[4] = swfVideo22;
swfVideos[5] = swfVideo23;
swfVideos[6] = swfVideo31;
swfVideos[7] = swfVideo32;
swfVideos[8] = swfVideo33;
swfVideos[9] = swfVideo41;
swfVideos[10] = swfVideo42;
swfVideos[11] = swfVideo43;
swfVideos[12] = swfVideo51;
swfVideos[13] = swfVideo52;
swfVideos[14] = swfVideo53;
swfVideos[15] = swfVideo61;
swfVideos[16] = swfVideo62;
swfVideos[17] = swfVideo63;
}
}//package
Section 51
//Resources_Font1 (Resources_Font1)
package {
import mx.core.*;
public class Resources_Font1 extends FontAsset {
}
}//package
Section 52
//Resources_imgActivePowerDown (Resources_imgActivePowerDown)
package {
import mx.core.*;
public class Resources_imgActivePowerDown extends BitmapAsset {
}
}//package
Section 53
//Resources_imgBack1 (Resources_imgBack1)
package {
import mx.core.*;
public class Resources_imgBack1 extends BitmapAsset {
}
}//package
Section 54
//Resources_imgBanner01 (Resources_imgBanner01)
package {
import mx.core.*;
public class Resources_imgBanner01 extends BitmapAsset {
}
}//package
Section 55
//Resources_imgBanner02 (Resources_imgBanner02)
package {
import mx.core.*;
public class Resources_imgBanner02 extends BitmapAsset {
}
}//package
Section 56
//Resources_imgBanner03 (Resources_imgBanner03)
package {
import mx.core.*;
public class Resources_imgBanner03 extends BitmapAsset {
}
}//package
Section 57
//Resources_imgBanner04 (Resources_imgBanner04)
package {
import mx.core.*;
public class Resources_imgBanner04 extends BitmapAsset {
}
}//package
Section 58
//Resources_imgBanner05 (Resources_imgBanner05)
package {
import mx.core.*;
public class Resources_imgBanner05 extends BitmapAsset {
}
}//package
Section 59
//Resources_imgBanner06 (Resources_imgBanner06)
package {
import mx.core.*;
public class Resources_imgBanner06 extends BitmapAsset {
}
}//package
Section 60
//Resources_imgBanner07 (Resources_imgBanner07)
package {
import mx.core.*;
public class Resources_imgBanner07 extends BitmapAsset {
}
}//package
Section 61
//Resources_imgBanner08 (Resources_imgBanner08)
package {
import mx.core.*;
public class Resources_imgBanner08 extends BitmapAsset {
}
}//package
Section 62
//Resources_imgBanner09 (Resources_imgBanner09)
package {
import mx.core.*;
public class Resources_imgBanner09 extends BitmapAsset {
}
}//package
Section 63
//Resources_imgBanner10 (Resources_imgBanner10)
package {
import mx.core.*;
public class Resources_imgBanner10 extends BitmapAsset {
}
}//package
Section 64
//Resources_imgBanner11 (Resources_imgBanner11)
package {
import mx.core.*;
public class Resources_imgBanner11 extends BitmapAsset {
}
}//package
Section 65
//Resources_imgBanner12 (Resources_imgBanner12)
package {
import mx.core.*;
public class Resources_imgBanner12 extends BitmapAsset {
}
}//package
Section 66
//Resources_imgBorderLeft (Resources_imgBorderLeft)
package {
import mx.core.*;
public class Resources_imgBorderLeft extends BitmapAsset {
}
}//package
Section 67
//Resources_imgBorderRight (Resources_imgBorderRight)
package {
import mx.core.*;
public class Resources_imgBorderRight extends BitmapAsset {
}
}//package
Section 68
//Resources_imgBPBackground (Resources_imgBPBackground)
package {
import mx.core.*;
public class Resources_imgBPBackground extends BitmapAsset {
}
}//package
Section 69
//Resources_imgBPIcons (Resources_imgBPIcons)
package {
import mx.core.*;
public class Resources_imgBPIcons extends BitmapAsset {
}
}//package
Section 70
//Resources_imgBPNavigationButtons (Resources_imgBPNavigationButtons)
package {
import mx.core.*;
public class Resources_imgBPNavigationButtons extends BitmapAsset {
}
}//package
Section 71
//Resources_imgBPRoundButtons (Resources_imgBPRoundButtons)
package {
import mx.core.*;
public class Resources_imgBPRoundButtons extends BitmapAsset {
}
}//package
Section 72
//Resources_imgBPScrollButtons (Resources_imgBPScrollButtons)
package {
import mx.core.*;
public class Resources_imgBPScrollButtons extends BitmapAsset {
}
}//package
Section 73
//Resources_imgBPScrollNumbers (Resources_imgBPScrollNumbers)
package {
import mx.core.*;
public class Resources_imgBPScrollNumbers extends BitmapAsset {
}
}//package
Section 74
//Resources_imgBPSquareButtons (Resources_imgBPSquareButtons)
package {
import mx.core.*;
public class Resources_imgBPSquareButtons extends BitmapAsset {
}
}//package
Section 75
//Resources_imgChain (Resources_imgChain)
package {
import mx.core.*;
public class Resources_imgChain extends BitmapAsset {
}
}//package
Section 76
//Resources_imgElementBox (Resources_imgElementBox)
package {
import mx.core.*;
public class Resources_imgElementBox extends BitmapAsset {
}
}//package
Section 77
//Resources_imgElementButton1 (Resources_imgElementButton1)
package {
import mx.core.*;
public class Resources_imgElementButton1 extends BitmapAsset {
}
}//package
Section 78
//Resources_imgElementButton2 (Resources_imgElementButton2)
package {
import mx.core.*;
public class Resources_imgElementButton2 extends BitmapAsset {
}
}//package
Section 79
//Resources_imgElementButton3 (Resources_imgElementButton3)
package {
import mx.core.*;
public class Resources_imgElementButton3 extends BitmapAsset {
}
}//package
Section 80
//Resources_imgElementCapsule (Resources_imgElementCapsule)
package {
import mx.core.*;
public class Resources_imgElementCapsule extends BitmapAsset {
}
}//package
Section 81
//Resources_imgElementCapsuleHole1 (Resources_imgElementCapsuleHole1)
package {
import mx.core.*;
public class Resources_imgElementCapsuleHole1 extends BitmapAsset {
}
}//package
Section 82
//Resources_imgElementCapsuleHole2 (Resources_imgElementCapsuleHole2)
package {
import mx.core.*;
public class Resources_imgElementCapsuleHole2 extends BitmapAsset {
}
}//package
Section 83
//Resources_imgElementDoor1 (Resources_imgElementDoor1)
package {
import mx.core.*;
public class Resources_imgElementDoor1 extends BitmapAsset {
}
}//package
Section 84
//Resources_imgElementDoor2 (Resources_imgElementDoor2)
package {
import mx.core.*;
public class Resources_imgElementDoor2 extends BitmapAsset {
}
}//package
Section 85
//Resources_imgElementDoor3 (Resources_imgElementDoor3)
package {
import mx.core.*;
public class Resources_imgElementDoor3 extends BitmapAsset {
}
}//package
Section 86
//Resources_imgElementDoor4 (Resources_imgElementDoor4)
package {
import mx.core.*;
public class Resources_imgElementDoor4 extends BitmapAsset {
}
}//package
Section 87
//Resources_imgElementDoor5 (Resources_imgElementDoor5)
package {
import mx.core.*;
public class Resources_imgElementDoor5 extends BitmapAsset {
}
}//package
Section 88
//Resources_imgElementHeadquater (Resources_imgElementHeadquater)
package {
import mx.core.*;
public class Resources_imgElementHeadquater extends BitmapAsset {
}
}//package
Section 89
//Resources_imgElementPowerDown1 (Resources_imgElementPowerDown1)
package {
import mx.core.*;
public class Resources_imgElementPowerDown1 extends BitmapAsset {
}
}//package
Section 90
//Resources_imgElementPowerDown2 (Resources_imgElementPowerDown2)
package {
import mx.core.*;
public class Resources_imgElementPowerDown2 extends BitmapAsset {
}
}//package
Section 91
//Resources_imgElementPowerDown3 (Resources_imgElementPowerDown3)
package {
import mx.core.*;
public class Resources_imgElementPowerDown3 extends BitmapAsset {
}
}//package
Section 92
//Resources_imgElementPowerDown4 (Resources_imgElementPowerDown4)
package {
import mx.core.*;
public class Resources_imgElementPowerDown4 extends BitmapAsset {
}
}//package
Section 93
//Resources_imgElementPowerDown5 (Resources_imgElementPowerDown5)
package {
import mx.core.*;
public class Resources_imgElementPowerDown5 extends BitmapAsset {
}
}//package
Section 94
//Resources_imgElementScrollPad1 (Resources_imgElementScrollPad1)
package {
import mx.core.*;
public class Resources_imgElementScrollPad1 extends BitmapAsset {
}
}//package
Section 95
//Resources_imgElementScrollPad2 (Resources_imgElementScrollPad2)
package {
import mx.core.*;
public class Resources_imgElementScrollPad2 extends BitmapAsset {
}
}//package
Section 96
//Resources_imgElementScrollPad3 (Resources_imgElementScrollPad3)
package {
import mx.core.*;
public class Resources_imgElementScrollPad3 extends BitmapAsset {
}
}//package
Section 97
//Resources_imgElementSwitch1 (Resources_imgElementSwitch1)
package {
import mx.core.*;
public class Resources_imgElementSwitch1 extends BitmapAsset {
}
}//package
Section 98
//Resources_imgElementSwitch2 (Resources_imgElementSwitch2)
package {
import mx.core.*;
public class Resources_imgElementSwitch2 extends BitmapAsset {
}
}//package
Section 99
//Resources_imgElementTank11 (Resources_imgElementTank11)
package {
import mx.core.*;
public class Resources_imgElementTank11 extends BitmapAsset {
}
}//package
Section 100
//Resources_imgElementTank12 (Resources_imgElementTank12)
package {
import mx.core.*;
public class Resources_imgElementTank12 extends BitmapAsset {
}
}//package
Section 101
//Resources_imgElementTank13 (Resources_imgElementTank13)
package {
import mx.core.*;
public class Resources_imgElementTank13 extends BitmapAsset {
}
}//package
Section 102
//Resources_imgElementTank21 (Resources_imgElementTank21)
package {
import mx.core.*;
public class Resources_imgElementTank21 extends BitmapAsset {
}
}//package
Section 103
//Resources_imgElementTank22 (Resources_imgElementTank22)
package {
import mx.core.*;
public class Resources_imgElementTank22 extends BitmapAsset {
}
}//package
Section 104
//Resources_imgElementTank23 (Resources_imgElementTank23)
package {
import mx.core.*;
public class Resources_imgElementTank23 extends BitmapAsset {
}
}//package
Section 105
//Resources_imgElementTank31 (Resources_imgElementTank31)
package {
import mx.core.*;
public class Resources_imgElementTank31 extends BitmapAsset {
}
}//package
Section 106
//Resources_imgElementTank32 (Resources_imgElementTank32)
package {
import mx.core.*;
public class Resources_imgElementTank32 extends BitmapAsset {
}
}//package
Section 107
//Resources_imgElementTank33 (Resources_imgElementTank33)
package {
import mx.core.*;
public class Resources_imgElementTank33 extends BitmapAsset {
}
}//package
Section 108
//Resources_imgElementTank41 (Resources_imgElementTank41)
package {
import mx.core.*;
public class Resources_imgElementTank41 extends BitmapAsset {
}
}//package
Section 109
//Resources_imgElementTank42 (Resources_imgElementTank42)
package {
import mx.core.*;
public class Resources_imgElementTank42 extends BitmapAsset {
}
}//package
Section 110
//Resources_imgElementTank43 (Resources_imgElementTank43)
package {
import mx.core.*;
public class Resources_imgElementTank43 extends BitmapAsset {
}
}//package
Section 111
//Resources_imgElementTankDark (Resources_imgElementTankDark)
package {
import mx.core.*;
public class Resources_imgElementTankDark extends BitmapAsset {
}
}//package
Section 112
//Resources_imgElementWall (Resources_imgElementWall)
package {
import mx.core.*;
public class Resources_imgElementWall extends BitmapAsset {
}
}//package
Section 113
//Resources_imgFieldShadowBottom (Resources_imgFieldShadowBottom)
package {
import mx.core.*;
public class Resources_imgFieldShadowBottom extends BitmapAsset {
}
}//package
Section 114
//Resources_imgFieldShadowTop (Resources_imgFieldShadowTop)
package {
import mx.core.*;
public class Resources_imgFieldShadowTop extends BitmapAsset {
}
}//package
Section 115
//Resources_imgFieldTile (Resources_imgFieldTile)
package {
import mx.core.*;
public class Resources_imgFieldTile extends BitmapAsset {
}
}//package
Section 116
//Resources_imgGear (Resources_imgGear)
package {
import mx.core.*;
public class Resources_imgGear extends BitmapAsset {
}
}//package
Section 117
//Resources_imgGear3D (Resources_imgGear3D)
package {
import mx.core.*;
public class Resources_imgGear3D extends BitmapAsset {
}
}//package
Section 118
//Resources_imgLogo (Resources_imgLogo)
package {
import mx.core.*;
public class Resources_imgLogo extends BitmapAsset {
}
}//package
Section 119
//Resources_imgTopButtonOff (Resources_imgTopButtonOff)
package {
import mx.core.*;
public class Resources_imgTopButtonOff extends BitmapAsset {
}
}//package
Section 120
//Resources_imgTopText1 (Resources_imgTopText1)
package {
import mx.core.*;
public class Resources_imgTopText1 extends BitmapAsset {
}
}//package
Section 121
//Resources_imgTopText2 (Resources_imgTopText2)
package {
import mx.core.*;
public class Resources_imgTopText2 extends BitmapAsset {
}
}//package
Section 122
//Resources_imgTopText3 (Resources_imgTopText3)
package {
import mx.core.*;
public class Resources_imgTopText3 extends BitmapAsset {
}
}//package
Section 123
//Resources_imgTopText5 (Resources_imgTopText5)
package {
import mx.core.*;
public class Resources_imgTopText5 extends BitmapAsset {
}
}//package
Section 124
//Resources_imgTopText7 (Resources_imgTopText7)
package {
import mx.core.*;
public class Resources_imgTopText7 extends BitmapAsset {
}
}//package
Section 125
//Resources_imgTutorLevel1_1 (Resources_imgTutorLevel1_1)
package {
import mx.core.*;
public class Resources_imgTutorLevel1_1 extends BitmapAsset {
}
}//package
Section 126
//Resources_imgTutorLevel1_2 (Resources_imgTutorLevel1_2)
package {
import mx.core.*;
public class Resources_imgTutorLevel1_2 extends BitmapAsset {
}
}//package
Section 127
//Resources_imgTutorLevel1_3 (Resources_imgTutorLevel1_3)
package {
import mx.core.*;
public class Resources_imgTutorLevel1_3 extends BitmapAsset {
}
}//package
Section 128
//Resources_imgTutorLevel2_1 (Resources_imgTutorLevel2_1)
package {
import mx.core.*;
public class Resources_imgTutorLevel2_1 extends BitmapAsset {
}
}//package
Section 129
//Resources_imgTutorLevel5_1 (Resources_imgTutorLevel5_1)
package {
import mx.core.*;
public class Resources_imgTutorLevel5_1 extends BitmapAsset {
}
}//package
Section 130
//Resources_imgTutorLevel5_2 (Resources_imgTutorLevel5_2)
package {
import mx.core.*;
public class Resources_imgTutorLevel5_2 extends BitmapAsset {
}
}//package
Section 131
//Resources_imgVideoPrev01 (Resources_imgVideoPrev01)
package {
import mx.core.*;
public class Resources_imgVideoPrev01 extends BitmapAsset {
}
}//package
Section 132
//Resources_imgVideoPrev02 (Resources_imgVideoPrev02)
package {
import mx.core.*;
public class Resources_imgVideoPrev02 extends BitmapAsset {
}
}//package
Section 133
//Resources_imgVideoPrev03 (Resources_imgVideoPrev03)
package {
import mx.core.*;
public class Resources_imgVideoPrev03 extends BitmapAsset {
}
}//package
Section 134
//Resources_imgVideoPrev04 (Resources_imgVideoPrev04)
package {
import mx.core.*;
public class Resources_imgVideoPrev04 extends BitmapAsset {
}
}//package
Section 135
//Resources_imgVideoPrev05 (Resources_imgVideoPrev05)
package {
import mx.core.*;
public class Resources_imgVideoPrev05 extends BitmapAsset {
}
}//package
Section 136
//Resources_imgVideoPrev06 (Resources_imgVideoPrev06)
package {
import mx.core.*;
public class Resources_imgVideoPrev06 extends BitmapAsset {
}
}//package
Section 137
//Resources_imgVideoPrev07 (Resources_imgVideoPrev07)
package {
import mx.core.*;
public class Resources_imgVideoPrev07 extends BitmapAsset {
}
}//package
Section 138
//Resources_imgVideoPrev08 (Resources_imgVideoPrev08)
package {
import mx.core.*;
public class Resources_imgVideoPrev08 extends BitmapAsset {
}
}//package
Section 139
//Resources_imgVideoPrev09 (Resources_imgVideoPrev09)
package {
import mx.core.*;
public class Resources_imgVideoPrev09 extends BitmapAsset {
}
}//package
Section 140
//Resources_imgVideoPrev10 (Resources_imgVideoPrev10)
package {
import mx.core.*;
public class Resources_imgVideoPrev10 extends BitmapAsset {
}
}//package
Section 141
//Resources_imgVideoPrev11 (Resources_imgVideoPrev11)
package {
import mx.core.*;
public class Resources_imgVideoPrev11 extends BitmapAsset {
}
}//package
Section 142
//Resources_imgVideoPrev12 (Resources_imgVideoPrev12)
package {
import mx.core.*;
public class Resources_imgVideoPrev12 extends BitmapAsset {
}
}//package
Section 143
//Resources_imgVideoPrev13 (Resources_imgVideoPrev13)
package {
import mx.core.*;
public class Resources_imgVideoPrev13 extends BitmapAsset {
}
}//package
Section 144
//Resources_imgVideoPrev14 (Resources_imgVideoPrev14)
package {
import mx.core.*;
public class Resources_imgVideoPrev14 extends BitmapAsset {
}
}//package
Section 145
//Resources_imgVideoPrev15 (Resources_imgVideoPrev15)
package {
import mx.core.*;
public class Resources_imgVideoPrev15 extends BitmapAsset {
}
}//package
Section 146
//Resources_imgVideoPrev16 (Resources_imgVideoPrev16)
package {
import mx.core.*;
public class Resources_imgVideoPrev16 extends BitmapAsset {
}
}//package
Section 147
//Resources_imgVideoPrev17 (Resources_imgVideoPrev17)
package {
import mx.core.*;
public class Resources_imgVideoPrev17 extends BitmapAsset {
}
}//package
Section 148
//Resources_imgVideoPrev18 (Resources_imgVideoPrev18)
package {
import mx.core.*;
public class Resources_imgVideoPrev18 extends BitmapAsset {
}
}//package
Section 149
//Resources_imgWindowBack (Resources_imgWindowBack)
package {
import mx.core.*;
public class Resources_imgWindowBack extends BitmapAsset {
}
}//package
Section 150
//Resources_imgWindowButtonOff (Resources_imgWindowButtonOff)
package {
import mx.core.*;
public class Resources_imgWindowButtonOff extends BitmapAsset {
}
}//package
Section 151
//Resources_imgWindowButtonOn (Resources_imgWindowButtonOn)
package {
import mx.core.*;
public class Resources_imgWindowButtonOn extends BitmapAsset {
}
}//package
Section 152
//Resources_imgWindowButtonPress (Resources_imgWindowButtonPress)
package {
import mx.core.*;
public class Resources_imgWindowButtonPress extends BitmapAsset {
}
}//package
Section 153
//Resources_imgWindowCorner (Resources_imgWindowCorner)
package {
import mx.core.*;
public class Resources_imgWindowCorner extends BitmapAsset {
}
}//package
Section 154
//Resources_imgWindowLeft (Resources_imgWindowLeft)
package {
import mx.core.*;
public class Resources_imgWindowLeft extends BitmapAsset {
}
}//package
Section 155
//Resources_imgWindowTop (Resources_imgWindowTop)
package {
import mx.core.*;
public class Resources_imgWindowTop extends BitmapAsset {
}
}//package
Section 156
//Resources_swfVideo11 (Resources_swfVideo11)
package {
import mx.core.*;
public class Resources_swfVideo11 extends MovieClipAsset {
}
}//package
Section 157
//Resources_swfVideo12 (Resources_swfVideo12)
package {
import mx.core.*;
public class Resources_swfVideo12 extends MovieClipAsset {
}
}//package
Section 158
//Resources_swfVideo13 (Resources_swfVideo13)
package {
import mx.core.*;
public class Resources_swfVideo13 extends MovieClipAsset {
}
}//package
Section 159
//Resources_swfVideo21 (Resources_swfVideo21)
package {
import mx.core.*;
public class Resources_swfVideo21 extends MovieClipAsset {
}
}//package
Section 160
//Resources_swfVideo22 (Resources_swfVideo22)
package {
import mx.core.*;
public class Resources_swfVideo22 extends MovieClipAsset {
}
}//package
Section 161
//Resources_swfVideo23 (Resources_swfVideo23)
package {
import mx.core.*;
public class Resources_swfVideo23 extends MovieClipAsset {
}
}//package
Section 162
//Resources_swfVideo31 (Resources_swfVideo31)
package {
import mx.core.*;
public class Resources_swfVideo31 extends MovieClipAsset {
}
}//package
Section 163
//Resources_swfVideo32 (Resources_swfVideo32)
package {
import mx.core.*;
public class Resources_swfVideo32 extends MovieClipAsset {
}
}//package
Section 164
//Resources_swfVideo33 (Resources_swfVideo33)
package {
import mx.core.*;
public class Resources_swfVideo33 extends MovieClipAsset {
}
}//package
Section 165
//Resources_swfVideo41 (Resources_swfVideo41)
package {
import mx.core.*;
public class Resources_swfVideo41 extends MovieClipAsset {
}
}//package
Section 166
//Resources_swfVideo42 (Resources_swfVideo42)
package {
import mx.core.*;
public class Resources_swfVideo42 extends MovieClipAsset {
}
}//package
Section 167
//Resources_swfVideo43 (Resources_swfVideo43)
package {
import mx.core.*;
public class Resources_swfVideo43 extends MovieClipAsset {
}
}//package
Section 168
//Resources_swfVideo51 (Resources_swfVideo51)
package {
import mx.core.*;
public class Resources_swfVideo51 extends MovieClipAsset {
}
}//package
Section 169
//Resources_swfVideo52 (Resources_swfVideo52)
package {
import mx.core.*;
public class Resources_swfVideo52 extends MovieClipAsset {
}
}//package
Section 170
//Resources_swfVideo53 (Resources_swfVideo53)
package {
import mx.core.*;
public class Resources_swfVideo53 extends MovieClipAsset {
}
}//package
Section 171
//Resources_swfVideo61 (Resources_swfVideo61)
package {
import mx.core.*;
public class Resources_swfVideo61 extends MovieClipAsset {
}
}//package
Section 172
//Resources_swfVideo62 (Resources_swfVideo62)
package {
import mx.core.*;
public class Resources_swfVideo62 extends MovieClipAsset {
}
}//package
Section 173
//Resources_swfVideo63 (Resources_swfVideo63)
package {
import mx.core.*;
public class Resources_swfVideo63 extends MovieClipAsset {
}
}//package
Section 174
//ScrollButton (ScrollButton)
package {
import flash.display.*;
import flash.geom.*;
public class ScrollButton extends SimpleButton {
public var app:Main;
public var IconIdx:int;// = -1
public var stageHeight:Number;
public var Count:int;// = 0
public var stageWidth:Number;
public var Wrong:Boolean;// = false
private var DownState:Bitmap;
public var Highlighted:Boolean;// = false
private var UpState:Bitmap;
public var Id:int;
private var OverState:Bitmap;
private static var sourceButtons:BitmapData = new Resources.imgBPScrollButtons().bitmapData;
private static var sourceIcons:BitmapData = new Resources.imgBPIcons().bitmapData;
private static var sourceNumbers:BitmapData = new Resources.imgBPScrollNumbers().bitmapData;
public function ScrollButton(_arg1:int){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
UpState = new Bitmap(new BitmapData(23, 24, true, 0xFFFFFF));
DownState = new Bitmap(new BitmapData(23, 24, true, 0xFFFFFF));
OverState = new Bitmap(new BitmapData(23, 24, true, 0xFFFFFF));
super();
Id = _arg1;
var _local2:Shape = new Shape();
_local2.graphics.beginFill(0, 1);
_local2.graphics.moveTo(0, 1);
_local2.graphics.lineTo(0, 24);
_local2.graphics.lineTo(18, 24);
_local2.graphics.lineTo(18, 0);
_local2.graphics.lineTo(0, 0);
hitTestState = _local2;
SetState();
}
public function SetState(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:int=-1, _arg4:int=0):void{
UpState.bitmapData.fillRect(new Rectangle(0, 0, 23, 24), 0xFFFFFF);
DownState.bitmapData.fillRect(new Rectangle(0, 0, 23, 24), 0xFFFFFF);
OverState.bitmapData.fillRect(new Rectangle(0, 0, 23, 24), 0xFFFFFF);
Wrong = _arg2;
Highlighted = _arg1;
IconIdx = _arg3;
Count = _arg4;
var _local5:int = (_arg1) ? 1 : (_arg2) ? 2 : 0;
if ((((_local5 == 0)) && ((_arg3 == app.enviroment.CMD_Manipulate)))){
_local5 = 4;
} else {
if ((((_local5 == 0)) && ((_arg3 == app.enviroment.CMD_Forward)))){
_local5 = 5;
};
};
UpState.bitmapData.copyPixels(sourceButtons, new Rectangle((_local5 * 23), 0, 23, 24), new Point(0, 0), null, null, true);
OverState.bitmapData.copyPixels(sourceButtons, new Rectangle((_local5 * 23), 0, 23, 24), new Point(0, 0), null, null, true);
OverState.bitmapData.copyPixels(sourceButtons, new Rectangle((3 * 23), 0, 23, 24), new Point(0, 0), null, null, true);
DownState.bitmapData.copyPixels(sourceButtons, new Rectangle((1 * 23), 0, 23, 24), new Point(0, 0), null, null, true);
DownState.bitmapData.copyPixels(sourceButtons, new Rectangle((3 * 23), 0, 23, 24), new Point(0, 0), null, null, true);
if (_arg3 >= 0){
UpState.bitmapData.copyPixels(sourceIcons, new Rectangle((_arg3 * 15), 0, 15, 15), new Point(1, 8), null, null, true);
OverState.bitmapData.copyPixels(sourceIcons, new Rectangle((_arg3 * 15), 0, 15, 15), new Point(1, 8), null, null, true);
DownState.bitmapData.copyPixels(sourceIcons, new Rectangle((_arg3 * 15), 0, 15, 15), new Point(1, 8), null, null, true);
};
if (_arg4 > 0){
UpState.bitmapData.copyPixels(sourceNumbers, new Rectangle(((_arg4 - 1) * 7), 0, 7, 8), new Point(13, 2), null, null, true);
OverState.bitmapData.copyPixels(sourceNumbers, new Rectangle(((_arg4 - 1) * 7), 0, 7, 8), new Point(13, 2), null, null, true);
DownState.bitmapData.copyPixels(sourceNumbers, new Rectangle(((_arg4 - 1) * 7), 0, 7, 8), new Point(13, 2), null, null, true);
};
upState = UpState;
overState = OverState;
downState = DownState;
}
}
}//package
Section 175
//TopButtons (TopButtons)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.geom.*;
public class TopButtons {
public var app:Main;
public var stageHeight:Number;
public var stageWidth:Number;
public var buttons:Array;
public function TopButtons(){
var _local2:Bitmap;
var _local3:Bitmap;
var _local4:Sprite;
var _local5:Bitmap;
var _local6:Bitmap;
var _local7:int;
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
buttons = new Array(5);
super();
var _local1:int = (buttons.length - 1);
while (_local1 >= 0) {
_local2 = new Resources.imgTopButtonOff();
_local3 = new Resources.imgTopButtonOff();
_local4 = new Sprite();
_local4.graphics.beginFill(0, 1);
_local4.graphics.moveTo(0, 0);
_local4.graphics.lineTo(114, 0);
_local4.graphics.lineTo(95, 21);
_local4.graphics.lineTo(22, 21);
_local4.graphics.lineTo(0, 0);
_local4.graphics.endFill();
_local5 = null;
switch (_local1){
case 0:
_local5 = new Resources.imgTopText1();
break;
case 1:
_local5 = new Resources.imgTopText2();
break;
case 2:
_local5 = new Resources.imgTopText3();
break;
case 3:
_local5 = new Resources.imgTopText7();
break;
case 4:
_local5 = new Resources.imgTopText5();
break;
};
if (_local5 != null){
_local6 = new Bitmap(new BitmapData(_local5.width, _local5.height, true, 0xFFFFFF));
_local6.bitmapData.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point(0, 0), null, null, true);
_local6.bitmapData.colorTransform(new Rectangle(0, 0, _local6.width, _local6.height), new ColorTransform(0, 0, 0, 1, 0xFF, 234, 0));
_local7 = (((_local2.width + 5) / 2) - (_local5.width / 2));
_local2.bitmapData.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point(_local7, 7), null, null, true);
_local3.bitmapData.copyPixels(_local6.bitmapData, new Rectangle(0, 0, _local6.width, _local6.height), new Point(_local7, 7), null, null, true);
};
buttons[_local1] = new SimpleButton(_local2, _local3, _local2, _local4);
buttons[_local1].x = (24 + (_local1 * 96));
if (_local1 == 0){
buttons[_local1].addEventListener(MouseEvent.CLICK, onLevelsClick);
} else {
if (_local1 == 1){
buttons[_local1].addEventListener(MouseEvent.CLICK, onRestartClick);
} else {
if (_local1 == 2){
buttons[_local1].addEventListener(MouseEvent.CLICK, onGalleryClick);
} else {
if (_local1 == 3){
buttons[_local1].addEventListener(MouseEvent.CLICK, onStoreClick);
} else {
if (_local1 == 4){
buttons[_local1].addEventListener(MouseEvent.CLICK, onPornClick);
} else {
buttons[_local1].mouseEnabled = false;
};
};
};
};
};
app.layers[9].addChild(buttons[_local1]);
_local1--;
};
}
public function onStoreClick(_arg1:MouseEvent):void{
app.enviroment.windows[6].Show();
}
private function onPornClick(_arg1:MouseEvent):void{
var _local2:int = (Math.random() * app.siteURLs.length);
if (_local2 == app.siteURLs.length){
_local2--;
};
navigateToURL(new URLRequest(app.siteURLs[_local2]));
}
private function onGalleryClick(_arg1:MouseEvent):void{
app.enviroment.windows[9].Show();
}
public function onErrorStoreClick(_arg1:MouseEvent):void{
app.enviroment.windows[5].Show();
}
private function onRestartClick(_arg1:MouseEvent):void{
app.enviroment.levelsControl.StartLevel(app.enviroment.levelsControl.currentLevel);
}
private function onLevelsClick(_arg1:MouseEvent):void{
app.enviroment.windows[0].Show();
}
}
}//package
Section 176
//Window (Window)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import mochi.as3.*;
import flash.geom.*;
import Tools.*;
public class Window extends Sprite {
public var imageRight:Bitmap;
public var stageHeight:Number;
public var imageLeft:Bitmap;
public var Mask:Shape;
private var maxWidth:int;
public var prevTimer:int;
public var app:Main;
public var imageBack:Bitmap;
public var Mask2:Shape;
public var stageWidth:Number;
private var opened:Number;// = 0
private var maxHeight:int;
public var screen:Sprite;
private var doShow:Boolean;// = false
public var enviroment:WindowEnviroment;
public function Window(_arg1:int, _arg2:int, _arg3:WindowEnviroment){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
screen = new Sprite();
super();
maxWidth = _arg1;
maxHeight = _arg2;
enviroment = _arg3;
enviroment.window = this;
imageBack = new Bitmap(new BitmapData((_arg1 + 33), (_arg2 + 22), true, 0xFFFFFF));
imageLeft = new Bitmap(new BitmapData((_arg1 + 33), (_arg2 + 22), true, 0xFFFFFF));
imageRight = new Bitmap(new BitmapData((_arg1 + 33), (_arg2 + 22), true, 0xFFFFFF));
Utils.TileImage(new Resources.imgWindowBack().bitmapData, imageBack.bitmapData, new Rectangle(15, 9, _arg1, _arg2));
Utils.TileImage(new Resources.imgWindowTop().bitmapData, imageBack.bitmapData, new Rectangle(15, 7, _arg1, 6));
Utils.TileImage(new Resources.imgWindowTop().bitmapData, imageBack.bitmapData, new Rectangle(15, (9 + _arg2), _arg1, 6));
Utils.TileImage(new Resources.imgWindowLeft().bitmapData, imageLeft.bitmapData, new Rectangle(1, 10, 20, (_arg2 - 2)));
Utils.TileImage(new Resources.imgWindowLeft().bitmapData, imageRight.bitmapData, new Rectangle(((14 + _arg1) - 5), 10, 20, (_arg2 - 2)));
imageLeft.bitmapData.copyPixels(new Resources.imgWindowCorner().bitmapData, new Rectangle(0, 0, 24, 15), new Point(0, 0), null, null, true);
imageLeft.bitmapData.copyPixels(new Resources.imgWindowCorner().bitmapData, new Rectangle(0, 0, 24, 15), new Point(0, ((9 + _arg2) - 2)), null, null, true);
imageRight.bitmapData.copyPixels(new Resources.imgWindowCorner().bitmapData, new Rectangle(0, 0, 24, 15), new Point(((15 + _arg1) - 6), 0), null, null, true);
imageRight.bitmapData.copyPixels(new Resources.imgWindowCorner().bitmapData, new Rectangle(0, 0, 24, 15), new Point(((15 + _arg1) - 6), ((9 + _arg2) - 2)), null, null, true);
Mask = new Shape();
var _local4:int = (10 + ((maxWidth - 10) * opened));
var _local5:int = (15 + (((maxWidth / 2) - 5) * (1 - opened)));
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask.graphics.endFill();
Mask2 = new Shape();
Mask2.graphics.clear();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask2.graphics.endFill();
imageBack.mask = Mask;
imageLeft.x = ((1 - opened) * ((maxWidth / 2) - 5));
imageRight.x = ((1 - opened) * -(((maxWidth / 2) - 5)));
addChild(screen);
addChild(imageBack);
addChild(enviroment);
addChild(imageLeft);
addChild(imageRight);
enviroment.x = 15;
enviroment.y = 9;
enviroment.mask = Mask2;
x = (Math.round(((stageWidth / 2) - (_arg1 / 2))) - 15);
y = (Math.round(((stageHeight / 2) - (_arg2 / 2))) - 9);
Mask.x = x;
Mask.y = y;
Mask2.x = x;
Mask2.y = y;
screen.x = -(x);
screen.y = -(y);
screen.graphics.beginFill(0, 0.6);
screen.graphics.drawRect(0, (y + 9), (x + _local5), maxHeight);
screen.graphics.drawRect(((x + _local5) + _local4), (y + 9), (stageWidth - ((x + _local5) + _local4)), maxHeight);
screen.graphics.drawRect(0, 0, stageWidth, (y + 9));
screen.graphics.drawRect(0, ((y + maxHeight) + 9), stageWidth, (stageHeight - ((y + maxHeight) + 9)));
screen.graphics.endFill();
prevTimer = getTimer();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function Show():void{
if (parent == null){
app.layers[14].addChild(this);
};
prevTimer = getTimer();
opened = 0;
doShow = true;
}
public function Hide():void{
doShow = false;
if (enviroment.ID == 6){
MochiCoins.hideLoginWidget();
};
}
private function onEnterFrame(_arg1:Event):void{
var _local4:int;
var _local5:int;
if (parent == null){
return;
};
var _local2:int = getTimer();
var _local3:Number = ((_local2 - prevTimer) / 1000);
prevTimer = _local2;
if (((doShow) && ((opened < 1)))){
opened = (opened + (((1.2 - opened) * 3) * _local3));
if (opened > 1){
opened = 1;
};
alpha = opened;
_local4 = (10 + ((maxWidth - 10) * opened));
_local5 = (15 + (((maxWidth / 2) - 5) * (1 - opened)));
imageLeft.x = ((1 - opened) * ((maxWidth / 2) - 5));
imageRight.x = ((1 - opened) * -(((maxWidth / 2) - 5)));
Mask.graphics.clear();
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask.graphics.endFill();
Mask2.graphics.clear();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask2.graphics.endFill();
screen.graphics.clear();
screen.graphics.beginFill(0, 0.6);
screen.graphics.drawRect(0, (y + 9), (x + _local5), maxHeight);
screen.graphics.drawRect(((x + _local5) + _local4), (y + 9), (stageWidth - ((x + _local5) + _local4)), maxHeight);
screen.graphics.drawRect(0, 0, stageWidth, (y + 9));
screen.graphics.drawRect(0, ((y + maxHeight) + 9), stageWidth, (stageHeight - ((y + maxHeight) + 9)));
screen.graphics.endFill();
} else {
if (((!(doShow)) && ((((opened > 0)) || (!((parent == null))))))){
opened = (opened - (((1.2 - opened) * 3) * _local3));
if (opened < 0){
opened = 0;
enviroment.Next();
parent.removeChild(this);
};
alpha = opened;
_local4 = (10 + ((maxWidth - 10) * opened));
_local5 = (15 + (((maxWidth / 2) - 5) * (1 - opened)));
imageLeft.x = ((1 - opened) * ((maxWidth / 2) - 5));
imageRight.x = ((1 - opened) * -(((maxWidth / 2) - 5)));
Mask.graphics.clear();
Mask.graphics.beginFill(0xFFFFFF, 1);
Mask.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask.graphics.endFill();
Mask2.graphics.clear();
Mask2.graphics.beginFill(0xFFFFFF, 1);
Mask2.graphics.drawRect(_local5, 0, _local4, (maxHeight + 22));
Mask2.graphics.endFill();
screen.graphics.clear();
screen.graphics.beginFill(0, 0.6);
screen.graphics.drawRect(0, (y + 9), (x + _local5), maxHeight);
screen.graphics.drawRect(((x + _local5) + _local4), (y + 9), (stageWidth - ((x + _local5) + _local4)), maxHeight);
screen.graphics.drawRect(0, 0, stageWidth, (y + 9));
screen.graphics.drawRect(0, ((y + maxHeight) + 9), stageWidth, (stageHeight - ((y + maxHeight) + 9)));
screen.graphics.endFill();
};
};
}
}
}//package
Section 177
//WindowButton (WindowButton)
package {
import flash.display.*;
public class WindowButton extends SimpleButton {
public var app:Main;
public var stageHeight:Number;
public var stageWidth:Number;
public function WindowButton(_arg1:String){
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
super();
var _local2:Bitmap = new Resources.imgWindowButtonOn();
var _local3:Bitmap = new Resources.imgWindowButtonOff();
var _local4:Bitmap = new Resources.imgWindowButtonPress();
var _local5:Array = new Array(3);
var _local6:int;
while (_local6 < 3) {
_local5[_local6] = WindowEnviroment.TextToBitmap(_arg1);
_local5[_local6].x = _local2.width;
_local6++;
};
var _local7:Sprite = new Sprite();
_local7.addChild(_local2);
_local7.addChild(_local5[0]);
var _local8:Sprite = new Sprite();
_local8.addChild(_local3);
_local8.addChild(_local5[1]);
var _local9:Sprite = new Sprite();
_local9.addChild(_local4);
_local9.addChild(_local5[2]);
var _local10:Shape = new Shape();
_local10.graphics.beginFill(0, 1);
_local10.graphics.moveTo(0, 0);
_local10.graphics.lineTo(31, 0);
_local10.graphics.lineTo(31, 21);
_local10.graphics.lineTo(0, 21);
_local10.graphics.lineTo(0, 0);
_local10.graphics.endFill();
overState = _local7;
downState = _local9;
upState = _local8;
hitTestState = _local10;
}
}
}//package
Section 178
//WindowEnviroment (WindowEnviroment)
package {
import flash.events.*;
import flash.display.*;
import Elements.*;
import flash.net.*;
import flash.text.*;
import mochi.as3.*;
import flash.geom.*;
import CPMStar.*;
public class WindowEnviroment extends Sprite {
public var videoCl:MovieClip;
public var stageHeight:Number;
public var prevTimer:int;
public var ID:int;
public var app:Main;
public var IsEmpty:Boolean;// = false
public var levelBtnsLocked:Array;
public var stageWidth:Number;
public var window:Window;// = null
public var ads:DynamicClip;// = null
public var levelBtns:Array;
public static var changeLevel:Boolean = false;
public static var adsPhase:int = 0;
public static var bannerAdsSharObj:SharedObject = null;
public static var maxId:int = 70;
public function WindowEnviroment(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:WindowButton;
var _local5:Bitmap;
var _local6:int;
var _local7:GalleryButton;
stageWidth = Preloader.stageWidth;
stageHeight = Preloader.stageHeight;
app = Main.gameApp;
super();
ID = _arg1;
_local2 = 200;
_local3 = 200;
if (bannerAdsSharObj == null){
bannerAdsSharObj = SharedObject.getLocal("pad_switch", "/");
};
if (ID == 0){
_local2 = (Math.ceil((app.enviroment.levelsControl.MaxLevels / 6)) * 155);
_local3 = 240;
_local5 = TextToBitmap("Select level:");
_local5.x = 2;
_local5.y = 2;
addChild(_local5);
levelBtns = new Array();
levelBtnsLocked = new Array();
_local6 = 0;
while (_local6 < app.enviroment.levelsControl.MaxLevels) {
_local4 = new WindowButton(("Level " + String((_local6 + 1))));
_local4.addEventListener(MouseEvent.CLICK, onLevelClick);
_local4.x = (7 + (Math.floor((_local6 / 6)) * 155));
_local4.y = (25 + ((_local6 % 6) * 30));
levelBtns.push(_local4);
_local6++;
};
_local6 = 0;
while (_local6 < app.enviroment.levelsControl.MaxLevels) {
_local4 = new WindowButton("Locked Level");
_local4.mouseEnabled = false;
_local4.x = (7 + (Math.floor((_local6 / 6)) * 155));
_local4.y = (25 + ((_local6 % 6) * 30));
levelBtnsLocked.push(_local4);
_local6++;
};
_local4 = new WindowButton("Cancel");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - (_local4.width / 2));
_local4.y = (_local3 - 30);
} else {
if (ID == 1){
_local2 = 247;
_local3 = 105;
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = 10;
_local4.y = 76;
_local5 = TextToBitmap("END OF PROGRAM !!!\nYou must return to headquater\n to save your progress");
_local5.x = 2;
_local5.y = 2;
addChild(_local5);
} else {
if (ID == 2){
_local2 = 267;
_local3 = 80;
_local4 = new WindowButton("Next Level");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = 10;
_local4.y = 50;
_local5 = TextToBitmap("--== !!! CONGRATULATION !!! ==--\n You completed this level");
_local5.x = 5;
_local5.y = 2;
addChild(_local5);
} else {
if (ID == 3){
_local2 = 344;
_local3 = 239;
_local5 = new Resources.imgLogo();
addChild(_local5);
_local4 = new WindowButton("START");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = 134;
_local4.y = 208;
} else {
if (ID == 4){
_local2 = 344;
_local3 = 239;
_local5 = new Resources.imgLogo();
addChild(_local5);
_local5 = TextToBitmap("THE END", 40);
_local5.x = 95;
_local5.y = 80;
addChild(_local5);
_local5 = TextToBitmap("YOU COMPLETED THIS GAME", 19);
_local5.x = 50;
_local5.y = 120;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = 134;
_local4.y = 208;
} else {
if (ID == 5){
_local2 = 260;
_local3 = 114;
_local5 = TextToBitmap("CAN'T CONNECT TO SERVER", 19);
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local5 = TextToBitmap("Please check your internet \nconnection and reload game", 19);
_local5.x = 5;
_local5.y = 35;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 6){
_local2 = 310;
_local3 = 174;
_local5 = TextToBitmap("Login or register first!");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local4 = new WindowButton("BUY \"SKIP LEVEL\"");
_local4.addEventListener(MouseEvent.CLICK, onSkipLevelClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - (_local4.width / 2));
_local4.y = (_local3 - 90);
_local4 = new WindowButton("BUY \"REMOVE POWER-DOWNS\"");
_local4.addEventListener(MouseEvent.CLICK, onRemovePowerDownsClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - (_local4.width / 2));
_local4.y = (_local3 - 60);
_local4 = new WindowButton("CANCEL");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - (_local4.width / 2));
_local4.y = (_local3 - 30);
} else {
if (ID == 7){
_local2 = 190;
_local3 = 84;
_local5 = TextToBitmap("You cannot skip level \nbecause it is last level");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 8){
_local2 = 240;
_local3 = 104;
_local5 = TextToBitmap("This level not contains any \npower-downs and you don't \nhave any active power-downs");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 9){
_local2 = 462;
_local3 = 303;
_local5 = TextToBitmap("Click on icon to watch video:");
_local5.x = 3;
_local5.y = 2;
addChild(_local5);
levelBtns = new Array();
levelBtnsLocked = new Array();
_local6 = 0;
while (_local6 < app.enviroment.levelsControl.MaxLevels) {
_local7 = new GalleryButton(_local6, false);
_local7.x = (7 + (Math.floor((_local6 / 3)) * 75));
_local7.y = (25 + ((_local6 % 3) * 85));
levelBtns.push(_local7);
_local6++;
};
_local6 = 0;
while (_local6 < app.enviroment.levelsControl.MaxLevels) {
_local7 = new GalleryButton(_local6, true);
_local7.x = (7 + (Math.floor((_local6 / 3)) * 75));
_local7.y = (25 + ((_local6 % 3) * 85));
levelBtnsLocked.push(_local7);
_local6++;
};
_local4 = new WindowButton("Cancel");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - (_local4.width / 2));
_local4.y = (_local3 - 30);
} else {
if ((((ID >= 50)) && ((ID < (50 + app.enviroment.levelsControl.MaxLevels))))){
_local2 = 400;
_local3 = 338;
graphics.beginFill(0);
graphics.drawRect(0, 0, _local2, _local3);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if ((((ID >= 40)) && ((ID < 45)))){
_local2 = 320;
_local3 = 275;
ads = new DynamicClip();
addChild(ads);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 10){
_local2 = 355;
_local3 = 0xFF;
_local5 = TextToBitmap("TUTORIAL 1: FIRST STEP");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local5 = TextToBitmap("Your objective to put all capsules into holes");
_local5.x = 5;
_local5.y = 25;
addChild(_local5);
_local5 = new Resources.imgTutorLevel1_1();
_local5.x = 110;
_local5.y = 49;
addChild(_local5);
_local5 = TextToBitmap("Set commands to the tank by means of \nthese buttons");
_local5.x = 5;
_local5.y = 75;
addChild(_local5);
_local5 = new Resources.imgTutorLevel1_3();
_local5.x = 120;
_local5.y = 95;
addChild(_local5);
_local5 = TextToBitmap("Also you can add commands by means of \nkeys: left/right/up arrows, enter, delete");
_local5.x = 5;
_local5.y = 130;
addChild(_local5);
_local5 = TextToBitmap("Put capsule to hole and return to \nheadquater to complete this level");
_local5.x = 5;
_local5.y = 175;
addChild(_local5);
_local5 = new Resources.imgTutorLevel1_2();
_local5.x = 275;
_local5.y = 190;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 11){
_local2 = 355;
_local3 = 270;
_local5 = TextToBitmap("TUTORIAL 2: BUTTONS AND LEVERS");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local5 = TextToBitmap("Place something on button or switch the \nlever and one or more doors will opens \nor closes");
_local5.x = 5;
_local5.y = 25;
addChild(_local5);
_local5 = new Resources.imgTutorLevel2_1();
_local5.x = 140;
_local5.y = 69;
addChild(_local5);
_local5 = TextToBitmap("You can save your progress every time when \nyou reach the headquater");
_local5.x = 5;
_local5.y = 185;
addChild(_local5);
_local5 = new Resources.imgTutorLevel1_2();
_local5.x = 220;
_local5.y = 210;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 14){
_local2 = 340;
_local3 = 225;
_local5 = TextToBitmap("TUTORIAL 4: POWER-DOWNS");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local5 = TextToBitmap("There is no power-ups, only power-downs, \navoid them if you can or take the second \nto cancel their action");
_local5.x = 5;
_local5.y = 30;
addChild(_local5);
_local5 = new Resources.imgTutorLevel5_2();
_local5.x = 7;
_local5.y = 100;
addChild(_local5);
_local5 = TextToBitmap("Inverts a rotation direction \nInverts a movement direction \nSwitches off light \nSwitches on light", 17, 3);
_local5.x = 30;
_local5.y = 99;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
if (ID == 17){
_local5 = TextToBitmap("TUTORIAL 5: ACTIVE POWER-DOWNS");
_local5.x = 5;
_local5.y = 5;
addChild(_local5);
_local2 = (_local5.width + 40);
_local3 = 180;
_local5 = new Resources.imgTutorLevel5_1();
_local5.x = 205;
_local5.y = 35;
addChild(_local5);
_local5 = TextToBitmap("The stage can begin \nwith active power-downs");
_local5.x = 5;
_local5.y = 30;
addChild(_local5);
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = ((_local2 / 2) - 40);
_local4.y = (_local3 - 30);
} else {
_local2 = 100;
_local3 = 35;
_local4 = new WindowButton("Close");
_local4.addEventListener(MouseEvent.CLICK, onCloseClick);
addChild(_local4);
_local4.x = 8;
_local4.y = 6;
IsEmpty = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
window = new Window(_local2, _local3, this);
}
private function onSkipLevelClick(_arg1:Event):void{
window.Hide();
if (app.enviroment.levelsControl.unlockedLevel >= app.enviroment.levelsControl.MaxLevels){
app.enviroment.windows[7].Show();
} else {
MochiCoins.showStore({tags:["eb071676227d99ab"]});
};
}
public function Next():void{
if (ID == 1){
app.enviroment.animControl.Stop(false);
} else {
if (ID == 2){
changeLevel = true;
app.enviroment.windows[(50 + app.enviroment.levelsControl.currentLevel)].Show();
} else {
if (ID == 3){
app.enviroment.windows[(10 + app.enviroment.levelsControl.currentLevel)].Show();
} else {
if ((((ID >= 10)) && ((ID < (10 + app.enviroment.levelsControl.MaxLevels))))){
app.enviroment.windows[40].Show();
} else {
if ((((ID >= 50)) && ((ID < (50 + app.enviroment.levelsControl.MaxLevels))))){
videoCl.width = 1;
videoCl.height = 1;
videoCl.stop();
removeChild(videoCl);
if (changeLevel){
app.enviroment.levelsControl.StartLevel((app.enviroment.levelsControl.currentLevel + 1));
};
changeLevel = false;
};
};
};
};
};
}
private function onRemovePowerDownsClick(_arg1:Event):void{
window.Hide();
if (app.enviroment.animControl.start){
app.enviroment.animControl.Stop(false);
};
var _local2:Boolean;
if (((((app.enviroment.tank.invertedLR) || (app.enviroment.tank.invertedUD))) || (app.enviroment.tank.isDark))){
_local2 = true;
};
var _local3:int;
while (_local3 < app.enviroment.elements.length) {
if (app.enviroment.elements[_local3].ID == Element.elmPowerDown){
_local2 = true;
};
_local3++;
};
if (!_local2){
app.enviroment.windows[8].Show();
} else {
MochiCoins.showStore({tags:["a8a81b2cdb2bb8ee"]});
};
}
public function Show():void{
var _local1:int;
var _local2:int;
var _local3:BannerButton;
if (IsEmpty){
Next();
return;
};
if (ID == 0){
_local1 = 0;
while (_local1 < app.enviroment.levelsControl.MaxLevels) {
if (_local1 <= app.enviroment.levelsControl.unlockedLevel){
if (levelBtns[_local1].parent == null){
addChild(levelBtns[_local1]);
};
if (levelBtnsLocked[_local1].parent != null){
removeChild(levelBtnsLocked[_local1]);
};
} else {
if (levelBtns[_local1].parent != null){
removeChild(levelBtns[_local1]);
};
if (levelBtnsLocked[_local1].parent == null){
addChild(levelBtnsLocked[_local1]);
};
};
_local1++;
};
} else {
if (ID == 9){
_local1 = 0;
while (_local1 < app.enviroment.levelsControl.MaxLevels) {
if (_local1 < app.enviroment.levelsControl.unlockedLevel){
if (levelBtns[_local1].parent == null){
addChild(levelBtns[_local1]);
};
if (levelBtnsLocked[_local1].parent != null){
removeChild(levelBtnsLocked[_local1]);
};
} else {
if (levelBtns[_local1].parent != null){
removeChild(levelBtns[_local1]);
};
if (levelBtnsLocked[_local1].parent == null){
addChild(levelBtnsLocked[_local1]);
};
};
_local1++;
};
} else {
if (ID == 6){
MochiCoins.showLoginWidget({x:185, y:150});
} else {
if ((((ID >= 50)) && ((ID < (50 + app.enviroment.levelsControl.MaxLevels))))){
videoCl = new (Resources.swfVideos[(ID - 50)]);
addChild(videoCl);
} else {
if (ID == 40){
removeChildAt(0);
if (bannerAdsSharObj.data.adID001 != null){
_local2 = bannerAdsSharObj.data.adID001;
} else {
_local2 = 0;
};
_local3 = new BannerButton(_local2);
_local3.x = 10;
_local3.y = 10;
addChildAt(_local3, 0);
_local2++;
bannerAdsSharObj.data.adID001 = _local2;
bannerAdsSharObj.flush();
};
};
};
};
};
window.Show();
}
private function onLevelClick(_arg1:Event):void{
var _local2:int;
while (_local2 < levelBtns.length) {
if (levelBtns[_local2] == _arg1.target){
app.enviroment.levelsControl.StartLevel(_local2);
};
_local2++;
};
window.Hide();
}
private function onCloseClick(_arg1:Event):void{
window.Hide();
}
public static function TextToBitmap(_arg1:String, _arg2:int=17, _arg3:Number=0):Bitmap{
var _local4:TextField = new TextField();
_local4.text = _arg1;
var _local5:TextFormat = new TextFormat(new Resources.Font1().fontName, _arg2, 0xFFFFFF);
_local5.letterSpacing = 0.25;
_local5.leading = _arg3;
_local4.setTextFormat(_local5);
_local4.autoSize = TextFieldAutoSize.LEFT;
_local4.embedFonts = true;
var _local6:Bitmap = new Bitmap(new BitmapData((_local4.width + 1), (_local4.height + 1), true, 0xFFFFFF), PixelSnapping.NEVER, true);
_local4.textColor = 0;
_local6.bitmapData.draw(_local4, new Matrix(1, 0, 0, 1, 1, 1), null, null, null, true);
_local4.textColor = 0xFFFFFF;
_local6.bitmapData.draw(_local4, null, null, null, null, true);
return (_local6);
}
}
}//package