Section 1
//embedded_1 (5xMan_ARMORGAMES_fla.embedded_1)
package 5xMan_ARMORGAMES_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.system.*;
public dynamic class embedded_1 extends MovieClip {
public var s1;
public var s8;
public var s2;
public var s3;
public function embedded_1(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
s1 = new Track01();
s2 = new StatisticsWin();
s3 = new StatisticsFail();
s8 = new MButton();
}
}
}//package 5xMan_ARMORGAMES_fla
Section 2
//A1 (A1)
package {
import flash.display.*;
public dynamic class A1 extends MovieClip {
}
}//package
Section 3
//A10 (A10)
package {
import flash.display.*;
public dynamic class A10 extends MovieClip {
}
}//package
Section 4
//A11 (A11)
package {
import flash.display.*;
public dynamic class A11 extends MovieClip {
}
}//package
Section 5
//A12 (A12)
package {
import flash.display.*;
public dynamic class A12 extends MovieClip {
}
}//package
Section 6
//A13 (A13)
package {
import flash.display.*;
public dynamic class A13 extends MovieClip {
}
}//package
Section 7
//A14 (A14)
package {
import flash.display.*;
public dynamic class A14 extends MovieClip {
}
}//package
Section 8
//A15 (A15)
package {
import flash.display.*;
public dynamic class A15 extends MovieClip {
}
}//package
Section 9
//A2 (A2)
package {
import flash.display.*;
public dynamic class A2 extends MovieClip {
}
}//package
Section 10
//A3 (A3)
package {
import flash.display.*;
public dynamic class A3 extends MovieClip {
}
}//package
Section 11
//A4 (A4)
package {
import flash.display.*;
public dynamic class A4 extends MovieClip {
}
}//package
Section 12
//A5 (A5)
package {
import flash.display.*;
public dynamic class A5 extends MovieClip {
}
}//package
Section 13
//A6 (A6)
package {
import flash.display.*;
public dynamic class A6 extends MovieClip {
}
}//package
Section 14
//A7 (A7)
package {
import flash.display.*;
public dynamic class A7 extends MovieClip {
}
}//package
Section 15
//A8 (A8)
package {
import flash.display.*;
public dynamic class A8 extends MovieClip {
}
}//package
Section 16
//A9 (A9)
package {
import flash.display.*;
public dynamic class A9 extends MovieClip {
}
}//package
Section 17
//AAllRooms (AAllRooms)
package {
import flash.display.*;
public dynamic class AAllRooms extends SimpleButton {
}
}//package
Section 18
//ABack (ABack)
package {
import flash.display.*;
public dynamic class ABack extends SimpleButton {
}
}//package
Section 19
//AchieveBack (AchieveBack)
package {
import flash.display.*;
import flash.text.*;
public dynamic class AchieveBack extends MovieClip {
public var ADesc:TextField;
}
}//package
Section 20
//AchieveButton (AchieveButton)
package {
import flash.display.*;
public dynamic class AchieveButton extends SimpleButton {
}
}//package
Section 21
//Achievements (Achievements)
package {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.media.*;
public class Achievements extends MovieClip {
private var a2:Object;
private var ATut:Object;
private var ATm15:Object;
private var a13:Object;
private var a14:Object;
private var a15:Object;
private var ATm10:Object;
private var a12:Object;
private var AC2:Object;
private var AC3:Object;
private var a11:Object;
private var a10:Object;
private var rct:Array;
private var AC1:Object;
private var aabk:Object;
private var ATm30:Object;
private var ASp:Object;
private var APerfect:Object;
private var AHrd:Object;
private var MOver:int;
private var AG2:Object;
private var ATm5:Object;
private var back:Object;
private var achievements:Array;
private var ARooms:Object;
private var chan:Object;
private var AEas:Object;
private var snd:Object;
private var choise:int;// = 0
private var AMed:Object;
private var a1:Object;
private var a3:Object;
private var a4:Object;
private var a5:Object;
private var a6:Object;
private var a9:Object;
private var a7:Object;
private var a8:Object;
public static const ANONE:int = -1;
public static const AEASY:int = 4;
public static const APERFECT:int = 15;
private static const COLOR1:Object = 6135488;
public static const AC100:int = 5;
public static const AC200:int = 8;
public static const AC300:int = 11;
public static const ASPONSOR:int = 2;
public static const AGAME2:int = 3;
public static const ATIME5:int = 6;
public static const ABACK:int = 100;
public static const ATIME30:int = 14;
public static const AHARD:int = 10;
public static const ATIME10:int = 9;
private static const COLOR2:Object = 16761185;
public static const ATIME15:int = 12;
public static const ATUTOR:int = 1;
public static const AMEDIUM:int = 7;
public static const AROOMS:int = 13;
private static var scores:Array = new Array(0, 10000, 10000, 10000, 20000, 20000, 20000, 30000, 30000, 30000, 40000, 40000, 40000, 50000, 50000, 100000);
public function Achievements(_arg1:Array){
choise = 0;
super();
choise = 0;
aabk = new AchieveBack();
ATut = new ATutor();
ASp = new ASponsor();
AG2 = new AGame2();
AEas = new AEasy();
AC1 = new ACns100();
ATm5 = new ATime5();
AMed = new AMedium();
AC2 = new ACns200();
ATm10 = new ATime10();
AHrd = new AHard();
AC3 = new ACns300();
ATm15 = new ATime15();
ARooms = new AAllRooms();
APerfect = new APerf();
ATm30 = new ATime30();
back = new ABack();
a1 = new Rectangle(64, 89, 152, 38);
a2 = new Rectangle(244, 89, 152, 38);
a3 = new Rectangle(424, 89, 152, 38);
a4 = new Rectangle(64, 139, 152, 38);
a5 = new Rectangle(244, 139, 152, 38);
a6 = new Rectangle(424, 139, 152, 38);
a7 = new Rectangle(64, 189, 152, 38);
a8 = new Rectangle(244, 189, 152, 38);
a9 = new Rectangle(424, 189, 152, 38);
a10 = new Rectangle(64, 239, 152, 38);
a11 = new Rectangle(244, 239, 152, 38);
a12 = new Rectangle(424, 239, 152, 38);
a13 = new Rectangle(64, 289, 152, 38);
a14 = new Rectangle(424, 289, 152, 38);
a15 = new Rectangle(242, 289, 152, 38);
rct = new Array(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
chan = new SoundChannel();
snd = new MButton();
achievements = _arg1;
addChild(aabk);
aabk.ADesc.text = "";
addChild(ATut);
ATut.visible = achievements[ATUTOR];
addChild(ASp);
ASp.visible = achievements[ASPONSOR];
addChild(AG2);
AG2.visible = achievements[AGAME2];
addChild(AEas);
AEas.visible = achievements[AEASY];
addChild(AC1);
AC1.visible = achievements[AC100];
addChild(ATm5);
ATm5.visible = achievements[ATIME5];
addChild(AMed);
AMed.visible = achievements[AMEDIUM];
addChild(AC2);
AC2.visible = achievements[AC200];
addChild(ATm10);
ATm10.visible = achievements[ATIME10];
addChild(AHrd);
AHrd.visible = achievements[AHARD];
addChild(AC3);
AC3.visible = achievements[AC300];
addChild(ATm15);
ATm15.visible = achievements[ATIME15];
addChild(ARooms);
ARooms.visible = achievements[AROOMS];
addChild(ATm30);
ATm30.visible = achievements[ATIME30];
addChild(APerfect);
APerfect.visible = achievements[APERFECT];
addChild(back);
back.addEventListener(MouseEvent.CLICK, onBack);
addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
private function onMove(_arg1:MouseEvent){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local2 = _arg1.localX;
_local3 = _arg1.localY;
MOver = ANONE;
_local4 = 0;
while (_local4 < rct.length) {
_local5 = rct[_local4].contains(_local2, _local3);
if (_local5){
MOver = (_local4 + 1);
return;
};
_local4 = (_local4 + 1);
};
}
public function processMe():Boolean{
switch (MOver){
case ANONE:
aabk.ADesc.text = "";
break;
case ATUTOR:
if (ATut.visible){
aabk.ADesc.text = "+ 10 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete training";
aabk.ADesc.textColor = COLOR1;
};
break;
case ASPONSOR:
if (ASp.visible){
aabk.ADesc.text = "+ 10 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Visit sponsor's website";
aabk.ADesc.textColor = COLOR1;
};
break;
case AGAME2:
if (AG2.visible){
aabk.ADesc.text = "+ 10 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Enter the game twice";
aabk.ADesc.textColor = COLOR1;
};
break;
case AEASY:
if (AEas.visible){
aabk.ADesc.text = "+ 20 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete Easy Rooms";
aabk.ADesc.textColor = COLOR1;
};
break;
case AC100:
if (AC1.visible){
aabk.ADesc.text = "+ 20 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Collect 100 coins";
aabk.ADesc.textColor = COLOR1;
};
break;
case ATIME5:
if (ATm5.visible){
aabk.ADesc.text = "+ 20 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Unused time - 100:00 (Complete with Perfect)";
aabk.ADesc.textColor = COLOR1;
};
break;
case AMEDIUM:
if (AMed.visible){
aabk.ADesc.text = "+ 30 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete Medium Rooms";
aabk.ADesc.textColor = COLOR1;
};
break;
case AC200:
if (AC2.visible){
aabk.ADesc.text = "+ 30 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Collect 200 coins";
aabk.ADesc.textColor = COLOR1;
};
break;
case ATIME10:
if (ATm10.visible){
aabk.ADesc.text = "+ 30 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Unused time - 200:00 (Complete with Perfect)";
aabk.ADesc.textColor = COLOR1;
};
break;
case AHARD:
if (AHrd.visible){
aabk.ADesc.text = "+ 40 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete Hard Rooms";
aabk.ADesc.textColor = COLOR1;
};
break;
case AC300:
if (AC3.visible){
aabk.ADesc.text = "+ 40 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Collect 300 coins";
aabk.ADesc.textColor = COLOR1;
};
break;
case ATIME15:
if (ATm15.visible){
aabk.ADesc.text = "+ 40 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Unused time - 300:00 (Complete with Perfect)";
aabk.ADesc.textColor = COLOR1;
};
break;
case AROOMS:
if (ARooms.visible){
aabk.ADesc.text = "+ 50 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete Easy, Medium and Hard Rooms";
aabk.ADesc.textColor = COLOR1;
};
break;
case ATIME30:
if (ATm30.visible){
aabk.ADesc.text = "+ 50 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Spend 30 minutes in the game";
aabk.ADesc.textColor = COLOR1;
};
break;
case APERFECT:
if (APerfect.visible){
aabk.ADesc.text = "+ 100 000 to Total Score";
aabk.ADesc.textColor = COLOR2;
} else {
aabk.ADesc.text = "Complete all achievements";
aabk.ADesc.textColor = COLOR1;
};
break;
case ABACK:
return (false);
default:
break;
};
return (true);
}
private function exit(){
removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
back.removeEventListener(MouseEvent.CLICK, onBack);
}
private function onBack(_arg1:Event){
chan = snd.play();
exit();
MOver = ABACK;
}
public static function getScore(_arg1:int):int{
return (scores[_arg1]);
}
}
}//package
Section 22
//ACns100 (ACns100)
package {
import flash.display.*;
public dynamic class ACns100 extends SimpleButton {
}
}//package
Section 23
//ACns200 (ACns200)
package {
import flash.display.*;
public dynamic class ACns200 extends SimpleButton {
}
}//package
Section 24
//ACns300 (ACns300)
package {
import flash.display.*;
public dynamic class ACns300 extends SimpleButton {
}
}//package
Section 25
//AEasy (AEasy)
package {
import flash.display.*;
public dynamic class AEasy extends SimpleButton {
}
}//package
Section 26
//AGame2 (AGame2)
package {
import flash.display.*;
public dynamic class AGame2 extends SimpleButton {
}
}//package
Section 27
//AHard (AHard)
package {
import flash.display.*;
public dynamic class AHard extends SimpleButton {
}
}//package
Section 28
//AMedium (AMedium)
package {
import flash.display.*;
public dynamic class AMedium extends SimpleButton {
}
}//package
Section 29
//AnimationController (AnimationController)
package {
public class AnimationController {
public var frame:Object;
private var curAnim:int;// = -1
private var FCounter:Number;// = 0
public var animFrames:Array;
public var ACState:Object;
public static const AC_PLAY:Object = 10;
public static const AC_STOP:Object = 6;
public function AnimationController(_arg1:Array){
curAnim = -1;
FCounter = 0;
super();
FCounter = 0;
curAnim = -1;
animFrames = _arg1;
ACState = AC_STOP;
}
public function Advance(){
var _local1:Boolean;
var _local2:*;
_local1 = false;
if (ACState == AC_STOP){
return;
};
_local1 = animFrames[curAnim][(animFrames[curAnim].length - 1)];
_local2 = (FCounter + 1);
FCounter = _local2;
if (FCounter >= (animFrames[curAnim].length - 1)){
if (_local1){
FCounter = 0;
} else {
FCounter = (animFrames[curAnim].length - 2);
};
};
frame = animFrames[curAnim][FCounter];
}
public function stopAnim(){
ACState = AC_STOP;
}
public function startAnim(_arg1:Number){
if (_arg1 >= animFrames.length){
return;
};
if ((((ACState == AC_PLAY)) && ((_arg1 == curAnim)))){
return;
};
curAnim = _arg1;
FCounter = 0;
ACState = AC_PLAY;
}
public function getAnimation():int{
return (curAnim);
}
}
}//package
Section 30
//APerf (APerf)
package {
import flash.display.*;
public dynamic class APerf extends SimpleButton {
}
}//package
Section 31
//ASponsor (ASponsor)
package {
import flash.display.*;
public dynamic class ASponsor extends SimpleButton {
}
}//package
Section 32
//ATime10 (ATime10)
package {
import flash.display.*;
public dynamic class ATime10 extends SimpleButton {
}
}//package
Section 33
//ATime15 (ATime15)
package {
import flash.display.*;
public dynamic class ATime15 extends SimpleButton {
}
}//package
Section 34
//ATime30 (ATime30)
package {
import flash.display.*;
public dynamic class ATime30 extends SimpleButton {
}
}//package
Section 35
//ATime5 (ATime5)
package {
import flash.display.*;
public dynamic class ATime5 extends SimpleButton {
}
}//package
Section 36
//ATutor (ATutor)
package {
import flash.display.*;
public dynamic class ATutor extends SimpleButton {
}
}//package
Section 37
//BackLight (BackLight)
package {
import flash.display.*;
public dynamic class BackLight extends MovieClip {
}
}//package
Section 38
//BExit (BExit)
package {
import flash.display.*;
public dynamic class BExit extends SimpleButton {
}
}//package
Section 39
//BoundingRECT (BoundingRECT)
package {
public class BoundingRECT {
public var left:Object;
public var bottom:int;
public var top:Object;
public var right:Object;
public function BoundingRECT(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
left = int(_arg1);
right = int(_arg2);
top = int(_arg3);
bottom = int(_arg4);
}
public function intersects(_arg1:BoundingRECT):Boolean{
var _local2:*;
var _local3:*;
_local2 = undefined;
_local3 = undefined;
_local2 = true;
if ((((right < _arg1.left)) || ((left > _arg1.right)))){
_local2 = false;
};
_local3 = true;
if ((((top > _arg1.bottom)) || ((bottom < _arg1.top)))){
_local3 = false;
};
return (((_local2) && (_local3)));
}
}
}//package
Section 40
//BRestart1 (BRestart1)
package {
import flash.display.*;
public dynamic class BRestart1 extends SimpleButton {
}
}//package
Section 41
//BRestart2 (BRestart2)
package {
import flash.display.*;
public dynamic class BRestart2 extends SimpleButton {
}
}//package
Section 42
//BResume (BResume)
package {
import flash.display.*;
public dynamic class BResume extends SimpleButton {
}
}//package
Section 43
//Bronze (Bronze)
package {
import flash.display.*;
public dynamic class Bronze extends MovieClip {
}
}//package
Section 44
//BTile1 (BTile1)
package {
import flash.display.*;
public class BTile1 extends Sprite {
public function makeInstance():BTile1{
return (new BTile1());
}
}
}//package
Section 45
//BTile2 (BTile2)
package {
import flash.display.*;
public class BTile2 extends Sprite {
public function makeInstance():BTile2{
return (new BTile2());
}
}
}//package
Section 46
//ButtonBack (ButtonBack)
package {
import flash.display.*;
public dynamic class ButtonBack extends SimpleButton {
}
}//package
Section 47
//ButtonCheck (ButtonCheck)
package {
import flash.display.*;
public dynamic class ButtonCheck extends MovieClip {
}
}//package
Section 48
//CheckerBox (CheckerBox)
package {
import flash.display.*;
public dynamic class CheckerBox extends MovieClip {
}
}//package
Section 49
//Coin (Coin)
package {
import flash.display.*;
import flash.media.*;
public class Coin extends MovieClip {
private var fig:Object;
private var active:Boolean;
private var AC:AnimationController;
private var price:Number;
private var snd:Object;
private var chan:SoundChannel;
private var manWhoTake:int;
public function Coin(_arg1:Number, _arg2:Number, _arg3:Number){
snd = new Coinsnd();
price = _arg3;
active = true;
x = _arg1;
y = _arg2;
manWhoTake = -1;
if (price == 1){
fig = new Coin001();
};
if (price == 5){
fig = new Coin5();
};
if (price == 10){
fig = new Coin10();
};
if (price == 50){
fig = new Coin50();
};
addChild(fig);
fig.gotoAndPlay(1);
}
public function checkTouch(_arg1:MovieClip, _arg2:int, _arg3:Boolean):Number{
var _local4:Boolean;
_local4 = false;
if (!visible){
return (0);
};
if ((((manWhoTake >= 0)) && (!((_arg2 == manWhoTake))))){
return (0);
};
_local4 = fig.hitTestObject(_arg1);
if (!_local4){
return (0);
};
visible = false;
active = false;
manWhoTake = _arg2;
if (_arg3){
chan = snd.play();
};
return (price);
}
public function resetMe(_arg1:int){
visible = true;
if (manWhoTake > _arg1){
manWhoTake = -1;
active = true;
};
if (active){
fig.alpha = 1;
} else {
fig.alpha = 0.2;
};
}
}
}//package
Section 50
//Coin001 (Coin001)
package {
import flash.display.*;
public dynamic class Coin001 extends MovieClip {
}
}//package
Section 51
//Coin10 (Coin10)
package {
import flash.display.*;
public dynamic class Coin10 extends MovieClip {
}
}//package
Section 52
//Coin5 (Coin5)
package {
import flash.display.*;
public dynamic class Coin5 extends MovieClip {
}
}//package
Section 53
//Coin50 (Coin50)
package {
import flash.display.*;
public dynamic class Coin50 extends MovieClip {
}
}//package
Section 54
//Coinsnd (Coinsnd)
package {
import flash.media.*;
public dynamic class Coinsnd extends Sound {
}
}//package
Section 55
//CollisionChecker (CollisionChecker)
package {
import flash.display.*;
public dynamic class CollisionChecker extends MovieClip {
}
}//package
Section 56
//Console (Console)
package {
import flash.display.*;
public class Console extends MovieClip {
private var PData:Array;
private var CData:Array;
private static const YPIC:Object = 45;
private static const XTEXT:Object = 45;
private static const YTEXT:Object = 410;
public function Console(){
CData = new Array();
PData = new Array();
}
public function processMe(){
var _local1:*;
_local1 = undefined;
_local1 = 0;
while (_local1 < CData.length) {
CData[_local1].processMe();
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < PData.length) {
PData[_local1].processMe();
_local1 = (_local1 + 1);
};
}
public function appendStr(_arg1:String, _arg2:int){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local3 = -1;
if (_arg2 < 0){
_local4 = 0;
while ((((_local4 < CData.length)) && ((_local3 < 0)))) {
if (!CData[_local4].visible){
_local3 = _local4;
};
_local4 = (_local4 + 1);
};
if (_local3 < 0){
_local5 = YTEXT;
_local4 = 0;
while (_local4 < CData.length) {
_local5 = (CData[_local4].y - CData[_local4].height);
_local4 = (_local4 + 1);
};
_local6 = new ConsoleString(_arg1, _arg2, XTEXT, _local5);
addChild(_local6);
CData.push(_local6);
} else {
CData[_local3].reset(_arg1);
};
} else {
_local4 = 0;
while ((((_local4 < PData.length)) && ((_local3 < 0)))) {
if (!PData[_local4].visible){
_local3 = _local4;
};
_local4 = (_local4 + 1);
};
if (_local3 < 0){
_local5 = YPIC;
_local4 = 0;
while (_local4 < PData.length) {
_local5 = (PData[_local4].y + PData[_local4].height);
_local4 = (_local4 + 1);
};
_local6 = new ConsoleString(_arg1, _arg2, XTEXT, _local5);
addChild(_local6);
PData.push(_local6);
} else {
PData[_local3].resetPic(_arg2);
};
};
}
}
}//package
Section 57
//ConsoleString (ConsoleString)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
public class ConsoleString extends MovieClip {
public var ConsoleText:TextField;
private var sRect:Rectangle;
private var cText:String;
private var startTime:Number;
private var pic:MovieClip;
private var eTime:Object;
private var FCounter:int;// = 0
private static const STAY_TIME:Object = 4500;
public function ConsoleString(_arg1:String, _arg2:int, _arg3:Number, _arg4:Number){
FCounter = 0;
super();
FCounter = 0;
x = _arg3;
y = _arg4;
if (_arg2 < 0){
reset(_arg1);
} else {
resetPic(_arg2);
};
}
private function getPic(_arg1:int):MovieClip{
var _local2:MovieClip;
_local2 = null;
_local2 = null;
switch (_arg1){
case 1:
_local2 = new A1();
break;
case 2:
_local2 = new A2();
break;
case 3:
_local2 = new A3();
break;
case 4:
_local2 = new A4();
break;
case 5:
_local2 = new A5();
break;
case 6:
_local2 = new A6();
break;
case 7:
_local2 = new A7();
break;
case 8:
_local2 = new A8();
break;
case 9:
_local2 = new A9();
break;
case 10:
_local2 = new A10();
break;
case 11:
_local2 = new A11();
break;
case 12:
_local2 = new A12();
break;
case 13:
_local2 = new A13();
break;
case 14:
_local2 = new A14();
break;
case 15:
_local2 = new A15();
break;
default:
break;
};
return (_local2);
}
public function processMe():Boolean{
var _local1:*;
var _local2:*;
_local1 = undefined;
if (!visible){
return (false);
};
eTime = (getTimer() - startTime);
if (eTime >= STAY_TIME){
sRect.y = (sRect.y + 3);
if (sRect.y >= sRect.height){
visible = false;
};
scrollRect = sRect;
};
if ((((cText.length > 0)) && ((FCounter < cText.length)))){
_local2 = (FCounter + 1);
FCounter = _local2;
_local1 = (FCounter * 2);
if (_local1 > cText.length){
_local1 = cText.length;
};
ConsoleText.text = cText.slice(0, _local1);
};
if (((!((pic == null))) && ((pic.x < 0)))){
pic.x = (pic.x - (pic.x * 0.5));
if (pic.x >= -1){
pic.x = 0;
};
};
return (visible);
}
public function reset(_arg1:String){
cText = _arg1;
ConsoleText.text = "";
pic = null;
sRect = new Rectangle(0, 0, width, height);
scrollRect = sRect;
eTime = 0;
FCounter = 0;
startTime = getTimer();
visible = true;
}
public function resetPic(_arg1:int){
cText = "";
ConsoleText.text = cText;
eTime = 0;
FCounter = 0;
startTime = getTimer();
pic = getPic(_arg1);
pic.x = -(pic.width);
pic.y = 0;
addChild(pic);
sRect = new Rectangle(0, 0, width, height);
scrollRect = sRect;
visible = true;
}
}
}//package
Section 58
//ContBK (ContBK)
package {
import flash.display.*;
public dynamic class ContBK extends MovieClip {
}
}//package
Section 59
//ContMenu (ContMenu)
package {
import flash.display.*;
import flash.events.*;
public class ContMenu extends MovieClip {
private var bresume:Object;
private var bk:Object;
private var brestart1:Object;
private var brestart2:Object;
private var choise:int;// = -1
private var bexit:Object;
public static const NONE:Object = -1;
public static const RESTART_MAN:Object = 2;
public static const RESUME:Object = 1;
public static const EXIT:Object = 4;
public static const RESTART_FULL:Object = 3;
public function ContMenu(){
choise = -1;
super();
bk = new ContBK();
bresume = new BResume();
brestart1 = new BRestart1();
brestart2 = new BRestart2();
bexit = new BExit();
choise = NONE;
addChild(bk);
addChild(bresume);
bresume.addEventListener(MouseEvent.CLICK, onResume);
addChild(brestart1);
brestart1.addEventListener(MouseEvent.CLICK, onRestartMan);
addChild(brestart2);
brestart2.addEventListener(MouseEvent.CLICK, onRestartFull);
addChild(bexit);
bexit.addEventListener(MouseEvent.CLICK, onExit);
choise = NONE;
}
private function onResume(_arg1:Event){
choise = RESUME;
}
private function onRestartMan(_arg1:Event){
choise = RESTART_MAN;
}
public function processMe():int{
var _local1:*;
_local1 = undefined;
_local1 = choise;
choise = NONE;
return (_local1);
}
private function onExit(_arg1:Event){
choise = EXIT;
}
private function onRestartFull(_arg1:Event){
choise = RESTART_FULL;
}
}
}//package
Section 60
//Crips (Crips)
package {
import flash.media.*;
public dynamic class Crips extends Sound {
}
}//package
Section 61
//DoneJob (DoneJob)
package {
import flash.display.*;
public dynamic class DoneJob extends MovieClip {
}
}//package
Section 62
//DoorPortalH (DoorPortalH)
package {
import flash.display.*;
public dynamic class DoorPortalH extends MovieClip {
}
}//package
Section 63
//DoorShellHorz (DoorShellHorz)
package {
import flash.display.*;
public dynamic class DoorShellHorz extends MovieClip {
}
}//package
Section 64
//DoorShellVert (DoorShellVert)
package {
import flash.display.*;
public dynamic class DoorShellVert extends MovieClip {
}
}//package
Section 65
//EasyButton (EasyButton)
package {
import flash.display.*;
public dynamic class EasyButton extends SimpleButton {
}
}//package
Section 66
//EasyText (EasyText)
package {
import flash.display.*;
public dynamic class EasyText extends MovieClip {
}
}//package
Section 67
//ExitStr (ExitStr)
package {
import flash.display.*;
public dynamic class ExitStr extends MovieClip {
}
}//package
Section 68
//FinalText (FinalText)
package {
import flash.display.*;
public dynamic class FinalText extends MovieClip {
}
}//package
Section 69
//Floor (Floor)
package {
import flash.display.*;
public dynamic class Floor extends MovieClip {
}
}//package
Section 70
//FullAccess (FullAccess)
package {
public class FullAccess {
public var gameField:Object;
public var Units:Array;
public var keypack:KeyPACK;
public function setKPack(_arg1:KeyPACK){
keypack = _arg1;
}
public function setHeroes(_arg1:Array){
Units = _arg1;
}
public function setGField(_arg1:Array){
gameField = _arg1;
}
}
}//package
Section 71
//Game (Game)
package {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.filters.*;
import flash.utils.*;
public class Game extends Sprite {
private var indikator:Object;
private var STrans:Object;
public var contextState:Boolean;// = false
private var music:Object;
public var totalRestTime:int;
private var ScrollFrom:Object;
private var scroller:MovieClip;
private var ScrollTo:Number;
public var Heroes:Array;
private var NeedFinal:Boolean;
private var RTiles:Array;
public var connector:FullAccess;
private var easyText:MovieClip;
private var TimePan:Object;
private var gTicks:int;
private var storage:LocalStorage;
private var Score:int;
public var gameMode:int;
private var bkg2:Object;
private var ScorePan:Object;
private var Room10snd:Object;
public var gField:Array;
private var gf:GlowFilter;
private var rooms:Object;
public var chan2:Object;
private var soundSwitch:Object;
private var kF_pressed;
private var TimeOutFig:MovieClip;
private var roomPassed:Array;
private var kR_pressed:Boolean;// = false
private var scrollStep:Number;
private var scrollerRect:Object;
private var bkg:Object;
public var chan:Object;
private var console:Object;
private var esc_pressed:Boolean;// = false
public var Phase:Number;
private var scrollSnd:Object;
private var gameStat:Object;
private var menuSwitch:Object;
private var maxScrollSpeed:Number;
private var ReadyFig:MovieClip;
private var finalScreen:MovieClip;
private var CMenuTrig:Boolean;// = false
private var round:Number;
private var ReadyFlag:Boolean;// = false
private var RoomPan:Object;
private var contMenu:Object;
private var musicSwitch:Object;
public var PhaseStart:Number;
private var scrollChan:Object;
public var keys:KeyPACK;
public static const PHASE_START:Object = 0;
public static const PHASE_END:Object = 10;
public static const PHASE_STATISTICS:Object = 4;
public static const PHASE_GAMEOVER:Object = 5;
public static const PHASE_GO:Object = 1;
public static const PHASE_SCROLLING:Object = 3;
public static const PHASE_FINAL:int = 18;
public static const PHASE_TUTORFAIL:Object = 8;
public static const VOLUME:Object = 0.25;
private static const PAN_ALPHA:Object = 0.5;
public static const PHASE_TIMEOUT:Object = 2;
public static const TEXT_TIME:Object = 1600;
public function Game(_arg1:int, _arg2:KeyPACK, _arg3:LocalStorage, _arg4:Boolean){
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:Array;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
contextState = false;
esc_pressed = false;
ReadyFlag = false;
CMenuTrig = false;
kR_pressed = false;
super();
_local5 = undefined;
_local6 = undefined;
_local7 = undefined;
_local8 = null;
_local9 = undefined;
_local10 = undefined;
_local11 = undefined;
_local12 = undefined;
contextState = false;
chan = new SoundChannel();
chan2 = new SoundChannel();
music = new Track01();
Room10snd = new Room10();
scrollChan = new SoundChannel();
scrollSnd = new Rewind();
indikator = new Indikator2();
scroller = new MovieClip();
scrollerRect = new Rectangle(0, 0, 640, 480);
roomPassed = new Array();
gField = new Array();
Heroes = new Array();
ReadyFig = new ReadyPAN();
ReadyFlag = false;
connector = new FullAccess();
gf = new GlowFilter(13260, 0.8, 16, 3, 2, 1, false, false);
contMenu = new ContMenu();
CMenuTrig = false;
esc_pressed = false;
totalRestTime = 0;
contextState = false;
storage = _arg3;
gTicks = storage.GameplayTicks;
rooms = new Rooms(_arg1);
gameMode = _arg1;
NeedFinal = false;
if ((((gameMode == Origin.MODE_HARDGAME)) && (!(storage.achievements[Achievements.AHARD])))){
NeedFinal = true;
};
easyText = new EasyText();
easyText.blendMode = "add";
_local5 = rooms.WalkTime;
Man.setWalkTime(_local5);
console = new Console();
_local6 = rooms.getRoomsAmount();
_local7 = 0;
while (_local7 < _local6) {
gField[_local7] = new GameField(rooms, RTiles);
gField[_local7].setRoom(_local7);
gField[_local7].x = (_local7 * 640);
if ((((gameMode == Origin.MODE_EASYGAME)) && ((_local7 == 0)))){
gField[_local7].addChild(easyText);
};
roomPassed.push(false);
_local7++;
};
keys = _arg2;
connector.setGField(gField);
connector.setKPack(keys);
connector.setHeroes(Heroes);
round = 0;
Score = 0;
scrollerInit();
addChild(scroller);
placePanels();
addChild(console);
indikator.x = 10;
indikator.y = 478;
addChild(indikator);
_local8 = new Array();
_local8.push(gf);
_local9 = new SoundON();
_local10 = new SoundOFF();
soundSwitch = new Trigger2State(_local9, _local10);
soundSwitch.x = 556;
soundSwitch.y = 457;
soundSwitch.filters = _local8;
addChild(soundSwitch);
_local11 = new MusicON();
_local12 = new MusicOFF();
musicSwitch = new Trigger2State(_local11, _local12);
musicSwitch.x = 540;
musicSwitch.y = 457;
musicSwitch.filters = _local8;
addChild(musicSwitch);
menuSwitch = new MenuBtn();
menuSwitch.x = 629;
menuSwitch.y = 469;
menuSwitch.filters = _local8;
menuSwitch.addEventListener(MouseEvent.CLICK, onCMenuClick);
addChild(menuSwitch);
connector.keypack.anykey = false;
Phase = PHASE_START;
addChild(ReadyFig);
ReadyFig.x = 320;
ReadyFig.y = 240;
contMenu.visible = contextState;
addChild(contMenu);
PhaseStart = getTimer();
addEventListener(Event.ENTER_FRAME, onGameDraw);
STrans = new SoundTransform(VOLUME, 0);
chan = music.play(0, 0xFFFFFF, STrans);
unlockAchievement(Achievements.ASPONSOR);
if (((!((gameMode == Origin.MODE_TUTOR))) && (storage.game2X))){
unlockAchievement(Achievements.AGAME2);
};
CMenuTrig = false;
}
private function UnlockRooms(){
switch (gameMode){
case Origin.MODE_EASYGAME:
if (storage.NormalCoins < 0){
console.appendStr("MEDIUM ROOMS ARE UNLOCKED", -1);
storage.saveNormalCoins(0);
storage.saveNormalTime(0);
};
break;
case Origin.MODE_NORMALGAME:
if (storage.HardCoins < 0){
console.appendStr("HARD ROOMS ARE UNLOCKED", -1);
storage.saveHardCoins(0);
storage.saveHardTime(0);
};
break;
default:
break;
};
}
private function heroTakesCoins(_arg1:int, _arg2:int){
var _local3:*;
var _local4:*;
_local3 = undefined;
_local4 = undefined;
Heroes[_arg1].coinsCollected = (Heroes[_arg1].coinsCollected + _arg2);
_local3 = storage.TotalCoins;
storage.increaseTotalCoins(_arg2);
_local4 = storage.TotalCoins;
}
private function nextRound(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = undefined;
_local2 = undefined;
_local3 = undefined;
if (round == 4){
Phase = PHASE_GAMEOVER;
return;
};
Phase = PHASE_START;
PhaseStart = getTimer();
_local1 = 0;
while (_local1 < Heroes.length) {
_local2 = Heroes[_local1].getFigure();
_local2.alpha = 0.45;
Heroes[_local1].resetMe();
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local3 = 0;
while (_local3 < gField[_local1].FieldCoins.length) {
gField[_local1].FieldCoins[_local3].resetMe(round);
_local3 = (_local3 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local3 = 0;
while (_local3 < gField[_local1].FloorSensors.length) {
gField[_local1].FloorSensors[_local3].resetMe();
_local3 = (_local3 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local3 = 0;
while (_local3 < gField[_local1].FloorLevers.length) {
gField[_local1].FloorLevers[_local3].resetMe();
_local3 = (_local3 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local3 = 0;
while (_local3 < gField[_local1].Gates.length) {
gField[_local1].Gates[_local3].resetMe();
_local3 = (_local3 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local3 = 0;
while (_local3 < gField[_local1].Quests.length) {
gField[_local1].Quests[_local3].resetMe();
_local3 = (_local3 + 1);
};
_local1 = (_local1 + 1);
};
_local4 = (round + 1);
round = _local4;
Heroes.push(new Man(round));
Heroes[round].setConnector(connector);
scroller.addChild(Heroes[round]);
addChild(ReadyFig);
}
private function ScrollController(){
var _local1:*;
var _local2:*;
_local1 = undefined;
_local1 = (Heroes.length - 1);
_local2 = Heroes[_local1].curRoom;
scrollerRect.x = (Heroes[_local1].curRoom * 640);
scroller.scrollRect = scrollerRect;
}
private function scrollerInit(){
var _local1:*;
_local1 = undefined;
_local1 = 0;
while (_local1 < scroller.numChildren) {
scroller.removeChildAt(_local1);
_local1 = (_local1 + 1);
};
scroller.scrollRect = scrollerRect;
Heroes.push(new Man(round));
Heroes[round].setConnector(connector);
_local1 = 0;
while (_local1 < gField.length) {
scroller.addChild(gField[_local1]);
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < Heroes.length) {
scroller.addChild(Heroes[_local1]);
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < Heroes.length) {
Heroes[_local1].resetMe();
_local1 = (_local1 + 1);
};
}
private function MainProcessor(){
var _local1:Boolean;
var _local2:Array;
var _local3:*;
var _local4:*;
var _local5:Number;
var _local6:*;
var _local7:*;
var _local8:Array;
var _local9:Array;
var _local10:*;
var _local11:Boolean;
var _local12:*;
var _local13:Boolean;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
var _local20:*;
var _local21:*;
var _local22:*;
var _local23:Boolean;
var _local24:*;
var _local25:Boolean;
var _local26:Boolean;
_local1 = false;
_local2 = null;
_local3 = undefined;
_local4 = undefined;
_local5 = NaN;
_local6 = undefined;
_local7 = undefined;
_local8 = null;
_local9 = null;
_local10 = undefined;
_local11 = false;
_local12 = undefined;
_local13 = false;
_local14 = undefined;
_local15 = undefined;
_local16 = undefined;
_local17 = undefined;
_local18 = undefined;
_local19 = undefined;
_local20 = undefined;
_local21 = undefined;
_local22 = undefined;
_local23 = false;
_local24 = undefined;
_local25 = false;
_local26 = false;
if (Phase != PHASE_GO){
return;
};
_local1 = soundSwitch.TState;
_local2 = new Array();
_local3 = 0;
while (_local3 < Heroes.length) {
_local2.push(Heroes[_local3].SwitchChecker);
_local3 = (_local3 + 1);
};
_local4 = 0;
while (_local4 < gField.length) {
_local6 = 0;
while (_local6 < gField[_local4].FloorButtons.length) {
_local7 = (Heroes[(Heroes.length - 1)].curRoom == _local4);
gField[_local4].FloorButtons[_local6].processMe(_local2, ((_local1) && (_local7)));
_local6 = (_local6 + 1);
};
_local4 = (_local4 + 1);
};
_local4 = 0;
while (_local4 < gField.length) {
_local8 = new Array();
_local9 = new Array();
_local3 = 0;
while (_local3 < Heroes.length) {
if (Heroes[_local3].curRoom == _local4){
_local8.push(Heroes[_local3].SwitchChecker);
_local9.push(Heroes[_local3].speed.x);
};
_local3 = (_local3 + 1);
};
_local6 = 0;
while (_local6 < gField[_local4].FloorLevers.length) {
_local7 = (Heroes[(Heroes.length - 1)].curRoom == _local4);
gField[_local4].FloorLevers[_local6].processMe(_local8, _local9, ((_local1) && (_local7)));
_local6 = (_local6 + 1);
};
_local8 = null;
_local9 = null;
_local4 = (_local4 + 1);
};
_local3 = 0;
while (_local3 < Heroes.length) {
_local5 = Heroes[_local3].curRoom;
_local4 = 0;
while (_local4 < gField.length) {
_local6 = 0;
while (_local6 < gField[_local4].FloorSensors.length) {
_local7 = (Heroes[(Heroes.length - 1)].curRoom == _local4);
gField[_local4].FloorSensors[_local6].processMe(_local2, ((_local1) && (_local7)));
_local6 = (_local6 + 1);
};
_local4 = (_local4 + 1);
};
_local3 = (_local3 + 1);
};
_local3 = 0;
while (_local3 < gField.length) {
_local5 = _local3;
_local6 = 0;
while (_local6 < gField[_local5].GravityLifts.length) {
_local10 = gField[_local5].GravityLifts[_local6].getTrigLever();
_local11 = false;
if (_local10 >= 0){
_local11 = gField[_local5].FloorLevers[_local10].getTriggerState();
};
_local10 = gField[_local5].GravityLifts[_local6].getTrigButton();
_local12 = false;
if (_local10 >= 0){
_local12 = gField[_local5].FloorButtons[_local10].getTriggerState();
};
gField[_local5].GravityLifts[_local6].processMe(((_local11) || (_local12)));
_local6 = (_local6 + 1);
};
_local6 = 0;
while (_local6 < gField[_local5].Gates.length) {
_local7 = (Heroes[(Heroes.length - 1)].curRoom == _local3);
_local10 = gField[_local5].Gates[_local6].getTrigLever();
_local13 = true;
_local14 = 0;
while (_local14 < _local10.length) {
_local13 = ((_local13) && (gField[_local5].FloorLevers[_local10[_local14]].getTriggerState()));
_local14 = (_local14 + 1);
};
_local10 = gField[_local5].Gates[_local6].getTrigButton();
_local15 = true;
_local14 = 0;
while (_local14 < _local10.length) {
_local15 = ((_local15) && (gField[_local5].FloorButtons[_local10[_local14]].getTriggerState()));
_local14 = (_local14 + 1);
};
_local10 = gField[_local5].Gates[_local6].getTrigSensor();
_local16 = true;
_local14 = 0;
while (_local14 < _local10.length) {
_local16 = ((_local16) && (gField[_local5].FloorSensors[_local10[_local14]].getTriggerState()));
_local14 = (_local14 + 1);
};
gField[_local5].Gates[_local6].processMe(((((_local15) && (_local13))) && (_local16)), ((_local1) && (_local7)));
_local6 = (_local6 + 1);
};
_local3 = (_local3 + 1);
};
_local6 = 0;
while (_local6 < Heroes.length) {
Heroes[_local6].manHandler();
_local6 = (_local6 + 1);
};
_local6 = 0;
while (_local6 < Heroes.length) {
_local5 = Heroes[_local6].curRoom;
_local3 = 0;
while (_local3 < gField[_local5].FieldCoins.length) {
_local7 = (Heroes[(Heroes.length - 1)].curRoom == _local5);
_local17 = Heroes[_local6].getFigure();
_local18 = gField[_local5].FieldCoins[_local3].checkTouch(_local17, _local6, ((_local1) && (_local7)));
if (_local6 == (Heroes.length - 1)){
Score = (Score + _local18);
if (_local18 > 0){
heroTakesCoins(_local6, _local18);
};
};
_local3 = (_local3 + 1);
};
_local6 = (_local6 + 1);
};
if (gameMode == Origin.MODE_TUTOR){
_local19 = 0;
while (_local19 < gField.length) {
_local20 = 0;
_local21 = gField[_local19].Quests[0];
_local22 = 0;
while (_local22 < _local21.conditions.length) {
_local23 = true;
_local24 = _local21.conditions[_local22][0];
if (_local24 >= 0){
_local23 = gField[_local19].FloorButtons[_local24].getTriggerState();
};
_local25 = true;
_local24 = _local21.conditions[_local22][1];
if (_local24 >= 0){
_local25 = gField[_local19].FloorLevers[_local24].getTriggerState();
};
_local26 = true;
_local24 = _local21.conditions[_local22][2];
if (_local24 >= 0){
_local26 = gField[_local19].FloorSensors[_local24].getTriggerState();
};
if (((((_local23) && (_local25))) && (_local26))){
_local20 = (_local20 + 1);
} else {
break;
};
_local22 = (_local22 + 1);
};
if (_local20 >= _local21.stageCounter){
_local21.stageCounter = _local20;
};
_local21.fig.gotoAndStop(_local21.stageCounter);
_local19 = (_local19 + 1);
};
};
ScrollController();
}
private function startScroller(_arg1:Number){
var _local2:*;
_local2 = undefined;
ScrollTo = _arg1;
_local2 = scroller.scrollRect.x;
ScrollFrom = _local2;
if (soundSwitch.TState){
scrollChan = scrollSnd.play();
};
maxScrollSpeed = Math.abs(((ScrollFrom - ScrollTo) * 0.3));
if (_local2 > _arg1){
scrollStep = -1;
};
if (_local2 < _arg1){
scrollStep = 1;
};
}
private function onTimeOutDraw(_arg1:Event){
}
private function placePanels(){
var _local1:Array;
_local1 = null;
_local1 = new Array();
_local1.push(gf);
RoomPan = new RoomPanel();
RoomPan.x = 10;
RoomPan.y = 6;
RoomPan.filters = _local1;
RoomPan.roomNumber.text = "ROOM";
RoomPan.alpha = PAN_ALPHA;
addChild(RoomPan);
if (gameMode == Origin.MODE_TUTOR){
ScorePan = new ScorePanelTutor();
ScorePan.x = 633;
ScorePan.y = 6;
ScorePan.filters = _local1;
ScorePan.alpha = PAN_ALPHA;
} else {
ScorePan = new ScorePanel();
ScorePan.x = 636;
ScorePan.y = 6;
ScorePan.filters = _local1;
ScorePan.alpha = PAN_ALPHA;
};
addChild(ScorePan);
if (gameMode != Origin.MODE_TUTOR){
TimePan = new TimerPan();
TimePan.x = 320;
TimePan.y = 465;
TimePan.alpha = PAN_ALPHA;
TimePan.filters = _local1;
addChild(TimePan);
};
}
private function RestartMan(){
var _local1:*;
if (Phase != PHASE_GO){
return;
};
Score = (Score - Heroes[round].coinsCollected);
scroller.removeChild(Heroes[round]);
Heroes.splice(round, 1);
_local1 = (round - 1);
round = _local1;
connector.keypack.anykey = false;
scrollerRect.x = 0;
scroller.scrollRect = scrollerRect;
nextRound();
}
private function StatisticsOUT(_arg1:int, _arg2:int, _arg3:int):GameStatistics{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Boolean;
var _local8:Boolean;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:Boolean;
var _local18:*;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = false;
_local8 = false;
_local9 = undefined;
_local10 = undefined;
_local11 = undefined;
_local12 = undefined;
_local13 = undefined;
_local14 = undefined;
_local15 = undefined;
_local16 = undefined;
_local17 = false;
_local18 = undefined;
_local4 = 0;
switch (gameMode){
case Origin.MODE_EASYGAME:
_local4 = storage.EasyCoins;
break;
case Origin.MODE_NORMALGAME:
_local4 = storage.NormalCoins;
break;
case Origin.MODE_HARDGAME:
_local4 = storage.HardCoins;
break;
default:
break;
};
_local5 = 0;
if ((((_local4 >= 60)) && ((_local4 < 80)))){
_local5 = 1;
};
if ((((_local4 >= 80)) && ((_local4 < 100)))){
_local5 = 2;
};
if (_local4 == 100){
_local5 = 3;
};
_local6 = 0;
if ((((_arg2 >= 60)) && ((_arg2 < 80)))){
_local6 = 1;
};
if ((((_arg2 >= 80)) && ((_arg2 < 100)))){
_local6 = 2;
};
if (_arg2 == 100){
_local6 = 3;
};
_local7 = false;
if (_local6 > _local5){
_local7 = true;
};
_local8 = false;
if ((((_arg1 == 10)) && ((_arg2 >= 60)))){
_local8 = saveScores(_arg2, _arg3);
UnlockRooms();
};
_local9 = storage.EasyCoins;
if (_local9 < 0){
_local9 = 0;
};
_local10 = storage.NormalCoins;
if (_local10 < 0){
_local10 = 0;
};
_local11 = storage.HardCoins;
if (_local11 < 0){
_local11 = 0;
};
_local12 = ((_local9 + _local10) + _local11);
if ((((_local12 >= 100)) && ((_local12 < 200)))){
unlockAchievement(Achievements.AC100);
};
if ((((_local12 >= 200)) && ((_local12 < 300)))){
unlockAchievement(Achievements.AC200);
};
if (_local12 == 300){
unlockAchievement(Achievements.AC300);
};
_local13 = storage.EasyTime;
if ((((_local13 < 0)) || ((storage.EasyCoins < 100)))){
_local13 = 0;
};
_local14 = storage.NormalTime;
if ((((_local14 < 0)) || ((storage.NormalCoins < 100)))){
_local14 = 0;
};
_local15 = storage.HardTime;
if ((((_local15 < 0)) || ((storage.HardCoins < 100)))){
_local15 = 0;
};
_local16 = ((_local13 + _local14) + _local15);
if (_local16 >= 10000){
unlockAchievement(Achievements.ATIME5);
};
if (_local16 >= 20000){
unlockAchievement(Achievements.ATIME10);
};
if (_local16 >= 30000){
unlockAchievement(Achievements.ATIME15);
};
_local17 = false;
if (gameMode == Origin.MODE_TUTOR){
_local17 = true;
};
if (soundSwitch.TState){
chan.stop();
};
_local18 = new GameStatistics(_arg1, _arg2, _arg3, _local7, _local8, _local17, soundSwitch.TState);
return (_local18);
}
private function RestartFull(){
if (((!((Phase == PHASE_GO))) && (!((Phase == PHASE_START))))){
return;
};
Heroes = new Array();
round = 0;
Score = 0;
scrollerInit();
resetUnits();
connector.keypack.anykey = false;
scrollerRect.x = 0;
scroller.scrollRect = scrollerRect;
addChild(ReadyFig);
Phase = PHASE_START;
}
public function unlockSponsor(){
unlockAchievement(Achievements.ASPONSOR);
}
private function onGameDraw(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:String;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = null;
_local6 = undefined;
_local7 = undefined;
_local8 = undefined;
_local9 = undefined;
_local10 = undefined;
_local11 = undefined;
_local12 = undefined;
_local13 = undefined;
_local14 = undefined;
if (((keys.esc) && (!(esc_pressed)))){
esc_pressed = true;
CMenuTrig = true;
};
if (!keys.esc){
esc_pressed = false;
};
if (((CMenuTrig) && ((((Phase == PHASE_GO)) || ((Phase == PHASE_START)))))){
CMenuTrig = false;
contextState = !(contextState);
contMenu.visible = contextState;
if (contains(contMenu)){
removeChild(contMenu);
};
addChild(contMenu);
if (contains(menuSwitch)){
removeChild(menuSwitch);
};
addChild(menuSwitch);
if (contains(musicSwitch)){
removeChild(musicSwitch);
};
addChild(musicSwitch);
if (contains(soundSwitch)){
removeChild(soundSwitch);
};
addChild(soundSwitch);
};
_local2 = musicSwitch.TState;
if (_local2){
if (contextState){
STrans.volume = (VOLUME * 0.5);
} else {
STrans.volume = VOLUME;
};
} else {
STrans.volume = 0;
};
chan.soundTransform = STrans;
if (contextState){
_local6 = contMenu.processMe();
if (_local6 == ContMenu.RESUME){
contextState = !(contextState);
contMenu.visible = contextState;
};
if (_local6 == ContMenu.RESTART_MAN){
contextState = !(contextState);
contMenu.visible = contextState;
RestartMan();
};
if (_local6 == ContMenu.RESTART_FULL){
contextState = !(contextState);
contMenu.visible = contextState;
RestartFull();
};
if (_local6 == ContMenu.EXIT){
Phase = PHASE_END;
};
return;
};
if (((keys.kR) && (!(kR_pressed)))){
RestartMan();
};
if (!keys.kR){
kR_pressed = false;
};
if (((keys.kF) && (!(kF_pressed)))){
RestartFull();
};
if (!keys.kF){
kF_pressed = false;
};
PhaseProcessor();
_local3 = 0;
while (_local3 < Heroes.length) {
if ((((((((_local3 == (Heroes.length - 1))) && ((Heroes[_local3].curRoom == (gField.length - 1))))) && (!(roomPassed[Heroes[_local3].curRoom])))) && (soundSwitch.TState))){
chan2 = Room10snd.play();
};
roomPassed[Heroes[_local3].curRoom] = true;
if ((((_local3 > 0)) || ((Heroes[_local3].curRoom > 0)))){
easyText.visible = false;
};
_local3 = (_local3 + 1);
};
indikator.gotoAndStop((round + 1));
if (gameMode == Origin.MODE_TUTOR){
ScorePan.s3.text = Score;
} else {
_local7 = int((Score / 100));
ScorePan.s1.text = _local7;
_local8 = int(((Score - (_local7 * 100)) / 10));
ScorePan.s2.text = _local8;
_local9 = int(((Score - (_local7 * 100)) - (_local8 * 10)));
ScorePan.s3.text = _local9;
};
_local4 = Heroes[round].curTime;
if (gameMode != Origin.MODE_TUTOR){
_local10 = int((_local4 / 100000));
if (_local10 > 0){
TimePan.d100.text = _local10;
} else {
TimePan.d100.text = "";
};
_local11 = int(((_local4 - (_local10 * 100000)) / 10000));
TimePan.dsec.text = _local11;
_local12 = int((((_local4 - (100000 * _local10)) - (10000 * _local11)) / 1000));
TimePan.sec.text = _local12;
_local13 = int(((((_local4 - (100000 * _local10)) - (10000 * _local11)) - (1000 * _local12)) / 100));
TimePan.msec.text = _local13;
_local14 = int((((((_local4 - (100000 * _local10)) - (10000 * _local11)) - (1000 * _local12)) - (100 * _local13)) / 10));
TimePan.mmsec.text = _local14;
};
_local5 = new String((Heroes[(Heroes.length - 1)].curRoom + 1));
while (_local5.length < 2) {
_local5 = ("0" + _local5);
};
RoomPan.roomNumber.text = _local5;
if (gameMode != Origin.MODE_TUTOR){
gTicks++;
};
storage.setTicks(gTicks);
if (gTicks == 54000){
unlockAchievement(Achievements.ATIME30);
};
if ((((gameMode == Origin.MODE_TUTOR)) && ((Heroes[(Heroes.length - 1)].curRoom == 3)))){
unlockAchievement(Achievements.ATUTOR);
};
}
private function unlockAchievement(_arg1:int){
var _local2:Boolean;
var _local3:Boolean;
var _local4:*;
_local2 = false;
_local3 = false;
_local4 = undefined;
if (storage.achievements[_arg1]){
return;
};
console.appendStr("", _arg1);
storage.unlockAch(_arg1);
_local2 = storage.achievements[Achievements.APERFECT];
_local3 = true;
if (!_local2){
_local4 = 1;
while ((((_local4 < 15)) && (_local3))) {
if (!storage.achievements[_local4]){
_local3 = false;
};
_local4 = (_local4 + 1);
};
};
if (((!(_local2)) && (_local3))){
console.appendStr("", Achievements.APERFECT);
storage.unlockAch(Achievements.APERFECT);
};
}
private function resetUnits(){
var _local1:*;
var _local2:*;
_local1 = undefined;
_local2 = undefined;
_local1 = 0;
while (_local1 < gField.length) {
_local2 = 0;
while (_local2 < gField[_local1].FieldCoins.length) {
gField[_local1].FieldCoins[_local2].resetMe(-1);
_local2 = (_local2 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local2 = 0;
while (_local2 < gField[_local1].FloorSensors.length) {
gField[_local1].FloorSensors[_local2].resetMe();
_local2 = (_local2 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local2 = 0;
while (_local2 < gField[_local1].FloorLevers.length) {
gField[_local1].FloorLevers[_local2].resetMe();
_local2 = (_local2 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local2 = 0;
while (_local2 < gField[_local1].Gates.length) {
gField[_local1].Gates[_local2].resetMe();
_local2 = (_local2 + 1);
};
_local1 = (_local1 + 1);
};
_local1 = 0;
while (_local1 < gField.length) {
_local2 = 0;
while (_local2 < gField[_local1].Quests.length) {
gField[_local1].Quests[_local2].resetMe();
_local2 = (_local2 + 1);
};
_local1 = (_local1 + 1);
};
}
private function PhaseProcessor():Boolean{
var _local1:Number;
var _local2:*;
var _local3:int;
var _local4:*;
_local1 = NaN;
_local2 = undefined;
_local3 = 0;
_local4 = undefined;
_local1 = (getTimer() - PhaseStart);
switch (Phase){
case PHASE_START:
ReadyFig.gotoAndStop((round + 1));
ReadyFig.visible = true;
if (((((((connector.keypack.left) || (connector.keypack.right))) || (connector.keypack.up))) || (connector.keypack.down))){
Phase = PHASE_GO;
PhaseStart = getTimer();
ReadyFig.visible = true;
removeChild(ReadyFig);
Heroes[round].resetTimer();
ReadyFlag = false;
};
break;
case PHASE_GO:
MainProcessor();
if (Score >= 100){
Phase = PHASE_STATISTICS;
PhaseStart = getTimer();
_local3 = 0;
_local4 = 0;
while (_local4 < roomPassed.length) {
if (roomPassed[_local4]){
_local3++;
};
_local4 = (_local4 + 1);
};
totalRestTime = (totalRestTime + Heroes[round].curTime);
gameStat = StatisticsOUT(_local3, Score, totalRestTime);
addChild(gameStat);
break;
};
if (((Heroes[round].spaceTrig) && (!(ReadyFlag)))){
ReadyFlag = true;
if (round < 4){
TimeOutFig = new TimeOutPAN();
} else {
break;
};
addChild(TimeOutFig);
TimeOutFig.x = 320;
TimeOutFig.y = 240;
PhaseStart = getTimer();
TimeOutFig.addEventListener(Event.ENTER_FRAME, onTimeOutDraw);
};
if (Heroes[round].done){
totalRestTime = (totalRestTime + Heroes[round].curTime);
Phase = PHASE_TIMEOUT;
connector.keypack.anykey = false;
};
break;
case PHASE_TIMEOUT:
if (round >= 4){
Phase = PHASE_STATISTICS;
PhaseStart = getTimer();
_local3 = 0;
_local4 = 0;
while (_local4 < roomPassed.length) {
if (roomPassed[_local4]){
_local3++;
};
_local4 = (_local4 + 1);
};
gameStat = StatisticsOUT(_local3, Score, totalRestTime);
addChild(gameStat);
break;
};
if (_local1 > (TEXT_TIME * 0.4)){
connector.keypack.anykey = false;
if (scrollerRect.x == 0){
TimeOutFig.removeEventListener(Event.ENTER_FRAME, onTimeOutDraw);
removeChild(TimeOutFig);
nextRound();
} else {
TimeOutFig.removeEventListener(Event.ENTER_FRAME, onTimeOutDraw);
removeChild(TimeOutFig);
Phase = PHASE_SCROLLING;
PhaseStart = getTimer();
startScroller(0);
};
};
break;
case PHASE_SCROLLING:
processScroller();
if (scrollerRect.x == ScrollTo){
nextRound();
};
break;
case PHASE_STATISTICS:
gameStat.processMe();
_local2 = gameStat.FCounter;
if (_local2 <= gameStat.SAFE_FRAMES){
connector.keypack.anykey = false;
};
if ((((((((_local2 > gameStat.SAFE_FRAMES)) && (connector.keypack.anykey))) && (!(gameStat.autoEnd)))) || ((((_local2 > gameStat.SAFE_FRAMES)) && (gameStat.autoEnd))))){
if ((((gameMode == Origin.MODE_HARDGAME)) && (NeedFinal))){
finalScreen = new FinalText();
if (contains(gameStat)){
removeChild(gameStat);
};
Phase = PHASE_FINAL;
addChild(finalScreen);
connector.keypack.anykey = false;
} else {
gameStat.stopSounds();
Phase = PHASE_END;
};
};
break;
case PHASE_FINAL:
if (connector.keypack.anykey){
gameStat.stopSounds();
Phase = PHASE_END;
};
break;
default:
break;
};
console.processMe();
return (true);
}
private function onCMenuClick(_arg1:Event){
if (Phase == PHASE_STATISTICS){
gameStat.stopSounds();
Phase = PHASE_END;
} else {
CMenuTrig = true;
};
}
private function limiter(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:*;
_local4 = undefined;
if (_arg2 > _arg3){
_local4 = _arg2;
_arg2 = _arg3;
_arg3 = _local4;
};
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
private function processScroller(){
var _local1:*;
_local1 = undefined;
_local1 = scroller.scrollRect.x;
scrollStep = (scrollStep * 1.75);
scrollStep = limiter(scrollStep, -(maxScrollSpeed), maxScrollSpeed);
scrollerRect.x = (_local1 + scrollStep);
scrollerRect.x = limiter(scrollerRect.x, ScrollTo, ScrollFrom);
scroller.scrollRect = scrollerRect;
}
private function saveScores(_arg1:int, _arg2:int):Boolean{
var _local3:Boolean;
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = false;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_arg2 = int((_arg2 / 10));
_local3 = false;
switch (gameMode){
case Origin.MODE_EASYGAME:
_local4 = storage.EasyCoins;
if ((((_arg1 > _local4)) || ((((((_arg1 == 100)) && ((_local4 == 100)))) && ((_arg2 > storage.EasyTime)))))){
_local3 = true;
storage.saveEasyCoins(_arg1);
storage.saveEasyTime(_arg2);
};
storage.EasyPassed();
if (storage.EasyRoomsPassed == 1){
unlockAchievement(Achievements.AEASY);
};
break;
case Origin.MODE_NORMALGAME:
_local5 = storage.NormalCoins;
_local3 = true;
storage.saveNormalCoins(_arg1);
storage.saveNormalTime(_arg2);
storage.MediumPassed();
if (storage.MediumRoomsPassed == 1){
unlockAchievement(Achievements.AMEDIUM);
};
break;
case Origin.MODE_HARDGAME:
_local6 = storage.HardCoins;
if ((((_arg1 > _local6)) || ((((((_arg1 == 100)) && ((_local6 == 100)))) && ((_arg2 > storage.HardTime)))))){
_local3 = true;
storage.saveHardCoins(_arg1);
storage.saveHardTime(_arg2);
};
storage.HardPassed();
if (storage.HardRoomsPassed == 1){
unlockAchievement(Achievements.AHARD);
};
break;
default:
break;
};
if ((((((storage.EasyRoomsPassed >= 1)) && ((storage.MediumRoomsPassed >= 1)))) && ((storage.HardRoomsPassed >= 1)))){
unlockAchievement(Achievements.AROOMS);
};
return (_local3);
}
}
}//package
Section 72
//GameField (GameField)
package {
import flash.display.*;
import flash.geom.*;
public class GameField extends Sprite {
public var FloorButtons:Object;
private var FHeight:Object;// = 0
private var FWidth:Object;// = 0
private var shadowsBMP:BitmapData;
public var FloorLevers:Object;
public var MAP:Object;
public var GravityLifts:Object;
public var FieldCoins:Object;
private var tmaker:Object;
private var TileObjects:Object;
public var shadows:Bitmap;
public var FloorSensors:Object;
private var tiles:Bitmap;
public var Gates:Object;
public var Quests:Object;
private var tileBMP:BitmapData;
private var rooms:Object;
public static const BackTileTab:Array = new Array(new BTile1(), new BTile1(), new BTile2());
public static const anchorX:Object = 0;
public static const anchorY:Object = 0;
public static const TileW:Object = 40;
public static const YTiles:Object = 12;
public static const TileH:Object = 40;
public static const XTiles:Object = 16;
public static const Gravity:Object = 2;
public static const TileTab:Array = new Array(new Tile1(), new Tile2(), new Tile3());
public static const XTolerance:Object = 12;
public static const QUEST_Y:Object = 140;
private static var connector:FullAccess;
public function GameField(_arg1:Rooms, _arg2:Array){
FHeight = 0;
FWidth = 0;
super();
FWidth = 0;
FHeight = 0;
tmaker = new TileMaker();
MAP = new Array();
TileObjects = new Array();
FloorButtons = new Array();
FloorLevers = new Array();
FloorSensors = new Array();
GravityLifts = new Array();
FieldCoins = new Array();
Gates = new Array();
Quests = new Array();
rooms = _arg1;
}
public function setConnector(_arg1:FullAccess){
connector = _arg1;
}
public function DrawMe(){
}
public function tilesCollision(_arg1:Sprite):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = undefined;
_local2 = _arg1.getRect(this);
_local3 = new BoundingRECT(((_local2.left - anchorX) / TileW), ((_local2.right - anchorX) / TileW), ((_local2.top - anchorY) / TileH), ((_local2.bottom - anchorY) / TileH));
if (_local3.left >= XTiles){
return (false);
};
if (_local3.right < 0){
return (false);
};
if (_local3.top >= YTiles){
return (false);
};
if (_local3.bottom < 0){
return (false);
};
if (_local3.left < 0){
_local3.left = 0;
};
if (_local3.right >= XTiles){
_local3.right = (XTiles - 1);
};
if (_local3.top < 0){
_local3.top = 0;
};
if (_local3.bottom >= YTiles){
_local3.bottom = (YTiles - 1);
};
_local4 = _local3.left;
while (_local4 <= _local3.right) {
_local5 = _local3.top;
while (_local5 <= _local3.bottom) {
if (MAP[_local5][_local4] < 0){
} else {
_local6 = new Rectangle((anchorX + (_local4 * 40)), (anchorY + (_local5 * 40)), 40, 40);
_local7 = _local6.intersects(_local2);
if (_local7){
return (true);
};
};
_local5 = (_local5 + 1);
};
_local4 = (_local4 + 1);
};
return (false);
}
public function setRoom(_arg1:Number){
var _local2:*;
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:Array;
var _local9:Array;
var _local10:*;
var _local11:Number;
var _local12:Number;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
var _local20:*;
_local2 = undefined;
_local3 = null;
_local4 = null;
_local5 = null;
_local6 = null;
_local7 = null;
_local8 = null;
_local9 = null;
_local10 = undefined;
_local11 = NaN;
_local12 = NaN;
_local13 = undefined;
_local14 = undefined;
_local15 = undefined;
_local16 = undefined;
_local17 = undefined;
_local18 = undefined;
_local19 = undefined;
_local20 = undefined;
MAP = rooms.getRoom(_arg1);
tileBMP = tmaker.makeRoom(MAP);
shadowsBMP = tmaker.makeShadow(MAP);
tiles = new Bitmap(tileBMP);
_local2 = 0;
while (_local2 < numChildren) {
removeChildAt(_local2);
_local2 = (_local2 + 1);
};
addChild(tiles);
_local3 = rooms.getGates(_arg1);
_local2 = 0;
while (_local2 < _local3.length) {
_local11 = (anchorX + (_local3[_local2] * TileW));
_local2 = (_local2 + 1);
_local12 = (anchorY + (_local3[_local2] * TileH));
_local2 = (_local2 + 1);
_local17 = _local3[_local2];
_local2 = (_local2 + 1);
_local18 = _local3[_local2];
_local2 = (_local2 + 1);
_local10 = _local3[_local2];
_local13 = new Gate(_local11, _local12, _local17, _local18, _local10);
Gates.push(_local13);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local4 = rooms.getButtons(_arg1);
_local2 = 0;
while (_local2 < _local4.length) {
_local11 = (anchorX + (_local4[_local2] * TileW));
_local2 = (_local2 + 1);
_local12 = (anchorY + (_local4[_local2] * TileH));
FloorButtons.push(new TrigButton());
_local13 = FloorButtons[(FloorButtons.length - 1)];
_local13.setPos(_local11, _local12, TileW, TileH);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local5 = rooms.getLevers(_arg1);
_local2 = 0;
while (_local2 < _local5.length) {
_local11 = ((anchorX + (_local5[_local2] * TileW)) + (TileW * 0.5));
_local2 = (_local2 + 1);
_local12 = (anchorY + (_local5[_local2] * TileH));
_local2 = (_local2 + 1);
_local14 = _local5[_local2];
_local13 = new TrigLever(_local14);
_local13.setPos(_local11, _local12, TileW, TileH);
FloorLevers.push(_local13);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local6 = rooms.getSensors(_arg1);
_local2 = 0;
while (_local2 < _local6.length) {
_local11 = (anchorX + (_local6[_local2] * TileW));
_local2 = (_local2 + 1);
_local12 = (anchorY + (_local6[_local2] * TileH));
_local2 = (_local2 + 1);
_local13 = new TrigSensor(_local6[_local2]);
_local13.setPos((_local11 + 2), _local12, TileW, TileH);
FloorSensors.push(_local13);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local7 = rooms.getLifts(_arg1);
_local2 = 0;
while (_local2 < _local7.length) {
_local11 = ((anchorX + (_local7[_local2] * TileW)) + (TileW * 0.5));
_local2 = (_local2 + 1);
_local15 = (anchorY + (_local7[_local2] * TileH));
_local2 = (_local2 + 1);
_local16 = (anchorY + (_local7[_local2] * TileH));
_local2 = (_local2 + 1);
_local17 = _local7[_local2];
_local2 = (_local2 + 1);
_local18 = _local7[_local2];
_local13 = new Lift(_local11, _local15, _local16, _local17, _local18, TileH);
GravityLifts.push(_local13);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local8 = rooms.getCoins(_arg1);
_local2 = 0;
while (_local2 < _local8.length) {
_local11 = (anchorX + (_local8[_local2] * TileW));
_local2 = (_local2 + 1);
_local12 = ((anchorY + (_local8[_local2] * TileH)) + (TileH * 0.5));
_local2 = (_local2 + 1);
_local19 = _local8[_local2];
_local11 = (_local11 + (TileW * 0.5));
_local13 = new Coin(_local11, _local12, _local19);
FieldCoins.push(_local13);
addChild(_local13);
_local2 = (_local2 + 1);
};
_local9 = rooms.getQuests(_arg1);
if (_local9.length > 0){
_local20 = new Questa(_local9[0], _local9[1]);
_local20.blendMode = "add";
_local20.alpha = 0.6;
Quests.push(_local20);
addChild(_local20);
};
}
public function gatesTest(_arg1:MovieClip):Boolean{
var _local2:*;
var _local3:*;
_local2 = undefined;
_local3 = undefined;
_local3 = 0;
while (_local3 < Gates.length) {
_local2 = Gates[_local3].checkHit(_arg1);
if (_local2){
return (true);
};
_local3 = (_local3 + 1);
};
return (false);
}
}
}//package
Section 73
//GameMenu (GameMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public class GameMenu extends MovieClip {
private var kub2:Object;
private var easy:Object;
private var hard:Object;
private var backBtn:Object;
private var pressed:int;
private var submit:Object;
private var achiv:Object;
private var snd:Object;
private var chan:Object;
private var kub3:MovieClip;
private var norm:Object;
private var back:Object;
private var kub1:Object;
public static const EASY_PRESSED:Object = 0;
public static const ACHIEVEMENTS_PRESSED:Object = 3;
public static const NORMAL_PRESSED:Object = 1;
public static const HARD_PRESSED:Object = 2;
public static const BACK_PRESSED:Object = 4;
public static const SUBMIT_PRESSED:Object = 5;
public function GameMenu(_arg1:LocalStorage){
var _local2:*;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:*;
var _local10:*;
var _local11:String;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
super();
_local2 = undefined;
_local3 = null;
_local4 = null;
_local5 = null;
_local6 = null;
_local7 = null;
_local8 = null;
_local9 = undefined;
_local10 = undefined;
_local11 = null;
_local12 = undefined;
_local13 = undefined;
_local14 = undefined;
_local15 = undefined;
_local16 = undefined;
_local17 = undefined;
_local18 = undefined;
back = new MenuBack();
easy = new EasyButton();
norm = new NormalButton();
hard = new HardButton();
achiv = new AchieveButton();
submit = new SubmitButton();
backBtn = new ButtonBack();
chan = new SoundChannel();
snd = new MButton();
pressed = -1;
addChild(back);
_local2 = 320;
if (_arg1.EasyCoins < 0){
_local3 = "000";
} else {
_local3 = String(_arg1.EasyCoins);
};
back.EasyCoins.text = _local3;
if (_arg1.EasyCoins < 60){
kub1 = null;
};
if ((((_arg1.EasyCoins >= 60)) && ((_arg1.EasyCoins < 80)))){
kub1 = new KubBRONZE();
};
if ((((_arg1.EasyCoins >= 80)) && ((_arg1.EasyCoins < 100)))){
kub1 = new KubSILVER();
};
if (_arg1.EasyCoins == 100){
kub1 = new KubGOLDEN();
};
if (kub1 != null){
kub1.x = 289;
addChild(kub1);
};
if (_arg1.EasyTime < 0){
_local4 = "00:00";
} else {
_local13 = _arg1.EasyTime;
_local14 = int((_local13 / 100));
_local15 = (_local13 - (_local14 * 100));
_local16 = String(_local14);
if (_local16.length == 1){
_local16 = ("0" + _local16);
};
_local17 = String(_local15);
if (_local17.length == 1){
_local17 = ("0" + _local17);
};
_local4 = ((_local16 + ":") + _local17);
};
back.EasyTime.text = _local4;
easy.x = _local2;
easy.y = 112;
addChild(easy);
easy.addEventListener(MouseEvent.CLICK, onEasyClick);
if (_arg1.NormalCoins < 0){
_local5 = "";
} else {
_local5 = String(_arg1.NormalCoins);
};
back.NormalCoins.text = _local5;
if (_arg1.NormalCoins < 60){
kub2 = null;
};
if ((((_arg1.NormalCoins >= 60)) && ((_arg1.NormalCoins < 80)))){
kub2 = new KubBRONZE();
};
if ((((_arg1.NormalCoins >= 80)) && ((_arg1.NormalCoins < 100)))){
kub2 = new KubSILVER();
};
if (_arg1.NormalCoins == 100){
kub2 = new KubGOLDEN();
};
if (kub2 != null){
kub2.x = 320;
addChild(kub2);
};
if (_arg1.NormalTime < 0){
_local6 = "";
} else {
_local13 = _arg1.NormalTime;
_local14 = int((_local13 / 100));
_local15 = (_local13 - (_local14 * 100));
_local16 = String(_local14);
if (_local16.length == 1){
_local16 = ("0" + _local16);
};
_local17 = String(_local15);
if (_local17.length == 1){
_local17 = ("0" + _local17);
};
_local6 = ((_local16 + ":") + _local17);
};
back.NormalTime.text = _local6;
if (_arg1.NormalCoins < 0){
norm.visible = false;
} else {
norm.visible = true;
};
norm.x = _local2;
norm.y = (easy.y + 77);
addChild(norm);
if (norm.visible){
norm.addEventListener(MouseEvent.CLICK, onNormalClick);
};
if (_arg1.HardCoins < 0){
_local7 = "";
} else {
_local7 = String(_arg1.HardCoins);
};
back.HardCoins.text = _local7;
if (_arg1.HardCoins < 60){
kub3 = null;
};
if ((((_arg1.HardCoins >= 60)) && ((_arg1.HardCoins < 80)))){
kub3 = new KubBRONZE();
};
if ((((_arg1.HardCoins >= 80)) && ((_arg1.HardCoins < 100)))){
kub3 = new KubSILVER();
};
if (_arg1.HardCoins == 100){
kub3 = new KubGOLDEN();
};
if (kub3 != null){
kub3.x = 351;
addChild(kub3);
};
if (_arg1.HardTime < 0){
_local8 = "";
} else {
_local13 = _arg1.HardTime;
_local14 = int((_local13 / 100));
_local15 = (_local13 - (_local14 * 100));
_local16 = String(_local14);
if (_local16.length == 1){
_local16 = ("0" + _local16);
};
_local17 = String(_local15);
if (_local17.length == 1){
_local17 = ("0" + _local17);
};
_local8 = ((_local16 + ":") + _local17);
};
back.HardTime.text = _local8;
if (_arg1.HardCoins < 0){
hard.visible = false;
} else {
hard.visible = true;
};
hard.x = _local2;
hard.y = (norm.y + 77);
addChild(hard);
if (hard.visible){
hard.addEventListener(MouseEvent.CLICK, onHardClick);
};
achiv.x = _local2;
achiv.y = 338;
addChild(achiv);
achiv.addEventListener(MouseEvent.CLICK, onAchievementsClick);
addChild(backBtn);
backBtn.addEventListener(MouseEvent.CLICK, onBackBtnClick);
_local9 = 0;
if (_arg1.EasyCoins >= 0){
_local9 = (_local9 + ((Math.pow(_arg1.EasyCoins, 2) * _arg1.EasyTime) / 100));
};
if (_arg1.NormalCoins >= 0){
_local9 = (_local9 + (((Math.pow(_arg1.NormalCoins, 2) * 2) * _arg1.NormalTime) / 100));
};
if (_arg1.HardCoins >= 0){
_local9 = (_local9 + (((Math.pow(_arg1.HardCoins, 2) * 3) * _arg1.HardTime) / 100));
};
_local10 = 0;
while (_local10 < _arg1.achievements.length) {
if (_arg1.achievements[_local10]){
_local9 = (_local9 + Achievements.getScore(_local10));
};
_local10 = (_local10 + 1);
};
_local11 = new String(int(_local9));
_local12 = "";
_local10 = 0;
while (_local10 < _local11.length) {
_local12 = (_local12 + _local11.charAt(_local10));
_local18 = ((_local11.length - 1) - _local10);
if ((((_local18 > 0)) && (((_local18 % 3) == 0)))){
_local12 = (_local12 + " ");
};
_local10 = (_local10 + 1);
};
back.TotalScore.text = _local12;
}
public function onSubmitClick(_arg1:MouseEvent){
pressed = SUBMIT_PRESSED;
chan = snd.play();
}
public function onBackBtnClick(_arg1:MouseEvent){
pressed = BACK_PRESSED;
chan = snd.play();
}
public function exit(){
easy.removeEventListener(MouseEvent.CLICK, onEasyClick);
if (norm.visible){
norm.removeEventListener(MouseEvent.CLICK, onNormalClick);
};
if (hard.visible){
hard.removeEventListener(MouseEvent.CLICK, onHardClick);
};
achiv.removeEventListener(MouseEvent.CLICK, onAchievementsClick);
backBtn.removeEventListener(MouseEvent.CLICK, onBackBtnClick);
}
public function onHardClick(_arg1:MouseEvent){
pressed = HARD_PRESSED;
chan = snd.play();
}
public function processMe():int{
return (pressed);
}
public function onNormalClick(_arg1:MouseEvent){
pressed = NORMAL_PRESSED;
chan = snd.play();
}
public function onEasyClick(_arg1:MouseEvent){
pressed = EASY_PRESSED;
chan = snd.play();
}
public function onAchievementsClick(_arg1:MouseEvent){
pressed = ACHIEVEMENTS_PRESSED;
chan = snd.play();
}
}
}//package
Section 74
//GameStatistics (GameStatistics)
package {
import flash.display.*;
import flash.media.*;
import flash.utils.*;
public class GameStatistics extends MovieClip {
public var coins:Object;
private var tilesBottom:MovieClip;
private var s1:Object;
private var s2:Object;
private var tutor:Boolean;
public var cup:MovieClip;
public var timeRest:Object;
private var newRecFlag:Boolean;
private var s3:Object;
private var snd:Object;
private var chan:Object;
private var startTime:int;// = 0
private var tilesTop:MovieClip;
public var SAFE_FRAMES:Object;// = 90
private var estr:Object;
public var autoEnd:Boolean;// = false
public var job:Object;
private var nR:Object;
public var FCounter:int;// = 0
public var rooms:Object;
public function GameStatistics(_arg1:int, _arg2:int, _arg3:int, _arg4:Boolean, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean){
var _local8:*;
var _local9:*;
var _local10:String;
var _local11:*;
var _local12:String;
startTime = 0;
SAFE_FRAMES = 90;
autoEnd = false;
FCounter = 0;
super();
_local8 = undefined;
_local9 = undefined;
_local10 = null;
_local11 = undefined;
_local12 = null;
SAFE_FRAMES = 90;
job = new DoneJob();
coins = new StatCoinsCollected();
rooms = new StatRoomsPassed();
timeRest = new StatTimeLeft();
nR = new NewRecord();
startTime = 0;
FCounter = 0;
tilesTop = new MovieClip();
tilesBottom = new MovieClip();
estr = new ExitStr();
autoEnd = false;
chan = new SoundChannel();
startTime = getTimer();
tutor = _arg6;
if (tutor){
if (_arg1 >= 4){
snd = new StatisticsWin();
SAFE_FRAMES = 90;
autoEnd = true;
} else {
snd = new StatisticsFail();
SAFE_FRAMES = 40;
autoEnd = false;
};
FCounter = -1;
estr.y = (estr.y + 114);
} else {
SAFE_FRAMES = 45;
FCounter = -1;
autoEnd = false;
newRecFlag = _arg5;
job.x = 320;
job.y = 60;
job.gotoAndStop(1);
if ((((_arg2 >= 60)) && ((_arg2 < 80)))){
job.gotoAndStop(2);
};
if ((((_arg2 >= 80)) && ((_arg2 < 100)))){
job.gotoAndStop(3);
};
if (_arg2 == 100){
job.gotoAndStop(4);
};
job.visible = false;
snd = null;
if (_arg7){
if (_arg2 < 60){
snd = new StatisticsFail();
} else {
snd = new StatisticsWin();
};
};
addChild(job);
rooms.roomsCount.text = _arg1;
rooms.x = 1000;
rooms.y = 110;
addChild(rooms);
coins.coinsCount.text = _arg2;
coins.x = -320;
coins.y = 160;
addChild(coins);
_local8 = _arg3;
_local9 = int((_local8 / 1000));
_local10 = new String(_local9);
if (_local10.length == 1){
_local10 = ("0" + _local10);
};
_local11 = int(((_local8 - (1000 * _local9)) / 10));
_local12 = new String(_local11);
if (_local12.length < 2){
_local12 = ("0" + _local12);
};
if (_local12.length < 2){
_local12 = ("0" + _local12);
};
if (_arg2 < 60){
timeRest.timeCount.text = "00:00";
} else {
timeRest.timeCount.text = ((_local10 + ":") + _local12);
};
timeRest.x = 1000;
timeRest.y = 210;
addChild(timeRest);
s1 = 0x0100;
s2 = 296;
if (((_arg4) && ((_arg2 >= 60)))){
if (_arg2 < 80){
cup = new Bronze();
};
if ((((_arg2 >= 80)) && ((_arg2 < 100)))){
cup = new Silver();
};
if (_arg2 == 100){
cup = new Golden();
};
cup.x = 320;
cup.y = s1;
cup.visible = false;
addChild(cup);
};
if (_arg5){
nR.x = 320;
if (_arg4){
nR.y = s2;
} else {
nR.y = s1;
};
nR.visible = false;
addChild(nR);
estr.y = (estr.y + 37);
};
};
addChild(estr);
estr.visible = false;
estr.x = 320;
}
public function processMe(){
var _local1:Number;
var _local2:*;
var _local3:*;
_local1 = NaN;
_local2 = undefined;
if ((((FCounter == 0)) && (!((snd == null))))){
chan = snd.play();
};
if (tutor){
} else {
_local1 = 0;
if (FCounter == 35){
job.visible = true;
};
if (FCounter > 35){
if (cup != null){
cup.visible = true;
};
if (newRecFlag){
nR.visible = true;
};
};
if ((((FCounter >= 0)) && ((FCounter < 7)))){
_local1 = FCounter;
_local1 = (_local1 / 6);
_local1 = Math.pow(_local1, 2);
_local2 = (_local1 * 240);
tilesTop.y = (-240 + _local2);
tilesBottom.y = (480 - _local2);
};
if ((((FCounter >= 7)) && ((FCounter <= 17)))){
_local1 = (FCounter - 7);
_local1 = (10 - _local1);
_local1 = (_local1 / 10);
_local1 = Math.pow(_local1, 2);
_local2 = (640 * _local1);
rooms.x = (320 + _local2);
};
if ((((FCounter >= 10)) && ((FCounter <= 20)))){
_local1 = (FCounter - 10);
_local1 = (_local1 / 10);
_local1 = Math.pow(_local1, 2);
_local2 = (640 * _local1);
coins.x = (_local2 - 320);
};
if ((((FCounter >= 15)) && ((FCounter <= 30)))){
_local1 = (FCounter - 15);
_local1 = (15 - _local1);
_local1 = (_local1 / 15);
_local1 = Math.pow(_local1, 2);
_local2 = (640 * _local1);
timeRest.x = (320 + _local2);
};
};
if (!autoEnd){
estr.visible = true;
};
_local3 = (FCounter + 1);
FCounter = _local3;
}
public function stopSounds(){
chan.stop();
}
}
}//package
Section 75
//Gate (Gate)
package {
import flash.display.*;
import flash.geom.*;
import flash.media.*;
public class Gate extends MovieClip {
private var fig:Object;
private var AC:AnimationController;
private var scrRect:Object;
private var shell:MovieClip;
private var opened:Boolean;
private var snd:Object;
private var trigButton:Array;
private var horz:Boolean;
private var trigLever:Array;
private var trigSensor:Array;
private static const animFrames:Object = new Array([1, false], [2, 3, 4, 5, 6, false], [5, 4, 3, 2, 1, false]);
private static var chan:Object = new SoundChannel();
public function Gate(_arg1:Number, _arg2:Number, _arg3:Array, _arg4:Array, _arg5:Array){
var _local6:*;
var _local7:*;
super();
_local6 = undefined;
_local7 = undefined;
snd = new Gatesnd();
scrRect = new Rectangle(0, -40, 40, 40);
AC = new AnimationController(animFrames);
AC.startAnim(0);
horz = false;
_local6 = false;
_local7 = 0;
while (_local7 < _arg3.length) {
if (_arg3[_local7] < 0){
horz = true;
if (_arg3[_local7] == -2){
_local6 = true;
};
_arg3.splice(_local7, 1);
_local7--;
};
_local7 = (_local7 + 1);
};
trigButton = _arg3;
trigLever = _arg4;
trigSensor = _arg5;
x = _arg1;
y = _arg2;
if (horz){
fig = new GateFigH();
addChild(fig);
if (_local6){
x = (x - 40);
scrRect.x = (scrRect.x - 40);
};
scrollRect = scrRect;
shell = new DoorShellHorz();
addChild(shell);
} else {
if (x < 600){
fig = new GateFigV();
} else {
fig = new GateFigExit();
};
addChild(fig);
y = (y - GameField.TileH);
scrollRect = scrRect;
shell = new DoorShellVert();
addChild(shell);
};
shell.visible = false;
fig.gotoAndStop(AC.frame);
opened = false;
}
public function getTrigSensor():Array{
return (trigSensor);
}
public function getTrigLever():Array{
return (trigLever);
}
public function resetMe(){
AC.startAnim(0);
AC.Advance();
fig.gotoAndStop(AC.frame);
opened = false;
}
public function getTrigButton():Array{
return (trigButton);
}
public function processMe(_arg1:Boolean, _arg2:Boolean){
if (((_arg1) && (!(opened)))){
opened = true;
AC.startAnim(1);
if (_arg2){
chan = snd.play();
};
};
if (((!(_arg1)) && (opened))){
opened = false;
AC.startAnim(2);
if (_arg2){
chan = snd.play();
};
};
AC.Advance();
fig.gotoAndStop(AC.frame);
shell.gotoAndStop(AC.frame);
}
public function checkHit(_arg1:MovieClip):Boolean{
var _local2:*;
_local2 = undefined;
_local2 = shell.hitTestObject(_arg1);
return (_local2);
}
}
}//package
Section 76
//GateFigExit (GateFigExit)
package {
import flash.display.*;
public dynamic class GateFigExit extends MovieClip {
}
}//package
Section 77
//GateFigH (GateFigH)
package {
import flash.display.*;
public dynamic class GateFigH extends MovieClip {
}
}//package
Section 78
//GateFigV (GateFigV)
package {
import flash.display.*;
public dynamic class GateFigV extends MovieClip {
}
}//package
Section 79
//Gatesnd (Gatesnd)
package {
import flash.media.*;
public dynamic class Gatesnd extends Sound {
}
}//package
Section 80
//Golden (Golden)
package {
import flash.display.*;
public dynamic class Golden extends MovieClip {
}
}//package
Section 81
//HardButton (HardButton)
package {
import flash.display.*;
public dynamic class HardButton extends SimpleButton {
}
}//package
Section 82
//Indikator (Indikator)
package {
import flash.display.*;
public dynamic class Indikator extends MovieClip {
}
}//package
Section 83
//Indikator2 (Indikator2)
package {
import flash.display.*;
public dynamic class Indikator2 extends MovieClip {
}
}//package
Section 84
//Intro (Intro)
package {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.system.*;
public dynamic class Intro extends MovieClip {
public function Intro(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndPlay(2);
}
}
}//package
Section 85
//IntroBGM (IntroBGM)
package {
import flash.media.*;
public dynamic class IntroBGM extends Sound {
}
}//package
Section 86
//KeyPACK (KeyPACK)
package {
public class KeyPACK {
public var down:Boolean;// = false
public var space:Boolean;// = false
public var kF:Boolean;// = false
public var left:Boolean;// = false
public var anykey:Boolean;// = false
public var esc:Boolean;// = false
public var up:Boolean;// = false
public var right:Boolean;// = false
public var kR:Boolean;// = false
public function KeyPACK(){
down = false;
space = false;
anykey = false;
esc = false;
up = false;
right = false;
left = false;
kF = false;
kR = false;
super();
up = false;
down = false;
right = false;
left = false;
space = false;
anykey = false;
esc = false;
up = false;
down = false;
right = false;
left = false;
space = false;
anykey = false;
esc = false;
}
}
}//package
Section 87
//Knopka (Knopka)
package {
import flash.display.*;
public dynamic class Knopka extends MovieClip {
}
}//package
Section 88
//KubBRONZE (KubBRONZE)
package {
import flash.display.*;
public dynamic class KubBRONZE extends MovieClip {
}
}//package
Section 89
//KubGOLDEN (KubGOLDEN)
package {
import flash.display.*;
public dynamic class KubGOLDEN extends MovieClip {
}
}//package
Section 90
//KubSILVER (KubSILVER)
package {
import flash.display.*;
public dynamic class KubSILVER extends MovieClip {
}
}//package
Section 91
//Left_Down (Left_Down)
package {
import flash.display.*;
public dynamic class Left_Down extends MovieClip {
}
}//package
Section 92
//Left_Up (Left_Up)
package {
import flash.display.*;
public dynamic class Left_Up extends MovieClip {
}
}//package
Section 93
//LeftClose (LeftClose)
package {
import flash.display.*;
public dynamic class LeftClose extends MovieClip {
}
}//package
Section 94
//LevelBack (LevelBack)
package {
import flash.display.*;
public dynamic class LevelBack extends MovieClip {
}
}//package
Section 95
//LeverCBox (LeverCBox)
package {
import flash.display.*;
public dynamic class LeverCBox extends MovieClip {
}
}//package
Section 96
//LeverLSwitch (LeverLSwitch)
package {
import flash.display.*;
public dynamic class LeverLSwitch extends MovieClip {
}
}//package
Section 97
//LeverRSwitch (LeverRSwitch)
package {
import flash.display.*;
public dynamic class LeverRSwitch extends MovieClip {
}
}//package
Section 98
//Leversnd (Leversnd)
package {
import flash.media.*;
public dynamic class Leversnd extends Sound {
}
}//package
Section 99
//Lift (Lift)
package {
import flash.display.*;
import flash.media.*;
public class Lift extends MovieClip {
private var fig:MovieClip;
private var lamp:LiftLamp;
private var bottom:Object;
private var snd:Object;
private var chan:SoundChannel;
private var top:Object;
private var railHeight:Number;
private var liftOn:Boolean;
private var TrigButton:Object;
private var rail:Array;
private var dir:Number;
private var checker:MovieClip;
private var TrigLever:Number;
private var onLiftChecker:Object;
private static const animFrames:Object = [1, true];
private static const speed:Object = 5;
public function Lift(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:*;
var _local8:*;
super();
_local7 = undefined;
_local8 = undefined;
onLiftChecker = new OnLiftBox();
rail = new Array();
snd = new liftsound();
TrigButton = _arg4;
TrigLever = _arg5;
liftOn = false;
dir = speed;
x = _arg1;
bottom = _arg3;
top = _arg2;
railHeight = (_arg3 - _arg2);
y = top;
_local7 = 0;
_local8 = _arg2;
while (_local8 < _arg3) {
rail[_local7] = new Rail1();
rail[_local7].width = 14;
rail[_local7].y = (_local8 - _arg2);
addChild(rail[_local7]);
_local7 = (_local7 + 1);
_local8 = (_local8 + _arg6);
};
lamp = new LiftLamp();
lamp.width = 14;
lamp.gotoAndStop(1);
addChild(lamp);
fig = new LP();
railHeight = (railHeight - fig.height);
fig.gotoAndStop(1);
addChild(fig);
onLiftChecker.visible = false;
fig.addChild(onLiftChecker);
}
public function getLiftPos():Number{
return ((y + fig.y));
}
public function getTrigLever():Number{
return (TrigLever);
}
public function getDir():Number{
return (dir);
}
public function getTrigButton():Number{
return (TrigButton);
}
public function processMe(_arg1:Boolean){
if (((!(liftOn)) && (_arg1))){
liftOn = true;
};
if (!liftOn){
lamp.gotoAndStop(1);
fig.gotoAndStop(1);
return;
};
fig.gotoAndStop(2);
lamp.gotoAndStop(2);
fig.y = (fig.y + dir);
if ((((dir > 0)) && ((fig.y >= railHeight)))){
fig.y = railHeight;
dir = (dir * -1);
liftOn = false;
};
if ((((dir < 0)) && ((fig.y <= 0)))){
fig.y = 0;
dir = (dir * -1);
liftOn = false;
};
}
public function checkMeHit(_arg1:MovieClip):Boolean{
return (onLiftChecker.hitTestObject(_arg1));
}
}
}//package
Section 100
//LiftChecker (LiftChecker)
package {
import flash.display.*;
public dynamic class LiftChecker extends MovieClip {
}
}//package
Section 101
//LiftLamp (LiftLamp)
package {
import flash.display.*;
public dynamic class LiftLamp extends MovieClip {
}
}//package
Section 102
//liftsound (liftsound)
package {
import flash.media.*;
public dynamic class liftsound extends Sound {
}
}//package
Section 103
//Lights (Lights)
package {
import flash.display.*;
public dynamic class Lights extends MovieClip {
}
}//package
Section 104
//LoadME (LoadME)
package {
import flash.display.*;
public class LoadME extends Sprite {
public var button:StartButton;
public var progBar:Preloader;
public var alreadyLoaded:Boolean;
public var lframe:PreloadFrame;
public var back:PreBackgro;
public function LoadME(){
alreadyLoaded = false;
back = new PreBackgro();
back.x = 0;
back.y = 0;
addChild(back);
lframe = new PreloadFrame();
addChild(lframe);
progBar = new Preloader();
progBar.x = 120;
progBar.y = 403;
progBar.width = 10;
addChild(progBar);
button = new StartButton();
button.x = 580;
button.y = 424;
}
}
}//package
Section 105
//LocalStorage (LocalStorage)
package {
import flash.net.*;
public class LocalStorage {
public var EasyCoins:Object;
public var TotalCoins:int;
public var EasyRoomsPassed:Object;
public var EasyTime:int;
public var GameplayTicks:int;
public var game2X:Boolean;
private var XData:SharedObject;
public var achievements:Array;
public var MediumRoomsPassed:Object;
public var NormalTime:int;
public var HardTime:int;
public var NormalCoins:Object;
public var HardRoomsPassed:int;
public var HardCoins:Object;
public function LocalStorage(){
achievements = new Array(16);
XData = SharedObject.getLocal("5xMan");
_restore();
}
public function setTicks(_arg1:int){
GameplayTicks = _arg1;
if (XData.data.GameplayTicks == undefined){
XData.data.GameplayTicks = new int(GameplayTicks);
} else {
XData.data.GameplayTicks = GameplayTicks;
};
}
public function saving(){
XData.flush();
}
public function saveEasyTime(_arg1:int){
EasyTime = _arg1;
if (XData.data.EasyTime == undefined){
XData.data.EasyTime = new int(_arg1);
} else {
XData.data.EasyTime = _arg1;
};
}
public function saveHardCoins(_arg1:int){
HardCoins = _arg1;
if (XData.data.HardCoins == undefined){
XData.data.HardCoins = new int(_arg1);
} else {
XData.data.HardCoins = _arg1;
};
}
public function HardPassed(){
var _local1:*;
_local1 = (HardRoomsPassed + 1);
HardRoomsPassed = _local1;
if (XData.data.HardRoomsPassed == undefined){
XData.data.HardRoomsPassed = new int(HardRoomsPassed);
} else {
XData.data.HardRoomsPassed = HardRoomsPassed;
};
}
public function saveEasyCoins(_arg1:int){
EasyCoins = _arg1;
if (XData.data.EasyCoins == undefined){
XData.data.EasyCoins = new int(_arg1);
} else {
XData.data.EasyCoins = _arg1;
};
}
public function saveNormalCoins(_arg1:int){
NormalCoins = _arg1;
if (XData.data.NormalCoins == undefined){
XData.data.NormalCoins = new int(_arg1);
} else {
XData.data.NormalCoins = _arg1;
};
}
private function _restore(){
var _local1:*;
_local1 = undefined;
if (XData.data.EasyCoins == undefined){
EasyCoins = -1;
} else {
EasyCoins = XData.data.EasyCoins;
};
if (XData.data.EasyTime == undefined){
EasyTime = -1;
} else {
EasyTime = XData.data.EasyTime;
};
if (XData.data.NormalCoins == undefined){
NormalCoins = -1;
} else {
NormalCoins = XData.data.NormalCoins;
};
if (XData.data.NormalTime == undefined){
NormalTime = -1;
} else {
NormalTime = XData.data.NormalTime;
};
if (XData.data.HardCoins == undefined){
HardCoins = -1;
} else {
HardCoins = XData.data.HardCoins;
};
if (XData.data.HardTime == undefined){
HardTime = -1;
} else {
HardTime = XData.data.HardTime;
};
if (XData.data.Achievements == undefined){
_local1 = 0;
while (_local1 < achievements.length) {
achievements[_local1] = false;
_local1 = (_local1 + 1);
};
XData.data.Achievements = achievements;
game2X = false;
} else {
achievements = XData.data.Achievements;
game2X = true;
};
if (XData.data.TotalCoins == undefined){
TotalCoins = 0;
} else {
TotalCoins = XData.data.TotalCoins;
};
if (XData.data.GameplayTicks == undefined){
GameplayTicks = 0;
} else {
GameplayTicks = XData.data.GameplayTicks;
};
if (XData.data.EasyRoomsPassed == undefined){
EasyRoomsPassed = 0;
} else {
EasyRoomsPassed = XData.data.EasyRoomsPassed;
};
if (XData.data.MediumRoomsPassed == undefined){
MediumRoomsPassed = 0;
} else {
MediumRoomsPassed = XData.data.MediumRoomsPassed;
};
if (XData.data.HardRoomsPassed == undefined){
HardRoomsPassed = 0;
} else {
HardRoomsPassed = XData.data.HardRoomsPassed;
};
if (XData.data.GameLoaded == undefined){
HardRoomsPassed = 0;
} else {
HardRoomsPassed = XData.data.HardRoomsPassed;
};
}
public function unlockAch(_arg1:int){
achievements[_arg1] = true;
XData.data.Achievements = achievements;
}
public function MediumPassed(){
var _local1:*;
_local1 = (MediumRoomsPassed + 1);
MediumRoomsPassed = _local1;
if (XData.data.MediumRoomsPassed == undefined){
XData.data.MediumRoomsPassed = new int(MediumRoomsPassed);
} else {
XData.data.MediumRoomsPassed = MediumRoomsPassed;
};
}
public function increaseTotalCoins(_arg1:int){
TotalCoins = (TotalCoins + _arg1);
if (XData.data.TotalCoins == undefined){
XData.data.TotalCoins = new int(TotalCoins);
} else {
XData.data.TotalCoins = TotalCoins;
};
}
public function saveNormalTime(_arg1:int){
NormalTime = _arg1;
if (XData.data.NormalTime == undefined){
XData.data.NormalTime = new int(_arg1);
} else {
XData.data.NormalTime = _arg1;
};
}
public function EasyPassed(){
var _local1:*;
_local1 = (EasyRoomsPassed + 1);
EasyRoomsPassed = _local1;
if (XData.data.EasyRoomsPassed == undefined){
XData.data.EasyRoomsPassed = new int(EasyRoomsPassed);
} else {
XData.data.EasyRoomsPassed = EasyRoomsPassed;
};
}
public function saveHardTime(_arg1:int){
HardTime = _arg1;
if (XData.data.HardTime == undefined){
XData.data.HardTime = new int(_arg1);
} else {
XData.data.HardTime = _arg1;
};
}
}
}//package
Section 106
//LP (LP)
package {
import flash.display.*;
public dynamic class LP extends MovieClip {
}
}//package
Section 107
//Lvr (Lvr)
package {
import flash.display.*;
public dynamic class Lvr extends MovieClip {
}
}//package
Section 108
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
public class MainMenu extends MovieClip {
private var bk:Object;
private var snd:Object;
private var chan:Object;
private var moreGames:Object;
private var choise:int;// = -1
private var playB:Object;
private var alphaInc:Object;// = -0.1
private var tutB:Object;
private var walk;
private var pb:Object;
public static const CHOISE_PLAY:Object = 10;
public static const CHOISE_MORE:Object = 30;
public static const CHOISE_NONE:Object = -1;
public static const CHOISE_TUTOR:Object = 20;
public function MainMenu(_arg1:Boolean){
choise = -1;
alphaInc = -0.1;
super();
bk = new MMBk();
playB = new PlayButton();
pb = new PlayLabel();
alphaInc = -0.1;
tutB = new TutorButton();
moreGames = new MoreGamesButton();
choise = CHOISE_NONE;
chan = new SoundChannel();
snd = new MButton();
choise = CHOISE_NONE;
walk = new Walk();
addChild(bk);
addChild(playB);
addChild(tutB);
addChild(moreGames);
addChild(walk);
pb.alpha = 0;
if (_arg1){
addChild(pb);
};
playB.addEventListener(MouseEvent.CLICK, onPlayClick);
playB.addEventListener(MouseEvent.MOUSE_OVER, onPlayOver);
playB.addEventListener(MouseEvent.MOUSE_OUT, onPlayOut);
tutB.addEventListener(MouseEvent.CLICK, onTutorClick);
moreGames.addEventListener(MouseEvent.CLICK, onMoreGamesClick);
walk.addEventListener(MouseEvent.CLICK, onWalkClick);
addEventListener(Event.ENTER_FRAME, onMenuDraw);
}
public function exit(){
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
playB.removeEventListener(MouseEvent.MOUSE_OVER, onPlayOver);
playB.removeEventListener(MouseEvent.MOUSE_OUT, onPlayOut);
playB.removeEventListener(MouseEvent.CLICK, onPlayClick);
tutB.removeEventListener(MouseEvent.CLICK, onTutorClick);
moreGames.removeEventListener(MouseEvent.CLICK, onMoreGamesClick);
walk.removeEventListener(MouseEvent.CLICK, onWalkClick);
}
private function onPlayOver(_arg1:Event){
alphaInc = 0.1;
}
private function onTutorClick(_arg1:Event){
chan = snd.play();
choise = CHOISE_TUTOR;
}
private function onWalkClick(_arg1:Event){
var _local2:URLRequest;
chan = snd.play();
choise = CHOISE_NONE;
_local2 = new URLRequest("http://www.youtube.com/watch?v=EzyyQ0TdB7U");
navigateToURL(_local2, "_blank");
}
private function onMoreGamesClick(_arg1:Event){
var _local2:URLRequest;
chan = snd.play();
choise = CHOISE_NONE;
_local2 = new URLRequest("http://armorgames.com");
navigateToURL(_local2, "_blank");
}
public function processMe():int{
return (choise);
}
private function onPlayClick(_arg1:Event){
chan = snd.play();
choise = CHOISE_PLAY;
}
private function onMenuDraw(_arg1:Event){
pb.alpha = (pb.alpha + alphaInc);
if (pb.alpha < 0){
pb.alpha = 0;
};
if (pb.alpha > 1){
pb.alpha = 1;
};
}
private function onPlayOut(_arg1:Event){
alphaInc = -0.1;
}
}
}//package
Section 109
//Man (Man)
package {
import flash.display.*;
import flash.media.*;
public class Man extends MovieClip {
private var fig:Object;
private var CollChecker:MovieClip;
private var ac:AnimationController;
public var curTime:Number;
private var playTime:Number;
public var curRoom:Number;
public var myName:String;
public var speed:Vector2D;
public var OnGround:Boolean;
private var chan:Object;
private var snd:Object;
public var coinsCollected:int;
private var onLift:Lift;// = null
public var done:Boolean;// = false
private var connector:FullAccess;
private var recorded:Boolean;
private var liftCheck:MovieClip;
public var SwitchChecker:MovieClip;
private var reservoire:Array;
private var FrameCounter:int;
private var UpDown:Boolean;
public var spaceTrig:Boolean;// = false
private static const startY:Object = 400;
private static const fr:Array = new Array(new Array(19, false), new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, true), new Array(2, 2, 2, 3, 3, 4, false), new Array(4, 5, 5, 5, 5, 5, 5, 4, 4, 3, 3, 2, 2, false));
private static const startX:Object = (60 + (640 * 0));
public static const FRAME_TIME:Object = 33;
private static var WalkTime:int = 99999;
public function Man(_arg1:int){
spaceTrig = false;
onLift = null;
done = false;
super();
SwitchChecker = new CheckerBox();
CollChecker = new CollisionChecker();
liftCheck = new LiftChecker();
onLift = null;
spaceTrig = false;
chan = new SoundChannel();
snd = new Room10();
reservoire = new Array();
done = false;
coinsCollected = 0;
playTime = 0;
FrameCounter = 0;
recorded = false;
spaceTrig = false;
done = false;
switch (_arg1){
case 3:
fig = new MrBlue();
myName = "MR. BLUE";
break;
case 4:
fig = new MrWhite();
myName = "MR. WHITE";
break;
case 0:
fig = new MrRed();
myName = "MR. RED";
break;
case 2:
fig = new MrGreen();
myName = "MR. GREEN";
break;
case 1:
fig = new MrYellow();
myName = "MR. YELLOW";
break;
default:
break;
};
fig.width = 18.3;
fig.height = 35;
fig.gotoAndStop(19);
fig.alpha = 1;
addChild(fig);
SwitchChecker.visible = false;
fig.addChild(SwitchChecker);
liftCheck.visible = false;
fig.addChild(liftCheck);
CollChecker.visible = false;
CollChecker.alpha = 0.34;
fig.addChild(CollChecker);
speed = new Vector2D();
ac = new AnimationController(fr);
ac.startAnim(0);
curRoom = 0;
x = startX;
y = startY;
curTime = WalkTime;
}
public function setConnector(_arg1:FullAccess){
connector = _arg1;
}
public function stopRecording(){
recorded = true;
}
public function manDriver(){
var _local1:*;
var _local2:KeyPACK;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
_local1 = undefined;
_local2 = null;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = undefined;
_local8 = undefined;
_local9 = undefined;
_local10 = undefined;
_local11 = undefined;
_local12 = undefined;
_local13 = undefined;
_local14 = undefined;
_local15 = undefined;
_local16 = undefined;
if (WalkTime < 1000000){
curTime = (WalkTime - playTime);
if (curTime < 0){
curTime = 0;
spaceTrig = true;
done = true;
};
};
if (connector.keypack.space){
spaceTrig = true;
};
if (((OnGround) && (spaceTrig))){
done = true;
};
if (done){
fig.gotoAndStop(19);
return;
};
_local1 = new Vector2D();
_local1.x = x;
_local1.y = y;
_local2 = connector.keypack;
if (_local2.left){
speed.x = -6;
};
if (_local2.right){
speed.x = 6;
};
if (((!(_local2.right)) && (!(_local2.left)))){
speed.x = 0;
};
if (speed.x < 0){
scaleX = -1;
};
if (speed.x > 0){
scaleX = 1;
};
speed.y = (speed.y + GameField.Gravity);
_local3 = Math.sqrt(((speed.x * speed.x) + (speed.y * speed.y)));
_local4 = new Vector2D();
_local5 = new Vector2D();
_local6 = new Vector2D();
_local4.x = (speed.x / _local3);
_local4.y = (speed.y / _local3);
_local6.x = x;
_local6.y = y;
_local7 = connector.gameField[curRoom].gatesTest(CollChecker);
OnGround = false;
_local8 = 0;
while (_local8 < _local3) {
x = (x + _local4.x);
_local10 = connector.gameField[curRoom].tilesCollision(CollChecker);
_local11 = false;
if (!_local7){
_local11 = connector.gameField[curRoom].gatesTest(CollChecker);
};
_local12 = checkRoomLimits();
_local13 = ((((_local10) || (_local11))) || (_local12));
if (_local13){
_local4.x = 0;
x = _local6.x;
};
x = _local6.x;
y = (y + _local4.y);
_local10 = connector.gameField[curRoom].tilesCollision(CollChecker);
_local11 = false;
if (!_local7){
_local11 = connector.gameField[curRoom].gatesTest(CollChecker);
};
_local14 = ((_local10) || (_local11));
if (_local14){
_local4.y = 0;
y = _local6.y;
if (speed.y > 0){
OnGround = true;
};
speed.y = 0;
};
y = _local6.y;
x = (x + _local4.x);
y = (y + _local4.y);
if (((!((onLift == null))) || ((speed.y >= 0)))){
onLift = null;
_local15 = 0;
while (_local15 < connector.gameField[curRoom].GravityLifts.length) {
_local16 = connector.gameField[curRoom].GravityLifts[_local15].checkMeHit(liftCheck);
if (_local16){
onLift = connector.gameField[curRoom].GravityLifts[_local15];
speed.y = 0;
_local4.y = 0;
y = onLift.getLiftPos();
break;
};
_local15 = (_local15 + 1);
};
};
_local6.x = x;
_local6.y = y;
updateRoom();
if ((((_local4.x == 0)) && ((_local4.y == 0)))){
break;
};
_local8 = (_local8 + 1);
};
if (onLift == null){
x = _local6.x;
y = _local6.y;
};
_local9 = ((OnGround) || (!((onLift == null))));
if (((((_local2.up) && (_local9))) && (!(UpDown)))){
if (onLift){
speed.y = (onLift.getDir() * 0.345);
onLift = null;
};
speed.y = (speed.y - 16);
UpDown = true;
};
if (!_local2.up){
UpDown = false;
};
AnimProcessor();
playTime = (playTime + FRAME_TIME);
}
public function resetTimer(){
playTime = 0;
}
private function updateRoom(){
curRoom = int((x / 640));
}
private function AnimProcessor(){
var _local1:*;
_local1 = undefined;
_local1 = OnGround;
if (_local1){
if (speed.x == 0){
ac.startAnim(0);
} else {
ac.startAnim(1);
};
} else {
if (speed.y < 0){
ac.startAnim(2);
} else {
ac.startAnim(3);
};
};
fig.gotoAndStop(ac.frame);
ac.Advance();
}
public function manHandler(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:Reservoire;
var _local6:*;
_local1 = undefined;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = null;
if (recorded){
_local1 = FrameCounter;
if ((_local1 + 1) >= reservoire.length){
_local1 = (reservoire.length - 1);
};
_local2 = (_local1 - 1);
if (_local2 < 0){
_local2 = 0;
};
_local3 = (reservoire[_local1].x - reservoire[_local2].x);
_local4 = (reservoire[_local1].y - reservoire[_local2].y);
if (_local3 < 0){
scaleX = -1;
};
if (_local3 > 0){
scaleX = 1;
};
OnGround = false;
if (_local4 == 0){
OnGround = true;
};
speed.x = _local3;
x = reservoire[_local1].x;
y = reservoire[_local1].y;
updateRoom();
if (FrameCounter < reservoire.length){
ac.startAnim(reservoire[_local1].anim);
fig.gotoAndStop(ac.frame);
ac.Advance();
} else {
fig.gotoAndStop(19);
};
} else {
manDriver();
_local5 = new Reservoire();
_local5.x = x;
_local5.y = y;
_local5.anim = ac.getAnimation();
reservoire.push(_local5);
if (done){
recorded = true;
};
};
_local6 = (FrameCounter + 1);
FrameCounter = _local6;
}
public function getChecker():MovieClip{
return (SwitchChecker);
}
public function resetMe(){
FrameCounter = 0;
curTime = WalkTime;
x = startX;
y = startY;
}
private function checkRoomLimits():Boolean{
var _local1:*;
var _local2:*;
_local1 = undefined;
_local2 = undefined;
_local1 = 0;
if ((((speed.x < 0)) && ((x <= (_local1 + GameField.XTolerance))))){
return (true);
};
_local2 = ((connector.gameField.length * 640) - GameField.XTolerance);
if (x >= _local2){
return (true);
};
return (false);
}
public function getFigure():MovieClip{
return (fig);
}
public static function setWalkTime(_arg1:int){
WalkTime = _arg1;
}
}
}//package
Section 110
//MButton (MButton)
package {
import flash.media.*;
public dynamic class MButton extends Sound {
}
}//package
Section 111
//MenuBack (MenuBack)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MenuBack extends MovieClip {
public var EasyCoins:TextField;
public var EasyTime:TextField;
public var NormalCoins:TextField;
public var NormalTime:TextField;
public var HardTime:TextField;
public var HardCoins:TextField;
public var TotalScore:TextField;
}
}//package
Section 112
//MenuBtn (MenuBtn)
package {
import flash.display.*;
public dynamic class MenuBtn extends SimpleButton {
}
}//package
Section 113
//MMBk (MMBk)
package {
import flash.display.*;
public dynamic class MMBk extends MovieClip {
}
}//package
Section 114
//MoreGamesButton (MoreGamesButton)
package {
import flash.display.*;
public dynamic class MoreGamesButton extends SimpleButton {
}
}//package
Section 115
//MrBlue (MrBlue)
package {
import flash.display.*;
public dynamic class MrBlue extends MovieClip {
}
}//package
Section 116
//MrGreen (MrGreen)
package {
import flash.display.*;
public dynamic class MrGreen extends MovieClip {
}
}//package
Section 117
//MrRed (MrRed)
package {
import flash.display.*;
public dynamic class MrRed extends MovieClip {
}
}//package
Section 118
//MrRed2 (MrRed2)
package {
import flash.display.*;
public dynamic class MrRed2 extends MovieClip {
}
}//package
Section 119
//MrWhite (MrWhite)
package {
import flash.display.*;
public dynamic class MrWhite extends MovieClip {
}
}//package
Section 120
//MrYellow (MrYellow)
package {
import flash.display.*;
public dynamic class MrYellow extends MovieClip {
}
}//package
Section 121
//MusicOFF (MusicOFF)
package {
import flash.display.*;
public dynamic class MusicOFF extends MovieClip {
}
}//package
Section 122
//MusicON (MusicON)
package {
import flash.display.*;
public dynamic class MusicON extends MovieClip {
}
}//package
Section 123
//NewRecord (NewRecord)
package {
import flash.display.*;
public dynamic class NewRecord extends MovieClip {
}
}//package
Section 124
//NormalButton (NormalButton)
package {
import flash.display.*;
public dynamic class NormalButton extends SimpleButton {
}
}//package
Section 125
//OnLiftBox (OnLiftBox)
package {
import flash.display.*;
public dynamic class OnLiftBox extends MovieClip {
}
}//package
Section 126
//Origin (Origin)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.filters.*;
import flash.ui.*;
public class Origin extends Sprite {
private var spLink;
public var keys:KeyPACK;
public var gMenu:GameMenu;
private var VisitSponsor:Boolean;// = false
public var mMenu:MainMenu;
public var ld:LoadME;
private var storage:Object;
private var intro:MovieClip;
private var filt;
public var Mode:int;// = -1
public var mAch:Achievements;
private var gf;
public var game:Game;
public static const MODE_LOADING:int = 10;
public static const MODE_ACHIEVEMENTS:int = 18;
public static const MODE_EASYGAME:int = 0;
public static const MODE_HARDGAME:int = 2;
public static const MODE_MENU:int = 16;
public static const MODE_NONE:int = -1;
public static const MODE_NORMALGAME:int = 1;
public static const MODE_TUTOR:int = 3;
public static const MODE_MAINMENU:int = 12;
public static const MODE_INTRO:int = 7;
public function Origin(){
Mode = -1;
gf = new GlowFilter(13260, 0.8, 16, 3, 2, 1, false, false);
filt = [gf];
VisitSponsor = false;
super();
Mode = MODE_NONE;
storage = new LocalStorage();
keys = new KeyPACK();
setMode(MODE_INTRO);
VisitSponsor = false;
}
private function setMode(_arg1:int){
var _local2:*;
var _local3:*;
var _local4:Array;
var _local5:*;
_local2 = undefined;
_local3 = undefined;
_local4 = null;
if (_arg1 == Mode){
return;
};
_local5 = 0;
while (_local5 < numChildren) {
removeChildAt(_local5);
_local5++;
};
switch (_arg1){
case MODE_LOADING:
Mode = MODE_LOADING;
ld = new LoadME();
addChild(ld);
addEventListener(Event.ENTER_FRAME, onLoaderDraw);
break;
case MODE_INTRO:
Mode = MODE_INTRO;
intro = new Intro();
intro.x = 320;
intro.y = 240;
addChild(intro);
addEventListener(Event.ENTER_FRAME, onIntro);
break;
case MODE_MAINMENU:
Mode = _arg1;
_local3 = !(storage.achievements[Achievements.ATUTOR]);
mMenu = new MainMenu(_local3);
addChild(mMenu);
addEventListener(Event.ENTER_FRAME, onMainMenuDraw);
spLink = new SponsorLink();
spLink.enabled = false;
addChild(spLink);
spLink.addEventListener(MouseEvent.CLICK, onSponsor);
spLink.alpha = 1;
break;
case MODE_MENU:
Mode = MODE_MENU;
gMenu = new GameMenu(storage);
addChild(gMenu);
addEventListener(Event.ENTER_FRAME, onMenuDraw);
addChild(spLink);
break;
case MODE_ACHIEVEMENTS:
Mode = _arg1;
_local4 = storage.achievements;
mAch = new Achievements(_local4);
addChild(mAch);
addEventListener(Event.ENTER_FRAME, onAchievementsDraw);
break;
case MODE_EASYGAME:
case MODE_NORMALGAME:
case MODE_HARDGAME:
case MODE_TUTOR:
_local5 = 0;
while (_local5 < numChildren) {
removeChildAt(_local5);
_local5++;
};
Mode = _arg1;
game = new Game(_arg1, keys, storage, VisitSponsor);
addChild(game);
stage.focus = this;
addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
addEventListener(KeyboardEvent.KEY_UP, keyReleased);
addEventListener(Event.ENTER_FRAME, onDraw);
break;
default:
break;
};
}
private function onLoaderDraw(_arg1:Event){
var _local2:Number;
var _local3:Number;
var _local4:*;
_local2 = NaN;
_local3 = NaN;
_local4 = undefined;
if (Mode != MODE_LOADING){
return;
};
_local2 = stage.loaderInfo.bytesLoaded;
_local3 = stage.loaderInfo.bytesTotal;
_local4 = ((_local2 / _local3) * 448);
if ((((_local4 == 448)) && (!(ld.alreadyLoaded)))){
ld.alreadyLoaded = true;
removeEventListener(Event.ENTER_FRAME, onLoaderDraw);
removeChild(ld);
setMode(MODE_MAINMENU);
};
ld.progBar.width = _local4;
}
function onSponsor(_arg1:MouseEvent){
VisitSponsor = true;
if (Mode == MODE_MAINMENU){
return;
};
game.unlockSponsor();
}
private function onMenuDraw(_arg1:Event){
var _local2:int;
_local2 = 0;
_local2 = gMenu.processMe();
switch (_local2){
case -1:
break;
case GameMenu.EASY_PRESSED:
gMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
setMode(MODE_EASYGAME);
break;
case GameMenu.NORMAL_PRESSED:
gMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
setMode(MODE_NORMALGAME);
break;
case GameMenu.HARD_PRESSED:
gMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
setMode(MODE_HARDGAME);
break;
case GameMenu.ACHIEVEMENTS_PRESSED:
gMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
setMode(MODE_ACHIEVEMENTS);
break;
case GameMenu.BACK_PRESSED:
gMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMenuDraw);
setMode(MODE_MAINMENU);
break;
default:
break;
};
}
private function onAchievementsDraw(_arg1:Event){
var _local2:*;
_local2 = undefined;
_local2 = mAch.processMe();
if (!_local2){
removeEventListener(Event.ENTER_FRAME, onAchievementsDraw);
setMode(MODE_MENU);
};
}
private function onMainMenuDraw(_arg1:Event){
var _local2:int;
_local2 = 0;
_local2 = mMenu.processMe();
switch (_local2){
case MainMenu.CHOISE_NONE:
break;
case MainMenu.CHOISE_PLAY:
mMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMainMenuDraw);
setMode(MODE_MENU);
break;
case MainMenu.CHOISE_TUTOR:
mMenu.exit();
removeEventListener(Event.ENTER_FRAME, onMainMenuDraw);
setMode(MODE_TUTOR);
break;
default:
break;
};
}
private function onDraw(_arg1:Event){
stage.focus = this;
if (game.Phase == Game.PHASE_END){
removeEventListener(Event.ENTER_FRAME, onDraw);
switch (game.gameMode){
};
game.chan.stop();
if (game.gameMode == MODE_TUTOR){
setMode(MODE_MAINMENU);
} else {
setMode(MODE_MENU);
};
};
}
private function onIntro(_arg1:Event){
if (Mode != MODE_INTRO){
return;
};
if (intro.currentFrame == intro.totalFrames){
removeEventListener(Event.ENTER_FRAME, onLoaderDraw);
intro.gotoAndStop(intro.totalFrames);
removeChild(intro);
setMode(MODE_MAINMENU);
};
}
private function keyPressed(_arg1:KeyboardEvent){
keys.anykey = true;
switch (_arg1.keyCode){
case Keyboard.SPACE:
keys.space = true;
break;
case Keyboard.UP:
keys.up = true;
break;
case Keyboard.DOWN:
keys.down = true;
break;
case Keyboard.RIGHT:
keys.right = true;
break;
case Keyboard.LEFT:
keys.left = true;
break;
case Keyboard.ESCAPE:
keys.esc = true;
break;
case 70:
keys.kF = true;
break;
case 82:
keys.kR = true;
break;
default:
break;
};
}
private function keyReleased(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case Keyboard.SPACE:
keys.space = false;
break;
case Keyboard.UP:
keys.up = false;
break;
case Keyboard.DOWN:
keys.down = false;
break;
case Keyboard.RIGHT:
keys.right = false;
break;
case Keyboard.LEFT:
keys.left = false;
break;
case Keyboard.ESCAPE:
keys.esc = false;
break;
case 70:
keys.kF = false;
break;
case 82:
keys.kR = false;
break;
default:
break;
};
}
}
}//package
Section 127
//Perfect (Perfect)
package {
import flash.display.*;
public dynamic class Perfect extends MovieClip {
}
}//package
Section 128
//PlayButton (PlayButton)
package {
import flash.display.*;
public dynamic class PlayButton extends SimpleButton {
}
}//package
Section 129
//PlayLabel (PlayLabel)
package {
import flash.display.*;
public dynamic class PlayLabel extends MovieClip {
}
}//package
Section 130
//PreBackgro (PreBackgro)
package {
import flash.display.*;
public dynamic class PreBackgro extends MovieClip {
}
}//package
Section 131
//Preloader (Preloader)
package {
import flash.display.*;
public dynamic class Preloader extends MovieClip {
}
}//package
Section 132
//PreloadFrame (PreloadFrame)
package {
import flash.display.*;
public dynamic class PreloadFrame extends MovieClip {
}
}//package
Section 133
//Q1 (Q1)
package {
import flash.display.*;
public dynamic class Q1 extends MovieClip {
}
}//package
Section 134
//Q2 (Q2)
package {
import flash.display.*;
public dynamic class Q2 extends MovieClip {
}
}//package
Section 135
//Q3 (Q3)
package {
import flash.display.*;
public dynamic class Q3 extends MovieClip {
}
}//package
Section 136
//Q4 (Q4)
package {
import flash.display.*;
public dynamic class Q4 extends MovieClip {
}
}//package
Section 137
//Questa (Questa)
package {
import flash.display.*;
public class Questa extends MovieClip {
public var fig:MovieClip;
public var stageCounter:int;
public var conditions:Array;
public function Questa(_arg1:MovieClip, _arg2:Array){
stageCounter = 0;
conditions = _arg2;
fig = _arg1;
fig.gotoAndStop(1);
addChild(fig);
}
public function resetMe(){
stageCounter = 0;
fig.gotoAndStop(1);
}
}
}//package
Section 138
//QuestStr (QuestStr)
package {
import flash.display.*;
import flash.text.*;
public dynamic class QuestStr extends MovieClip {
public var QText:TextField;
}
}//package
Section 139
//Rail1 (Rail1)
package {
import flash.display.*;
public dynamic class Rail1 extends MovieClip {
}
}//package
Section 140
//ReadyPAN (ReadyPAN)
package {
import flash.display.*;
public dynamic class ReadyPAN extends MovieClip {
}
}//package
Section 141
//Reservoire (Reservoire)
package {
public class Reservoire {
public var anim:int;
public var y:Number;
public var x:Object;
}
}//package
Section 142
//Rewind (Rewind)
package {
import flash.media.*;
public dynamic class Rewind extends Sound {
}
}//package
Section 143
//Right_Down (Right_Down)
package {
import flash.display.*;
public dynamic class Right_Down extends MovieClip {
}
}//package
Section 144
//Right_Up (Right_Up)
package {
import flash.display.*;
public dynamic class Right_Up extends MovieClip {
}
}//package
Section 145
//RightClose (RightClose)
package {
import flash.display.*;
public dynamic class RightClose extends MovieClip {
}
}//package
Section 146
//Room10 (Room10)
package {
import flash.media.*;
public dynamic class Room10 extends Sound {
}
}//package
Section 147
//RoomPanel (RoomPanel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class RoomPanel extends MovieClip {
public var roomNumber:TextField;
}
}//package
Section 148
//Rooms (Rooms)
package {
public class Rooms {
private var coins:Array;
private var gates:Array;
private var levers0:Array;
private var levers1:Array;
private var levers:Array;
private var gates2:Array;
private var gates3:Array;
private var gates4:Array;
private var gates5:Array;
private var gates6:Array;
private var gates0:Array;
private var levers9:Array;
private var levers3:Array;
private var levers4:Array;
private var levers5:Array;
private var levers6:Array;
private var levers7:Array;
private var gates7:Array;
private var gates8:Array;
private var levers2:Array;
private var levers8:Array;
private var gates9:Array;
private var gates1:Array;
private var sensors6:Array;
private var sensors0:Array;
private var sensors2:Array;
private var sensors3:Array;
private var sensors5:Array;
private var lifts4:Array;
private var sensors7:Array;
private var lifts6:Array;
private var lifts7:Array;
private var sensors1:Array;
private var coins3:Array;
private var coins4:Array;
private var coins5:Array;
private var coins6:Array;
private var coins7:Array;
private var coins1:Array;
private var sensors8:Array;
private var lifts1:Array;
private var lifts2:Array;
private var lifts3:Array;
private var lifts5:Array;
private var sensors4:Array;
private var coins9:Array;
private var coins2:Array;
private var lifts0:Array;
private var sensors9:Array;
public var WalkTime:int;// = 99999
private var coins8:Array;
private var coins0:Array;
private var lifts8:Array;
private var lifts9:Array;
private var quest0:Array;
private var quest1:Array;
private var quest2:Array;
private var quest3:Array;
private var quest4:Array;
private var quest5:Array;
private var quest6:Array;
private var quest7:Array;
private var quest8:Array;
private var quest9:Array;
private var buttons:Array;
private var room0:Array;
private var room2:Array;
private var room4:Array;
private var room6:Array;
private var room1:Array;
private var room3:Array;
private var room5:Array;
private var room7:Array;
private var room8:Array;
private var room9:Array;
private var buttons0:Array;
private var buttons2:Array;
private var buttons4:Array;
private var buttons6:Array;
private var buttons1:Array;
private var buttons3:Array;
private var buttons5:Array;
private var buttons7:Array;
private var buttons9:Array;
private var buttons8:Array;
private var quests:Array;
private var lifts:Array;
private var rooms:Array;
private var sensors:Array;
public function Rooms(_arg1:int){
WalkTime = 99999;
super();
room0 = new Array();
buttons0 = new Array();
levers0 = new Array();
sensors0 = new Array();
lifts0 = new Array();
coins0 = new Array();
gates0 = new Array();
quest0 = new Array();
room1 = new Array();
buttons1 = new Array();
levers1 = new Array();
sensors1 = new Array();
lifts1 = new Array();
coins1 = new Array();
gates1 = new Array();
quest1 = new Array();
room2 = new Array();
buttons2 = new Array();
levers2 = new Array();
sensors2 = new Array();
lifts2 = new Array();
coins2 = new Array();
gates2 = new Array();
quest2 = new Array();
room3 = new Array();
buttons3 = new Array();
levers3 = new Array();
sensors3 = new Array();
lifts3 = new Array();
coins3 = new Array();
gates3 = new Array();
quest3 = new Array();
room4 = new Array();
buttons4 = new Array();
levers4 = new Array();
sensors4 = new Array();
lifts4 = new Array();
coins4 = new Array();
gates4 = new Array();
quest4 = new Array();
room5 = new Array();
buttons5 = new Array();
levers5 = new Array();
sensors5 = new Array();
lifts5 = new Array();
coins5 = new Array();
gates5 = new Array();
quest5 = new Array();
room6 = new Array();
buttons6 = new Array();
levers6 = new Array();
sensors6 = new Array();
lifts6 = new Array();
coins6 = new Array();
gates6 = new Array();
quest6 = new Array();
room7 = new Array();
buttons7 = new Array();
levers7 = new Array();
sensors7 = new Array();
lifts7 = new Array();
coins7 = new Array();
gates7 = new Array();
quest7 = new Array();
room8 = new Array();
buttons8 = new Array();
levers8 = new Array();
sensors8 = new Array();
lifts8 = new Array();
coins8 = new Array();
gates8 = new Array();
quest8 = new Array();
room9 = new Array();
buttons9 = new Array();
levers9 = new Array();
sensors9 = new Array();
lifts9 = new Array();
coins9 = new Array();
gates9 = new Array();
quest9 = new Array();
rooms = new Array();
buttons = new Array();
levers = new Array();
sensors = new Array();
lifts = new Array();
coins = new Array();
gates = new Array();
quests = new Array();
WalkTime = 99999;
switch (_arg1){
case Origin.MODE_EASYGAME:
setEasy();
break;
case Origin.MODE_NORMALGAME:
setNormal();
break;
case Origin.MODE_HARDGAME:
setHardCore();
break;
case Origin.MODE_TUTOR:
setTutor();
break;
default:
break;
};
}
private function setNormal(){
WalkTime = 85000;
room0[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room0[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0];
room0[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0];
room0[8] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, -1, -1, 0];
room0[9] = [0, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1];
room0[10] = [0, 0, -1, -1, -1, 1, 1, 0, 2, 1, 0, 0, 1, 0, 0, 0];
room0[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[0] = room0;
buttons0 = [];
buttons[0] = buttons0;
levers0 = [7, 10, false];
levers[0] = levers0;
sensors0 = [];
sensors[0] = sensors0;
lifts0 = [];
lifts[0] = lifts0;
coins0 = [14, 6, 1, 13, 6, 1, 12, 9, 1, 11, 7, 1, 10, 7, 1, 11, 5, 1, 10, 5, 1];
coins[0] = coins0;
gates0 = [15, 10, [], [0], []];
gates[0] = gates0;
room1[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room1[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[3] = [0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room1[4] = [0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[5] = [0, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0];
room1[6] = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0];
room1[7] = [0, 0, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0];
room1[8] = [0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0];
room1[9] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1];
room1[10] = [0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0];
room1[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[1] = room1;
buttons1 = [];
buttons[1] = buttons1;
levers1 = [7, 10, false, 13, 8, false];
levers[1] = levers1;
sensors1 = [];
sensors[1] = sensors1;
lifts1 = [];
lifts[1] = lifts1;
coins1 = [1, 5, 1, 3, 4, 1, 5, 3, 1, 7, 2, 1, 7, 6, 1, 10, 4, 1, 11, 8, 1];
coins[1] = coins1;
gates1 = [3, 7, [], [0], [], 15, 10, [], [1], []];
gates[1] = gates1;
room2[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room2[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[5] = [0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[6] = [0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[7] = [0, 0, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0];
room2[8] = [0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[9] = [-1, -1, -1, -1, -1, -1, -1, 2, 0, 2, -1, -1, -1, -1, -1, -1];
room2[10] = [0, 1, 0, 1, 1, 1, 0, 2, 0, 2, 1, 2, 0, 0, 0, 0];
room2[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[2] = room2;
buttons2 = [];
buttons[2] = buttons2;
levers2 = [9, 9, false];
levers[2] = levers2;
sensors2 = [2, 10, 3, 11, 10, 3];
sensors[2] = sensors2;
lifts2 = [];
lifts[2] = lifts2;
coins2 = [2, 8, 1, 1, 4, 1, 2, 5, 1, 3, 6, 1, 4, 4, 1, 9, 6, 1, 13, 9, 1];
coins[2] = coins2;
gates2 = [8, 9, [], [], [0], 4, 7, [], [0], [], 15, 10, [], [], [1]];
gates[2] = gates2;
room3[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room3[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0];
room3[5] = [0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0];
room3[6] = [0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0];
room3[7] = [0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room3[8] = [0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[9] = [-1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 2, -1, -1, -1, 0];
room3[10] = [0, 0, -1, -1, -1, -1, -1, 0, 0, 1, 0, 2, 0, -1, -1, -1];
room3[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[3] = room3;
buttons3 = [];
buttons[3] = buttons3;
levers3 = [9, 10, false, 5, 6, false];
levers[3] = levers3;
sensors3 = [];
sensors[3] = sensors3;
lifts3 = [];
lifts[3] = lifts3;
coins3 = [2, 4, 1, 10, 6, 1, 12, 6, 1, 12, 5, 1, 14, 6, 1, 14, 5, 1, 14, 4, 1];
coins[3] = coins3;
gates3 = [15, 11, [], [1], [], 5, 8, [], [0], []];
gates[3] = gates3;
room4[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room4[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[6] = [0, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0];
room4[7] = [0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room4[8] = [0, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, 2, 0, -1, 0, 0];
room4[9] = [0, -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, 2, 0, -1, -1, -1];
room4[10] = [-1, -1, 0, -1, -1, -1, 0, 0, -1, 2, 0, 2, 0, 2, 0, 0];
room4[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[4] = room4;
buttons4 = [];
buttons[4] = buttons4;
levers4 = [5, 11, false];
levers[4] = levers4;
sensors4 = [13, 10, 5];
sensors[4] = sensors4;
lifts4 = [];
lifts[4] = lifts4;
coins4 = [1, 5, 1, 3, 5, 1, 5, 5, 1, 8, 10, 1, 10, 8, 1, 14, 5, 1, 13, 9, 1];
coins[4] = coins4;
gates4 = [13, 8, [-1], [0], [], 15, 10, [], [], [0]];
gates[4] = gates4;
room5[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room5[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[3] = [0, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room5[4] = [0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room5[5] = [0, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, 0];
room5[6] = [0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room5[7] = [0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room5[8] = [0, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[9] = [-1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room5[10] = [0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0];
room5[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[5] = room5;
buttons5 = [];
buttons[5] = buttons5;
levers5 = [];
levers[5] = levers5;
sensors5 = [7, 10, 3, 9, 10, 3, 11, 10, 3, 13, 10, 3];
sensors[5] = sensors5;
lifts5 = [];
lifts[5] = lifts5;
coins5 = [8, 9, 1, 10, 9, 1, 12, 9, 1, 1, 2, 1, 5, 2, 1, 6, 6, 1, 8, 4, 1];
coins[5] = coins5;
gates5 = [15, 10, [], [], [0, 1, 2, 3]];
gates[5] = gates5;
room6[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room6[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[3] = [0, -1, -1, -1, -1, -1, -1, 0, -1, 0, 1, -1, -1, -1, -1, 0];
room6[4] = [0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 1, -1, -1, -1, -1, 0];
room6[5] = [0, -1, -1, -1, -1, 0, 0, 0, -1, 0, 1, -1, -1, -1, -1, 0];
room6[6] = [0, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room6[7] = [0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 1, -1, -1, -1, 0];
room6[8] = [0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room6[9] = [-1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 1, -1, -1, 0];
room6[10] = [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -1];
room6[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[6] = room6;
buttons6 = [];
buttons[6] = buttons6;
levers6 = [8, 10, false, 4, 6, false];
levers[6] = levers6;
sensors6 = [];
sensors[6] = sensors6;
lifts6 = [];
lifts[6] = lifts6;
coins6 = [1, 6, 1, 10, 2, 1, 8, 4, 1, 8, 5, 1, 8, 6, 1, 8, 8, 1, 14, 6, 1];
coins[6] = coins6;
gates6 = [8, 3, [-1], [1], [], 9, 7, [-2], [1], [], 15, 11, [], [0], []];
gates[6] = gates6;
room7[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room7[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[8] = [0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0];
room7[9] = [0, -1, -1, -1, -1, -1, -1, 0, 1, 0, -1, -1, -1, -1, -1, 0];
room7[10] = [-1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 1, -1, -1, -1, -1, -1];
room7[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[7] = room7;
buttons7 = [];
buttons[7] = buttons7;
levers7 = [];
levers[7] = levers7;
sensors7 = [8, 9, 8];
sensors[7] = sensors7;
lifts7 = [];
lifts[7] = lifts7;
coins7 = [2, 6, 1, 4, 8, 1, 5, 6, 1, 8, 6, 1, 11, 6, 1, 12, 8, 1, 14, 6, 1];
coins[7] = coins7;
gates7 = [15, 11, [], [], [0]];
gates[7] = gates7;
room8[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room8[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[3] = [0, -1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, -1, 0];
room8[4] = [0, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room8[5] = [0, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, -1, -1, 0];
room8[6] = [0, -1, 0, -1, -1, 0, 1, 0, 1, -1, -1, -1, 0, -1, -1, 0];
room8[7] = [0, -1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0];
room8[8] = [0, -1, 0, 1, 0, 1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0];
room8[9] = [0, -1, 0, 1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0];
room8[10] = [-1, -1, -1, -1, -1, -1, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1];
room8[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[8] = room8;
buttons8 = [2, 11, 7, 10, 11, 9, 2, 6];
buttons[8] = buttons8;
levers8 = [14, 11, false];
levers[8] = levers8;
sensors8 = [];
sensors[8] = sensors8;
lifts8 = [];
lifts[8] = lifts8;
coins8 = [14, 3, 1, 3, 10, 1, 11, 6, 1, 3, 6, 1, 6, 2, 1, 9, 2, 1, 14, 8, 1];
coins[8] = coins8;
gates8 = [4, 11, [0], [], [], 9, 10, [1], [], [], 5, 8, [2], [], [], 11, 5, [3], [], [], 15, 11, [], [0], []];
gates[8] = gates8;
room9[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room9[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[4] = [0, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0];
room9[5] = [0, -1, -1, 0, 1, 0, -1, -1, -1, -1, -1, 0, 1, 0, -1, 0];
room9[6] = [0, -1, 1, 0, 1, 0, 1, -1, -1, -1, 1, 0, 1, 0, 1, 0];
room9[7] = [0, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, 0];
room9[8] = [0, -1, -1, -1, -1, -1, -1, 0, 2, 0, -1, -1, -1, -1, -1, 0];
room9[9] = [0, -1, -1, -1, -1, -1, 1, 0, 2, 0, 1, -1, -1, -1, -1, 0];
room9[10] = [-1, -1, -1, -1, -1, 0, 1, 0, 2, 0, 1, 0, -1, -1, -1, 0];
room9[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[9] = room9;
buttons9 = [];
buttons[9] = buttons9;
levers9 = [];
levers[9] = levers9;
sensors9 = [];
sensors[9] = sensors9;
lifts9 = [];
lifts[9] = lifts9;
coins9 = [4, 10, 1, 5, 9, 1, 6, 8, 1, 7, 7, 1, 8, 6, 10, 9, 7, 1, 10, 8, 1, 11, 9, 1, 12, 10, 1, 10, 5, 1, 11, 4, 1, 12, 3, 5, 13, 4, 1, 14, 5, 1, 6, 5, 1, 5, 4, 1, 4, 3, 5, 3, 4, 1, 2, 5, 1, 1, 6, 1];
coins[9] = coins9;
gates9 = [];
gates[9] = gates9;
quests = [[], [], [], [], [], [], [], [], [], []];
}
public function getLifts(_arg1:Number):Array{
return (lifts[_arg1]);
}
public function getLevers(_arg1:Number):Array{
return (levers[_arg1]);
}
public function getRoomsAmount():Number{
return (rooms.length);
}
public function getButtons(_arg1:Number):Array{
return (buttons[_arg1]);
}
public function getCoins(_arg1:Number):Array{
return (coins[_arg1]);
}
public function getRoom(_arg1:Number):Array{
return (rooms[_arg1]);
}
private function setEasy(){
WalkTime = 75000;
room0[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room0[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[8] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[9] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room0[10] = [0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0, 0, 0, 0];
room0[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[0] = room0;
buttons0 = [];
buttons[0] = buttons0;
levers0 = [11, 10, false];
levers[0] = levers0;
sensors0 = [];
sensors[0] = sensors0;
lifts0 = [];
lifts[0] = lifts0;
coins0 = [3, 10, 1, 5, 10, 1, 7, 10, 1, 9, 9, 1, 13, 9, 1];
coins[0] = coins0;
gates0 = [15, 10, [], [0], []];
gates[0] = gates0;
room1[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room1[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0];
room1[7] = [0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0];
room1[8] = [0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0];
room1[9] = [-1, -1, -1, -1, -1, -1, -1, 2, 0, 2, -1, -1, -1, -1, -1, -1];
room1[10] = [0, 0, 0, 0, 1, 1, 0, 2, 0, 2, 1, 0, 0, 1, 1, 0];
room1[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[1] = room1;
buttons1 = [];
buttons[1] = buttons1;
levers1 = [3, 8, false];
levers[1] = levers1;
sensors1 = [];
sensors[1] = sensors1;
lifts1 = [];
lifts[1] = lifts1;
coins1 = [1, 7, 1, 8, 8, 1, 11, 7, 1, 12, 6, 1, 13, 5, 1];
coins[1] = coins1;
gates1 = [15, 10, [], [0], []];
gates[1] = gates1;
room2[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room2[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[6] = [0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[7] = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[8] = [0, 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0];
room2[9] = [-1, -1, -1, -1, -1, -1, -1, 2, 0, 2, 0, -1, -1, -1, -1, -1];
room2[10] = [0, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 1, 0, 0, 0, 0];
room2[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[2] = room2;
buttons2 = [];
buttons[2] = buttons2;
levers2 = [4, 6, false, 14, 8, false];
levers[2] = levers2;
sensors2 = [];
sensors[2] = sensors2;
lifts2 = [];
lifts[2] = lifts2;
coins2 = [1, 6, 1, 6, 5, 1, 8, 8, 1, 9, 8, 1, 13, 7, 1];
coins[2] = coins2;
gates2 = [15, 10, [], [0, 1], []];
gates[2] = gates2;
room3[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room3[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[7] = [0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, 0];
room3[8] = [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0];
room3[9] = [-1, -1, -1, -1, -1, 2, 0, 2, 0, 2, 0, 2, -1, -1, -1, -1];
room3[10] = [0, 0, 0, 0, 1, 2, 0, 2, 0, 2, 0, 2, 1, 0, 0, 0];
room3[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[3] = room3;
buttons3 = [];
buttons[3] = buttons3;
levers3 = [9, 9, false, 9, 7, false];
levers[3] = levers3;
sensors3 = [];
sensors[3] = sensors3;
lifts3 = [];
lifts[3] = lifts3;
coins3 = [4, 9, 1, 11, 6, 1, 13, 7, 1, 14, 7, 1, 14, 9, 1];
coins[3] = coins3;
gates3 = [13, 10, [], [1], [], 15, 10, [], [0], []];
gates[3] = gates3;
room4[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room4[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[3] = [0, -1, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room4[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[5] = [0, -1, -1, 1, 1, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, 0];
room4[6] = [0, 0, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 0];
room4[7] = [0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0];
room4[8] = [0, -1, -1, 1, -1, -1, -1, 0, 0, 0, 1, 0, -1, -1, -1, 0];
room4[9] = [-1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room4[10] = [0, 0, 0, 0, 1, 2, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0];
room4[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[4] = room4;
buttons4 = [];
buttons[4] = buttons4;
levers4 = [9, 10, false, 10, 8, false, 4, 10, false];
levers[4] = levers4;
sensors4 = [];
sensors[4] = sensors4;
lifts4 = [];
lifts[4] = lifts4;
coins4 = [1, 5, 1, 5, 4, 1, 6, 4, 1, 7, 4, 1, 9, 7, 1];
coins[4] = coins4;
gates4 = [4, 5, [], [1], [], 8, 8, [], [0], [], 15, 10, [], [2], []];
gates[4] = gates4;
room5[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room5[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[7] = [0, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, -1, -1, -1, -1, 0];
room5[8] = [0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 1, -1, -1, -1, 0];
room5[9] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1];
room5[10] = [0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0];
room5[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[5] = room5;
buttons5 = [];
buttons[5] = buttons5;
levers5 = [12, 10, false];
levers[5] = levers5;
sensors5 = [2, 10, 1, 5, 10, 2, 9, 10, 3];
sensors[5] = sensors5;
lifts5 = [];
lifts[5] = lifts5;
coins5 = [3, 6, 1, 5, 8, 1, 7, 6, 1, 9, 8, 1, 10, 6, 1];
coins[5] = coins5;
gates5 = [3, 10, [], [], [0], 7, 10, [], [], [1], 11, 10, [], [], [2], 15, 10, [], [0], []];
gates[5] = gates5;
room6[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room6[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[3] = [0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0];
room6[4] = [0, 2, -1, -1, -1, 0, 2, 1, 0, 0, -1, -1, -1, -1, -1, 0];
room6[5] = [0, 2, 0, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[6] = [0, 2, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[7] = [0, 2, 0, 2, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[8] = [0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0];
room6[9] = [-1, -1, -1, 0, -1, 0, -1, -1, -1, 2, 0, 2, -1, -1, -1, -1];
room6[10] = [0, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 2, 1, 0, 0, 0];
room6[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[6] = room6;
buttons6 = [];
buttons[6] = buttons6;
levers6 = [14, 8, false];
levers[6] = levers6;
sensors6 = [4, 10, 5];
sensors[6] = sensors6;
lifts6 = [];
lifts[6] = lifts6;
coins6 = [1, 3, 1, 7, 3, 1, 4, 8, 1, 11, 2, 1, 12, 2, 1];
coins[6] = coins6;
gates6 = [6, 7, [], [0], [], 15, 10, [], [], [0]];
gates[6] = gates6;
room7[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room7[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0];
room7[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[5] = [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 1, 1, 0, 0, -1, 0];
room7[6] = [0, -1, -1, 2, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[7] = [0, -1, -1, 2, 0, 0, 2, 1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[8] = [0, -1, -1, 2, -1, -1, -1, 1, 0, -1, -1, -1, -1, 0, 0, 0];
room7[9] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 0, -1, -1, -1, -1];
room7[10] = [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0];
room7[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[7] = room7;
buttons7 = [5, 10];
buttons[7] = buttons7;
levers7 = [14, 8, false];
levers[7] = levers7;
sensors7 = [];
sensors[7] = sensors7;
lifts7 = [];
lifts[7] = lifts7;
coins7 = [4, 6, 1, 1, 4, 1, 12, 4, 1, 13, 4, 1, 14, 4, 1];
coins[7] = coins7;
gates7 = [11, 5, [0], [], [], 15, 10, [], [0], []];
gates[7] = gates7;
room8[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room8[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[3] = [0, -1, -1, -1, -1, 2, -1, -1, -1, -1, 2, -1, -1, -1, -1, 0];
room8[4] = [0, -1, -1, -1, 0, 2, 0, -1, -1, 0, 2, 0, -1, -1, -1, 0];
room8[5] = [0, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, 0];
room8[6] = [0, -1, 2, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 2, -1, 0];
room8[7] = [0, -1, -1, -1, -1, -1, 2, -1, -1, 2, -1, -1, -1, -1, -1, 0];
room8[8] = [0, -1, -1, -1, -1, 0, 2, 2, 0, 2, 0, -1, -1, -1, -1, 0];
room8[9] = [-1, -1, -1, 1, -1, -1, -1, 2, 0, -1, -1, -1, 2, -1, -1, -1];
room8[10] = [0, 0, 0, 1, 0, 1, 0, 2, 0, 1, 0, 1, 2, 0, 0, 0];
room8[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[8] = room8;
buttons8 = [5, 3, 10, 3, 5, 10, 10, 10];
buttons[8] = buttons8;
levers8 = [];
levers[8] = levers8;
sensors8 = [];
sensors[8] = sensors8;
lifts8 = [];
lifts[8] = lifts8;
coins8 = [3, 5, 1, 7, 7, 1, 8, 7, 1, 12, 5, 1, 13, 9, 1];
coins[8] = coins8;
gates8 = [15, 10, [0, 1, 2, 3], [], []];
gates[8] = gates8;
room9[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room9[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 0, 0];
room9[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 0, 2, 0, 0];
room9[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 0, 2, 0, 0];
room9[8] = [0, -1, -1, -1, -1, -1, -1, -1, -1, 2, 0, 2, 0, 2, 0, 0];
room9[9] = [-1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 0, 2, 0, 2, 0, 0];
room9[10] = [0, 1, 1, 1, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0];
room9[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[9] = room9;
buttons9 = [];
buttons[9] = buttons9;
levers9 = [];
levers[9] = levers9;
sensors9 = [];
sensors[9] = sensors9;
lifts9 = [];
lifts[9] = lifts9;
coins9 = [7, 9, 1, 8, 8, 1, 9, 7, 1, 10, 6, 1, 11, 5, 1, 13, 3, 50];
coins[9] = coins9;
gates9 = [];
gates[9] = gates9;
quests = [[], [], [], [], [], [], [], [], [], []];
}
public function getQuests(_arg1:Number):Array{
return (quests[_arg1]);
}
public function getSensors(_arg1:Number):Array{
return (sensors[_arg1]);
}
private function setHardCore(){
WalkTime = 95000;
room0[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room0[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[8] = [0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0];
room0[9] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room0[10] = [0, 0, 1, 1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 1, 0];
room0[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[0] = room0;
buttons0 = [];
buttons[0] = buttons0;
levers0 = [14, 10, false];
levers[0] = levers0;
sensors0 = [];
sensors[0] = sensors0;
lifts0 = [];
lifts[0] = lifts0;
coins0 = [3, 9, 1, 4, 10, 1, 6, 10, 1, 8, 10, 1, 10, 10, 1, 5, 8, 1, 7, 8, 1, 9, 8, 1];
coins[0] = coins0;
gates0 = [15, 10, [], [0], []];
gates[0] = gates0;
room1[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room1[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[4] = [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0];
room1[5] = [0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[6] = [0, -1, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, 0, 1, 0];
room1[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, -1, -1, -1, 0];
room1[8] = [0, -1, -1, -1, 0, 0, 0, 0, 2, 1, 0, 2, 0, 0, 0, 0];
room1[9] = [-1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room1[10] = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0];
room1[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[1] = room1;
buttons1 = [];
buttons[1] = buttons1;
levers1 = [6, 11, false, 12, 11, false, 14, 6, false];
levers[1] = levers1;
sensors1 = [];
sensors[1] = sensors1;
lifts1 = [];
lifts[1] = lifts1;
coins1 = [1, 4, 1, 2, 5, 1, 3, 4, 1, 6, 3, 1, 9, 10, 1, 8, 7, 1, 11, 7, 1, 14, 7, 1];
coins[1] = coins1;
gates1 = [15, 10, [], [1], [], 13, 6, [], [0], [], 6, 6, [], [2], []];
gates[1] = gates1;
room2[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room2[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[2] = [0, -1, -1, -1, 0, -1, -1, -1, 1, 0, 1, -1, -1, -1, -1, 0];
room2[3] = [0, 2, -1, -1, 0, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0];
room2[4] = [0, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[5] = [0, 2, 0, 2, 0, 1, -1, -1, 0, 1, 0, -1, -1, 0, 1, 0];
room2[6] = [0, 2, 0, 2, 0, 1, 0, -1, -1, -1, -1, -1, 2, 0, 1, 0];
room2[7] = [0, 2, 0, 2, 0, 1, 0, 0, -1, -1, -1, 0, 2, 0, 1, 0];
room2[8] = [0, -1, -1, -1, 0, -1, 0, -1, -1, 1, -1, -1, 2, -1, 1, 0];
room2[9] = [-1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 0, -1, -1, -1, -1, -1];
room2[10] = [0, 0, 0, 0, 0, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0];
room2[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[2] = room2;
buttons2 = [];
buttons[2] = buttons2;
levers2 = [];
levers[2] = levers2;
sensors2 = [13, 10, 3, 5, 10, 3, 9, 5, 5];
sensors[2] = sensors2;
lifts2 = [];
lifts[2] = lifts2;
coins2 = [1, 2, 1, 2, 3, 1, 2, 8, 1, 9, 7, 1, 3, 4, 1, 9, 4, 1, 13, 4, 1, 14, 4, 1];
coins[2] = coins2;
gates2 = [4, 5, [], [], [2], 8, 5, [], [], [1], 10, 5, [], [], [1], 15, 10, [], [], [0]];
gates[2] = gates2;
room3[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room3[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[4] = [0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0];
room3[5] = [0, -1, -1, -1, -1, -1, 0, 0, 0, 1, -1, -1, -1, -1, -1, 0];
room3[6] = [0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 1, 0, 0, 0];
room3[7] = [0, -1, -1, -1, 0, 0, 0, -1, 1, 0, 1, -1, -1, -1, -1, 0];
room3[8] = [0, -1, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0, -1, -1, -1, 0];
room3[9] = [-1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room3[10] = [0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 1, 0, 0, 0, 0, 0];
room3[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[3] = room3;
buttons3 = [7, 8];
buttons[3] = buttons3;
levers3 = [9, 5, false];
levers[3] = levers3;
sensors3 = [];
sensors[3] = sensors3;
lifts3 = [];
lifts[3] = lifts3;
coins3 = [1, 5, 1, 5, 10, 1, 7, 10, 1, 9, 10, 1, 7, 4, 1, 7, 6, 1, 13, 5, 1, 14, 5, 1];
coins[3] = coins3;
gates3 = [15, 10, [], [0], [], 12, 6, [0], [], [], 10, 10, [0], [], []];
gates[3] = gates3;
room4[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room4[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[3] = [0, -1, -1, -1, -1, 0, -1, -1, -1, 2, -1, -1, -1, 2, -1, 0];
room4[4] = [0, -1, -1, 0, -1, 0, -1, 0, 1, 2, 0, 0, 0, 2, -1, 0];
room4[5] = [0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room4[6] = [0, -1, 0, 0, 0, -1, -1, 0, -1, 1, 1, 1, 0, 0, 0, 0];
room4[7] = [0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0];
room4[8] = [0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room4[9] = [-1, -1, -1, 0, -1, -1, -1, -1, 1, 0, 1, -1, -1, -1, -1, 0];
room4[10] = [0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 1, 2, 0, 0, -1, -1];
room4[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[4] = room4;
buttons4 = [];
buttons[4] = buttons4;
levers4 = [12, 10, false, 5, 10, false];
levers[4] = levers4;
sensors4 = [11, 10, 5];
sensors[4] = sensors4;
lifts4 = [];
lifts[4] = lifts4;
coins4 = [1, 6, 1, 14, 5, 1, 12, 5, 1, 10, 5, 1, 8, 5, 1, 5, 2, 1, 9, 2, 1, 13, 2, 1];
coins[4] = coins4;
gates4 = [3, 6, [], [0], [], 14, 4, [-1], [], [0], 15, 11, [], [1], []];
gates[4] = gates4;
room5[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room5[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[3] = [0, -1, -1, -1, -1, -1, 1, 1, 0, 0, 0, 1, 1, -1, -1, 0];
room5[4] = [0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room5[5] = [0, -1, -1, -1, -1, -1, 1, 1, 0, 0, 0, 1, 1, -1, -1, 0];
room5[6] = [0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room5[7] = [0, -1, -1, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0];
room5[8] = [0, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0];
room5[9] = [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1];
room5[10] = [-1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 1, 0, 0, 0, 0];
room5[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[5] = room5;
buttons5 = [9, 11];
buttons[5] = buttons5;
levers5 = [7, 11, false, 8, 7, false, 3, 8, false];
levers[5] = levers5;
sensors5 = [];
sensors[5] = sensors5;
lifts5 = [];
lifts[5] = lifts5;
coins5 = [1, 5, 1, 2, 5, 1, 2, 7, 1, 7, 4, 1, 8, 4, 1, 9, 4, 1, 10, 4, 1, 11, 4, 1];
coins[5] = coins5;
gates5 = [6, 5, [], [2], [], 12, 5, [], [2], [], 15, 10, [], [1], [], 3, 6, [], [0], [], 2, 6, [-1, 0], [], []];
gates[5] = gates5;
room6[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room6[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[3] = [0, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, -1, 0];
room6[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room6[5] = [0, -1, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, 0];
room6[6] = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room6[7] = [0, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, -1, 0];
room6[8] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room6[9] = [-1, -1, -1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, 0];
room6[10] = [0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room6[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[6] = room6;
buttons6 = [];
buttons[6] = buttons6;
levers6 = [8, 11, false];
levers[6] = levers6;
sensors6 = [];
sensors[6] = sensors6;
lifts6 = [];
lifts[6] = lifts6;
coins6 = [1, 5, 1, 14, 7, 1, 14, 3, 1, 12, 8, 1, 3, 6, 1, 12, 4, 1, 11, 2, 1, 3, 2, 1];
coins[6] = coins6;
gates6 = [15, 11, [], [0], []];
gates[6] = gates6;
room7[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room7[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[2] = [0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[3] = [0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[4] = [0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0];
room7[5] = [0, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0];
room7[6] = [0, 0, -1, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0];
room7[7] = [0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room7[8] = [0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0];
room7[9] = [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1];
room7[10] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0];
room7[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[7] = room7;
buttons7 = [10, 4, 12, 4, 14, 4, 12, 8];
buttons[7] = buttons7;
levers7 = [7, 6, false];
levers[7] = levers7;
sensors7 = [];
sensors[7] = sensors7;
lifts7 = [];
lifts[7] = lifts7;
coins7 = [1, 1, 1, 1, 5, 1, 2, 3, 1, 2, 5, 1, 2, 7, 1, 3, 3, 1, 3, 7, 1, 8, 4, 1];
coins[7] = coins7;
gates7 = [2, 2, [-1, 0], [], [], 2, 4, [-1, 1], [], [], 2, 6, [-1, 2], [], [], 2, 8, [-1, 3], [], [], 15, 10, [], [0], []];
gates[7] = gates7;
room8[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room8[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room8[5] = [0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0];
room8[6] = [0, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0];
room8[7] = [0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0];
room8[8] = [0, 0, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0];
room8[9] = [-1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0];
room8[10] = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1];
room8[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[8] = room8;
buttons8 = [];
buttons[8] = buttons8;
levers8 = [3, 10, false];
levers[8] = levers8;
sensors8 = [6, 10, 1, 8, 9, 1, 10, 8, 1, 12, 7, 1];
sensors[8] = sensors8;
lifts8 = [];
lifts[8] = lifts8;
coins8 = [1, 6, 1, 6, 9, 1, 8, 8, 1, 10, 7, 1, 12, 6, 1, 9, 4, 1, 14, 3, 1, 14, 9, 1];
coins[8] = coins8;
gates8 = [7, 5, [-2], [], [0], 9, 5, [-2], [], [1], 11, 5, [-2], [], [2], 13, 5, [-2], [], [3], 14, 6, [-1], [], [2], 14, 7, [-1], [], [1], 14, 8, [-1], [], [0], 14, 5, [-1], [], [3], 15, 11, [], [0], []];
gates[8] = gates8;
room9[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room9[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room9[2] = [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0];
room9[3] = [0, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0];
room9[4] = [0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0];
room9[5] = [0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0];
room9[6] = [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0];
room9[7] = [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0];
room9[8] = [0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0];
room9[9] = [0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0];
room9[10] = [-1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0];
room9[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[9] = room9;
buttons9 = [];
buttons[9] = buttons9;
levers9 = [];
levers[9] = levers9;
sensors9 = [];
sensors[9] = sensors9;
lifts9 = [];
lifts[9] = lifts9;
coins9 = [1, 4, 1, 1, 5, 1, 2, 3, 1, 2, 9, 1, 3, 10, 1, 4, 2, 1, 4, 10, 1, 5, 10, 1, 6, 1, 1, 6, 5, 1, 6, 10, 1, 7, 2, 1, 7, 7, 1, 7, 10, 1, 8, 3, 1, 8, 6, 1, 8, 10, 1, 9, 2, 1, 9, 7, 1, 9, 10, 1, 10, 1, 1, 10, 5, 1, 10, 10, 1, 11, 10, 1, 12, 2, 1, 12, 10, 1, 14, 3, 1, 14, 9, 1];
coins[9] = coins9;
gates9 = [];
gates[9] = gates9;
quests = [[], [], [], [], [], [], [], [], [], []];
}
private function setTutor(){
WalkTime = 1000000;
room0[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room0[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room0[8] = [0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0];
room0[9] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room0[10] = [0, 0, -1, -1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0];
room0[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[0] = room0;
buttons0 = [];
buttons[0] = buttons0;
levers0 = [6, 10, false];
levers[0] = levers0;
sensors0 = [12, 10, 2];
sensors[0] = sensors0;
lifts0 = [];
lifts[0] = lifts0;
coins0 = [];
coins[0] = coins0;
gates0 = [9, 10, [], [0], [], 15, 10, [], [], [0]];
gates[0] = gates0;
room1[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room1[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room1[8] = [0, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0];
room1[9] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
room1[10] = [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0];
room1[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[1] = room1;
buttons1 = [4, 10, 8, 10, 12, 10];
buttons[1] = buttons1;
levers1 = [];
levers[1] = levers1;
sensors1 = [];
sensors[1] = sensors1;
lifts1 = [];
lifts[1] = lifts1;
coins1 = [];
coins[1] = coins1;
gates1 = [6, 10, [0], [], [], 10, 10, [1], [], [], 15, 10, [2], [], []];
gates[1] = gates1;
room2[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room2[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room2[8] = [0, -1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, -1, 0];
room2[9] = [-1, -1, -1, -1, -1, -1, 0, 1, -1, 1, 0, -1, -1, -1, -1, -1];
room2[10] = [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0];
room2[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[2] = room2;
buttons2 = [];
buttons[2] = buttons2;
levers2 = [];
levers[2] = levers2;
sensors2 = [8, 10, 1];
sensors[2] = sensors2;
lifts2 = [];
lifts[2] = lifts2;
coins2 = [8, 8, 1];
coins[2] = coins2;
gates2 = [9, 8, [-2], [], [0], 15, 10, [], [], [0]];
gates[2] = gates2;
room3[0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
room3[1] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[2] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[3] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[4] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[5] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[6] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[7] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[8] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[9] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[10] = [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0];
room3[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
rooms[3] = room3;
buttons3 = [];
buttons[3] = buttons3;
levers3 = [];
levers[3] = levers3;
sensors3 = [];
sensors[3] = sensors3;
lifts3 = [];
lifts[3] = lifts3;
coins3 = [];
coins[3] = coins3;
gates3 = [];
gates[3] = gates3;
quests = [[new Q1(), new Array([-1, -1, -1], [-1, 0, -1])], [new Q2(), new Array([-1, -1, -1], [0, -1, -1], [2, -1, -1])], [new Q3(), new Array([-1, -1, -1], [-1, -1, 0])], [new Q4(), new Array([-1, -1, -1])]];
}
public function getGates(_arg1:Number):Array{
return (gates[_arg1]);
}
}
}//package
Section 149
//RUN (RUN)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.ui.*;
public class RUN extends MovieClip {
private var slot;
private var preload;
private var progBar;
private var back;
public static const DOCUMENT_CLASS:String = "Origin";
public function RUN(){
var _local1:String;
var _local2:String;
var _local3:*;
var _local4:Boolean;
super();
stop();
_local1 = "armorgames.com";
_local2 = this.stage.root.loaderInfo.loaderURL;
_local3 = _local2.lastIndexOf(_local1);
_local4 = false;
if (_local3 >= 0){
_local4 = true;
};
if (_local4){
stage.stageFocusRect = false;
stage.scaleMode = "noScale";
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loaderInfo.addEventListener(Event.COMPLETE, completeHandler);
preload = new MovieClip();
back = new PreBackgro();
preload.addChild(back);
slot = new PreloadFrame();
preload.addChild(slot);
progBar = new Preloader();
progBar.x = 120;
progBar.y = 345;
progBar.width = 1;
preload.addChild(progBar);
addChild(preload);
};
}
private function enterFrameHandler(_arg1:Event):void{
if (currentFrame >= 3){
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
stop();
main();
};
}
private function progressHandler(_arg1:ProgressEvent):void{
var _local2:uint;
var _local3:uint;
_local2 = _arg1.bytesLoaded;
_local3 = _arg1.bytesTotal;
progBar.width = ((_local2 / _local3) * 448);
}
private function completeHandler(_arg1:Event):void{
play();
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function main():void{
var _local1:Class;
var _local2:Sprite;
_local1 = (loaderInfo.applicationDomain.getDefinition(_slot1.DOCUMENT_CLASS) as Class);
_local2 = (new (_local1) as Sprite);
removeChild(preload);
addChild(_local2);
}
}
}//package
Section 150
//ScorePanel (ScorePanel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ScorePanel extends MovieClip {
public var s1:TextField;
public var s2:TextField;
public var s3:TextField;
}
}//package
Section 151
//ScorePanelTutor (ScorePanelTutor)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ScorePanelTutor extends MovieClip {
public var s3:TextField;
}
}//package
Section 152
//Sensor (Sensor)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Sensor extends MovieClip {
public var touches:TextField;
}
}//package
Section 153
//SensorCheck (SensorCheck)
package {
import flash.display.*;
public dynamic class SensorCheck extends MovieClip {
}
}//package
Section 154
//SensorSND (SensorSND)
package {
import flash.media.*;
public dynamic class SensorSND extends Sound {
}
}//package
Section 155
//Silver (Silver)
package {
import flash.display.*;
public dynamic class Silver extends MovieClip {
}
}//package
Section 156
//SnsOpen (SnsOpen)
package {
import flash.media.*;
public dynamic class SnsOpen extends Sound {
}
}//package
Section 157
//SoundOFF (SoundOFF)
package {
import flash.display.*;
public dynamic class SoundOFF extends MovieClip {
}
}//package
Section 158
//SoundON (SoundON)
package {
import flash.display.*;
public dynamic class SoundON extends MovieClip {
}
}//package
Section 159
//SponsorLink (SponsorLink)
package {
import flash.display.*;
public dynamic class SponsorLink extends SimpleButton {
}
}//package
Section 160
//StartButton (StartButton)
package {
import flash.display.*;
import flash.events.*;
public class StartButton extends SimpleButton {
public function StartButton(){
addEventListener(MouseEvent.CLICK, onMouseClick);
}
private function onMouseClick(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, onMouseClick);
}
}
}//package
Section 161
//StatCoinsCollected (StatCoinsCollected)
package {
import flash.display.*;
import flash.text.*;
public dynamic class StatCoinsCollected extends MovieClip {
public var coinsCount:TextField;
}
}//package
Section 162
//StatisticsFail (StatisticsFail)
package {
import flash.media.*;
public dynamic class StatisticsFail extends Sound {
}
}//package
Section 163
//StatisticsWin (StatisticsWin)
package {
import flash.media.*;
public dynamic class StatisticsWin extends Sound {
}
}//package
Section 164
//StatRoomsPassed (StatRoomsPassed)
package {
import flash.display.*;
import flash.text.*;
public dynamic class StatRoomsPassed extends MovieClip {
public var roomsCount:TextField;
}
}//package
Section 165
//StatTimeLeft (StatTimeLeft)
package {
import flash.display.*;
import flash.text.*;
public dynamic class StatTimeLeft extends MovieClip {
public var timeCount:TextField;
}
}//package
Section 166
//SubmitButton (SubmitButton)
package {
import flash.display.*;
public dynamic class SubmitButton extends SimpleButton {
}
}//package
Section 167
//T11 (T11)
package {
import flash.display.*;
public dynamic class T11 extends MovieClip {
}
}//package
Section 168
//T12 (T12)
package {
import flash.display.*;
public dynamic class T12 extends MovieClip {
}
}//package
Section 169
//T13 (T13)
package {
import flash.display.*;
public dynamic class T13 extends MovieClip {
}
}//package
Section 170
//T14 (T14)
package {
import flash.display.*;
public dynamic class T14 extends MovieClip {
}
}//package
Section 171
//T21 (T21)
package {
import flash.display.*;
public dynamic class T21 extends MovieClip {
}
}//package
Section 172
//T22 (T22)
package {
import flash.display.*;
public dynamic class T22 extends MovieClip {
}
}//package
Section 173
//T23 (T23)
package {
import flash.display.*;
public dynamic class T23 extends MovieClip {
}
}//package
Section 174
//T24 (T24)
package {
import flash.display.*;
public dynamic class T24 extends MovieClip {
}
}//package
Section 175
//T31 (T31)
package {
import flash.display.*;
public dynamic class T31 extends MovieClip {
}
}//package
Section 176
//T32 (T32)
package {
import flash.display.*;
public dynamic class T32 extends MovieClip {
}
}//package
Section 177
//T33 (T33)
package {
import flash.display.*;
public dynamic class T33 extends MovieClip {
}
}//package
Section 178
//T34 (T34)
package {
import flash.display.*;
public dynamic class T34 extends MovieClip {
}
}//package
Section 179
//T41 (T41)
package {
import flash.display.*;
public dynamic class T41 extends MovieClip {
}
}//package
Section 180
//T42 (T42)
package {
import flash.display.*;
public dynamic class T42 extends MovieClip {
}
}//package
Section 181
//T43 (T43)
package {
import flash.display.*;
public dynamic class T43 extends MovieClip {
}
}//package
Section 182
//T44 (T44)
package {
import flash.display.*;
public dynamic class T44 extends MovieClip {
}
}//package
Section 183
//T51 (T51)
package {
import flash.display.*;
public dynamic class T51 extends MovieClip {
}
}//package
Section 184
//T52 (T52)
package {
import flash.display.*;
public dynamic class T52 extends MovieClip {
}
}//package
Section 185
//T53 (T53)
package {
import flash.display.*;
public dynamic class T53 extends MovieClip {
}
}//package
Section 186
//T54 (T54)
package {
import flash.display.*;
public dynamic class T54 extends MovieClip {
}
}//package
Section 187
//T61 (T61)
package {
import flash.display.*;
public dynamic class T61 extends MovieClip {
}
}//package
Section 188
//T62 (T62)
package {
import flash.display.*;
public dynamic class T62 extends MovieClip {
}
}//package
Section 189
//T63 (T63)
package {
import flash.display.*;
public dynamic class T63 extends MovieClip {
}
}//package
Section 190
//T64 (T64)
package {
import flash.display.*;
public dynamic class T64 extends MovieClip {
}
}//package
Section 191
//Telport (Telport)
package {
import flash.display.*;
public dynamic class Telport extends MovieClip {
}
}//package
Section 192
//Tile1 (Tile1)
package {
import flash.display.*;
public class Tile1 extends Sprite {
public function makeInstance():Tile1{
return (new Tile1());
}
}
}//package
Section 193
//Tile2 (Tile2)
package {
import flash.display.*;
public class Tile2 extends Sprite {
public function makeInstance():Tile2{
return (new Tile2());
}
}
}//package
Section 194
//Tile3 (Tile3)
package {
import flash.display.*;
public class Tile3 extends Sprite {
public function makeInstance():Tile3{
return (new Tile3());
}
}
}//package
Section 195
//TileMaker (TileMaker)
package {
import flash.display.*;
import flash.geom.*;
public class TileMaker {
private var gp:Array;
private var maska:Array;
private var tileCons:Object;
private static const HORZ_LIMIT:Object = 4;
public function TileMaker(){
maska = new Array();
gp = new Array();
tileCons = new Array([new T11(), new T12(), new T13(), new T14()], [new T21(), new T22(), new T23(), new T24()], [new T31(), new T32(), new T33(), new T34()], [new T41(), new T42(), new T43(), new T44()], [new T51(), new T52(), new T53(), new T54()], [new T61(), new T62(), new T63(), new T64()]);
}
private function findRect(_arg1:int):Rectangle{
var _local2:*;
var _local3:int;
var _local4:Boolean;
var _local5:*;
var _local6:Rectangle;
var _local7:*;
_local2 = undefined;
_local3 = 0;
_local4 = false;
_local5 = undefined;
_local6 = null;
_local7 = undefined;
_local4 = false;
_local5 = 0;
while ((((_local5 < gp.length)) && (!(_local4)))) {
_local7 = 0;
while ((((_local7 < gp[_local5].length)) && (!(_local4)))) {
if (gp[_local5][_local7] == _arg1){
_local2 = _local5;
_local3 = _local7;
_local4 = true;
};
_local7 = (_local7 + 1);
};
_local5 = (_local5 + 1);
};
_local6 = growRect(_local2, _local3);
return (_local6);
}
private function growRect(_arg1:int, _arg2:int):Rectangle{
var _local3:Rectangle;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
_local3 = null;
_local4 = false;
_local5 = false;
_local6 = false;
_local7 = false;
_local8 = false;
_local3 = new Rectangle(_arg1, _arg2, 1, 1);
_local4 = false;
while (!(_local4)) {
_local5 = growUP(_local3);
_local6 = growDOWN(_local3);
_local7 = growLEFT(_local3);
_local8 = growRIGHT(_local3);
_local4 = !(((((((_local5) || (_local6))) || (_local7))) || (_local8)));
};
return (_local3);
}
private function cycleBody(_arg1:BitmapData):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = undefined;
_local2 = 0;
_local3 = 0;
while (_local3 < gp.length) {
_local5 = 0;
while (_local5 < gp[_local3].length) {
if (gp[_local3][_local5] > _local2){
_local2 = gp[_local3][_local5];
};
_local5 = (_local5 + 1);
};
_local3 = (_local3 + 1);
};
if (_local2 == 0){
return (true);
};
_local4 = findRect(_local2);
rasterize(_local4, _arg1);
_local3 = 0;
while (_local3 < _local4.width) {
_local5 = 0;
while (_local5 < _local4.height) {
_local6 = (_local4.x + _local3);
_local7 = (_local4.y + _local5);
maska[_local6][_local7] = 0;
gp[_local6][_local7] = 0;
_local5 = (_local5 + 1);
};
_local3 = (_local3 + 1);
};
return (false);
}
private function growUP(_arg1:Rectangle):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = undefined;
_local3 = undefined;
if (_arg1.y <= 0){
return (false);
};
if (_arg1.height >= 6){
return (false);
};
_local2 = maska[_arg1.x][_arg1.y];
_local3 = 0;
while (_local3 < _arg1.width) {
if (maska[(_arg1.x + _local3)][(_arg1.y - 1)] != _local2){
return (false);
};
_local3 = (_local3 + 1);
};
_local4 = _arg1;
_local5 = (_arg1.y - 1);
_local4.y = _local5;
_arg1.height++;
return (true);
}
public function makeRoom(_arg1:Array):BitmapData{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:BitmapData;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:Boolean;
var _local14:*;
var _local15:Rectangle;
var _local16:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = null;
_local8 = undefined;
_local9 = undefined;
_local10 = undefined;
_local11 = undefined;
_local12 = undefined;
_local13 = false;
_local14 = undefined;
_local15 = null;
_local16 = undefined;
_local2 = 0;
while (_local2 < _arg1[0].length) {
maska[_local2] = new Array();
_local14 = 0;
while (_local14 < _arg1.length) {
if ((((((_arg1[_local14][_local2] < 0)) || ((_local2 == 0)))) || ((_local2 == (_arg1[0].length - 1))))){
maska[_local2][_local14] = 0;
} else {
maska[_local2][_local14] = (_arg1[_local14][_local2] + 1);
};
_local14 = (_local14 + 1);
};
_local2 = (_local2 + 1);
};
_local2 = 0;
while (_local2 < maska.length) {
maska[_local2][0] = 0;
maska[_local2][11] = 0;
_local2++;
};
_local2 = 0;
while (_local2 < maska.length) {
gp[_local2] = new Array();
_local14 = 0;
while (_local14 < maska[_local2].length) {
if (maska[_local2][_local14] == 0){
gp[_local2][_local14] = 0;
} else {
_local15 = growRect(_local2, _local14);
gp[_local2][_local14] = (((_local15.height * _local15.height) * _local15.height) * _local15.width);
};
_local14 = (_local14 + 1);
};
_local2 = (_local2 + 1);
};
_local3 = new Floor();
_local4 = new LevelBack();
_local5 = makeShadow(_arg1);
_local6 = new Lights();
_local6.blendMode = "add";
_local7 = new BitmapData(640, 480, false, 0);
_local7.draw(_local4);
_local8 = new Bitmap(_local5);
_local7.draw(_local8);
_local7.draw(_local3);
_local11 = 0;
if (_arg1[9][0] < 0){
_local11 = 1;
};
if (_arg1[10][0] < 0){
_local11 = 2;
};
switch (_local11){
case 0:
_local9 = new LeftClose();
break;
case 1:
_local9 = new Left_Up();
break;
case 2:
_local9 = new Left_Down();
break;
default:
break;
};
_local12 = 0;
if (_arg1[9][(_arg1[0].length - 1)] < 0){
_local12 = 1;
};
if (_arg1[10][(_arg1[0].length - 1)] < 0){
_local12 = 2;
};
switch (_local12){
case 0:
_local10 = new RightClose();
break;
case 1:
_local10 = new Right_Up();
break;
case 2:
_local10 = new Right_Down();
break;
default:
break;
};
_local7.draw(_local9);
_local7.draw(_local10);
_local7.draw(_local6);
_local13 = false;
while (!(_local13)) {
_local13 = cycleBody(_local7);
};
if (_local11 == 0){
_local16 = new Telport();
_local7.draw(_local16);
};
return (_local7);
}
private function rasterize(_arg1:Rectangle, _arg2:BitmapData){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:int;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = 0;
switch (_arg1.width){
case 1:
_local4 = (_arg1.x * 40);
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 0;
drawCon(_arg2, _local4, _local5, _local6, _local7);
break;
case 2:
_local4 = (_arg1.x * 40);
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 1;
drawCon(_arg2, _local4, _local5, _local6, _local7);
_local4 = ((_arg1.x * 40) + 40);
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 3;
drawCon(_arg2, _local4, _local5, _local6, _local7);
break;
default:
_local4 = (_arg1.x * 40);
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 1;
drawCon(_arg2, _local4, _local5, _local6, _local7);
_local3 = 1;
while (_local3 < (_arg1.width - 1)) {
_local4 = ((_arg1.x * 40) + (_local3 * 40));
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 2;
drawCon(_arg2, _local4, _local5, _local6, _local7);
_local3 = (_local3 + 1);
};
_local4 = ((_arg1.x * 40) + ((_arg1.width - 1) * 40));
_local5 = (_arg1.y * 40);
_local6 = (_arg1.height - 1);
_local7 = 3;
drawCon(_arg2, _local4, _local5, _local6, _local7);
break;
};
}
private function growRIGHT(_arg1:Rectangle):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
if (_arg1.width >= HORZ_LIMIT){
return (false);
};
_local2 = maska[_arg1.x][_arg1.y];
_local3 = ((_arg1.x + _arg1.width) - 1);
if (_local3 >= (maska.length - 1)){
return (false);
};
if ((_local3 + 1) >= (maska.length - 1)){
return (false);
};
_local5 = 0;
while (_local5 < _arg1.height) {
++_local3;
if (maska[_local3][(_arg1.y + _local5)] != _local2){
return (false);
};
_local5 = (_local5 + 1);
};
_arg1.width++;
return (true);
}
private function growLEFT(_arg1:Rectangle):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = undefined;
_local3 = undefined;
if (_arg1.x <= 0){
return (false);
};
if (_arg1.width >= HORZ_LIMIT){
return (false);
};
_local2 = maska[_arg1.x][_arg1.y];
_local3 = 0;
while (_local3 < _arg1.height) {
if (maska[(_arg1.x - 1)][(_arg1.y + _local3)] != _local2){
return (false);
};
_local3 = (_local3 + 1);
};
_local4 = _arg1;
_local5 = (_arg1.x - 1);
_local4.x = _local5;
_arg1.width++;
return (true);
}
private function growDOWN(_arg1:Rectangle):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local2 = ((_arg1.y + _arg1.height) - 1);
if (_local2 >= (maska[0].lenth - 1)){
return (false);
};
if (_arg1.height >= 6){
return (false);
};
_local3 = maska[_arg1.x][_arg1.y];
if ((_local2 + 1) >= (maska[0].lenth - 1)){
return (false);
};
_local5 = 0;
while (_local5 < _arg1.width) {
++_local2;
if (maska[(_arg1.x + _local5)][_local2] != _local3){
return (false);
};
_local5 = (_local5 + 1);
};
_local6 = _arg1;
_local7 = (_arg1.height + 1);
_local6.height = _local7;
return (true);
}
public function makeShadow(_arg1:Array):BitmapData{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Boolean;
var _local8:*;
var _local9:*;
_local2 = undefined;
_local3 = undefined;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = false;
_local8 = undefined;
_local9 = undefined;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1[0].length) {
_local2[_local3] = new Array();
_local6 = 0;
while (_local6 < _arg1.length) {
_local2[_local3][_local6] = false;
if (_arg1[_local6][_local3] < 0){
_local7 = false;
_local8 = _local6;
while ((((_local8 > 1)) && (!(_local7)))) {
if (_arg1[_local8][_local3] >= 0){
_local7 = true;
};
_local8--;
};
_local2[_local3][_local6] = _local7;
};
_local6 = (_local6 + 1);
};
_local3 = (_local3 + 1);
};
_local4 = new BitmapData(640, 480, true, 0);
_local5 = new BackLight();
_local5.alpha = 0.0001;
_local3 = 0;
while (_local3 < _local2.length) {
_local6 = 1;
while (_local6 < (_local2[0].length - 1)) {
if (_local2[_local3][_local6]){
_local9 = new Rectangle((_local3 * 40), (_local6 * 40), 40, 40);
_local4.fillRect(_local9, 1140856856);
} else {
_local9 = new Rectangle((_local3 * 40), (_local6 * 40), 40, 40);
_local4.draw(_local5, null, null, "lighten", _local9, false);
};
_local6 = (_local6 + 1);
};
_local3 = (_local3 + 1);
};
return (_local4);
}
private function drawCon(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int){
var _local6:Matrix;
_local6 = null;
_local6 = new Matrix();
_local6.translate(_arg2, _arg3);
_arg1.draw(tileCons[_arg4][_arg5], _local6, null, null, null, false);
}
}
}//package
Section 196
//TimeOutPAN (TimeOutPAN)
package {
import flash.display.*;
public dynamic class TimeOutPAN extends MovieClip {
}
}//package
Section 197
//TimerPan (TimerPan)
package {
import flash.display.*;
import flash.text.*;
public dynamic class TimerPan extends MovieClip {
public var d100:TextField;
public var sec:TextField;
public var dsec:TextField;
public var mmsec:TextField;
public var msec:TextField;
}
}//package
Section 198
//Track01 (Track01)
package {
import flash.media.*;
public dynamic class Track01 extends Sound {
}
}//package
Section 199
//TrigButton (TrigButton)
package {
class TrigButton extends TriggerCtrl {
private var snd:Object;
private var checker:Object;
private static const AnimFrames:Array = new Array([1, false], [1, 2, 3, false]);
function TrigButton(){
snd = new Crips();
checker = new ButtonCheck();
TriggerState = false;
TriggerTouch = false;
PrevTouch = false;
fig = new Knopka();
addChild(fig);
checker.visible = false;
fig.addChild(checker);
AC = new AnimationController(AnimFrames);
AC.startAnim(0);
fig.gotoAndStop(AC.frame);
}
public function processMe(_arg1:Array, _arg2:Boolean):Boolean{
var _local3:Boolean;
var _local4:*;
_local3 = false;
_local4 = undefined;
_local3 = false;
_local4 = 0;
while ((((_local4 < _arg1.length)) && (!(_local3)))) {
_local3 = checker.hitTestObject(_arg1[_local4]);
_local4 = (_local4 + 1);
};
if (_local3){
PrevTouch = TriggerTouch;
TriggerTouch = true;
TriggerState = true;
AC.startAnim(1);
} else {
PrevTouch = TriggerTouch;
TriggerTouch = false;
TriggerState = false;
AC.startAnim(0);
};
if (((((_arg2) && (TriggerTouch))) && (!(PrevTouch)))){
snd.play();
};
AC.Advance();
fig.gotoAndStop(AC.frame);
return (_local3);
}
public function setPos(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
fig.x = _arg1;
fig.y = _arg2;
}
}
}//package
Section 200
//Trigger2State (Trigger2State)
package {
import flash.display.*;
import flash.events.*;
public class Trigger2State extends MovieClip {
private var Ioff:MovieClip;
public var TState:Boolean;// = true
private var Ion:MovieClip;
public function Trigger2State(_arg1:MovieClip, _arg2:MovieClip){
TState = true;
super();
TState = true;
Ion = _arg1;
Ioff = _arg2;
addChild(Ion);
addChild(Ioff);
TState = true;
Ion.visible = TState;
Ioff.visible = !(TState);
Ioff.alpha = 0.5;
Ion.alpha = 0.5;
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(MouseEvent.MOUSE_OVER, onOver);
addEventListener(MouseEvent.MOUSE_OUT, onOut);
}
private function onOver(_arg1:MouseEvent){
Ioff.alpha = 1;
Ion.alpha = 1;
}
private function onClick(_arg1:MouseEvent){
TState = !(TState);
Ion.visible = TState;
Ioff.visible = !(TState);
}
private function onOut(_arg1:MouseEvent){
Ioff.alpha = 0.5;
Ion.alpha = 0.5;
}
}
}//package
Section 201
//TriggerCtrl (TriggerCtrl)
package {
import flash.display.*;
public class TriggerCtrl extends MovieClip {
public var fig:MovieClip;
public var AC:AnimationController;
public var TriggerTouch:Boolean;
public var PrevTouch:Boolean;
public var TriggerState:Boolean;
public function hitCheck(_arg1:MovieClip):Boolean{
return (fig.hitTestObject(_arg1));
}
public function getTriggerState():Boolean{
return (TriggerState);
}
}
}//package
Section 202
//TrigLever (TrigLever)
package {
import flash.display.*;
import flash.media.*;
class TrigLever extends TriggerCtrl {
private var leftSwitch:Object;
private var snd:Object;
private var chan:SoundChannel;
private var initState:Boolean;
private var rightSwitch:MovieClip;
private var checkBox:MovieClip;
private static const AnimFrames:Array = new Array([1, false], [1, 2, 2, false], [2, 2, 1, false], [2, false]);
function TrigLever(_arg1:Boolean){
snd = new Leversnd();
initState = _arg1;
TriggerState = _arg1;
TriggerTouch = false;
PrevTouch = false;
fig = new Lvr();
checkBox = new LeverCBox();
checkBox.visible = false;
leftSwitch = new LeverLSwitch();
leftSwitch.visible = false;
addChild(leftSwitch);
rightSwitch = new LeverRSwitch();
rightSwitch.visible = false;
addChild(rightSwitch);
addChild(fig);
addChild(checkBox);
AC = new AnimationController(AnimFrames);
if (TriggerState){
AC.startAnim(3);
} else {
AC.startAnim(0);
};
fig.gotoAndStop(AC.frame);
}
public function processMe(_arg1:Array, _arg2:Array, _arg3:Boolean){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local4 = undefined;
_local5 = undefined;
_local6 = undefined;
_local7 = undefined;
_local8 = undefined;
_local9 = undefined;
PrevTouch = TriggerTouch;
_local4 = 0;
_local5 = false;
_local6 = 0;
while (_local6 < _arg1.length) {
_local7 = checkBox.hitTestObject(_arg1[_local6]);
if (_local7){
_local8 = leftSwitch.hitTestObject(_arg1[_local6]);
_local9 = rightSwitch.hitTestObject(_arg1[_local6]);
if (((((_local8) && ((_arg2[_local6] > 0)))) && (!(TriggerTouch)))){
_local4 = _arg2[_local6];
};
if (((((_local9) && ((_arg2[_local6] < 0)))) && (!(TriggerTouch)))){
_local4 = _arg2[_local6];
};
_local5 = true;
};
_local6 = (_local6 + 1);
};
if (_local5){
TriggerTouch = true;
} else {
TriggerTouch = false;
};
if ((((((_local4 > 0)) && (!(PrevTouch)))) && (!(TriggerState)))){
if (((_arg3) && (!(TriggerState)))){
chan = snd.play();
};
AC.startAnim(1);
TriggerState = true;
};
if ((((_local4 < 0)) && (!(PrevTouch)))){
if (((((_arg3) && (TriggerState))) && (TriggerState))){
chan = snd.play();
};
AC.startAnim(2);
TriggerState = false;
};
AC.Advance();
fig.gotoAndStop(AC.frame);
}
public function setPos(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
x = _arg1;
y = _arg2;
}
public function resetMe(){
TriggerState = initState;
PrevTouch = false;
if (TriggerState){
AC.startAnim(3);
} else {
AC.startAnim(0);
};
AC.Advance();
fig.gotoAndStop(AC.frame);
}
}
}//package
Section 203
//TrigSensor (TrigSensor)
package {
import flash.media.*;
class TrigSensor extends TriggerCtrl {
private var totalTouches:int;
private var snd:Object;
private var chan:SoundChannel;
private var touchesRest:int;
private var checker:Object;
private var snd2:Object;
private static const AnimFrames:Array = new Array([1, false], [2, 2, 2, 2, 2, 2, 2, 1, false], [3, false]);
function TrigSensor(_arg1:int){
checker = new SensorCheck();
snd = new SensorSND();
snd2 = new SnsOpen();
TriggerState = false;
TriggerTouch = false;
PrevTouch = false;
touchesRest = _arg1;
totalTouches = _arg1;
fig = new Sensor();
fig.touches.text = touchesRest;
checker.visible = false;
fig.addChild(checker);
addChild(fig);
AC = new AnimationController(AnimFrames);
AC.startAnim(0);
fig.gotoAndStop(AC.frame);
}
public function processMe(_arg1:Array, _arg2:Boolean){
var _local3:Boolean;
var _local4:*;
var _local5:*;
_local3 = false;
_local4 = undefined;
_local3 = false;
_local4 = 0;
while ((((_local4 < _arg1.length)) && (!(_local3)))) {
_local3 = checker.hitTestObject(_arg1[_local4]);
_local4 = (_local4 + 1);
};
if (((_local3) && (!(TriggerTouch)))){
TriggerTouch = true;
_local5 = (touchesRest - 1);
touchesRest = _local5;
if (touchesRest == 0){
TriggerState = true;
AC.startAnim(2);
if (_arg2){
chan = snd2.play();
};
} else {
AC.startAnim(1);
if (_arg2){
chan = snd.play();
};
};
};
if (((!(_local3)) && ((touchesRest > 0)))){
TriggerTouch = false;
AC.startAnim(0);
};
AC.Advance();
fig.touches.text = touchesRest;
fig.gotoAndStop(AC.frame);
}
public function resetMe(){
TriggerState = false;
touchesRest = totalTouches;
fig.touches.text = touchesRest;
AC.startAnim(0);
AC.Advance();
fig.gotoAndStop(AC.frame);
}
public function setPos(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
fig.x = _arg1;
fig.y = _arg2;
}
}
}//package
Section 204
//TutorButton (TutorButton)
package {
import flash.display.*;
public dynamic class TutorButton extends SimpleButton {
}
}//package
Section 205
//Vector2D (Vector2D)
package {
public class Vector2D {
public var x:Number;
public var y:Number;
public function Vector2D(){
x = 0;
y = 0;
}
}
}//package
Section 206
//Walk (Walk)
package {
import flash.display.*;
public dynamic class Walk extends SimpleButton {
}
}//package