Section 1
//bteEfxAccuracyStreak (com.bte.efx.bteEfxAccuracyStreak)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxAccuracyStreak extends MovieClip {
private var a:Number;
private var vX:Number;
private var img:MovieClip;
private var vY:Number;
private var aX:Number;
private var aY:Number;
private var plusPoints:int;
private var rootInterface:GameEngine;
public function bteEfxAccuracyStreak(_arg1:GameEngine, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:Array){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
vX = _arg4;
vY = _arg5;
img = new EfxAccuracyStreak();
img.txt.text = ("x" + _arg6[0]);
this.addChild(img);
plusPoints = _arg6[1];
rootInterface.sfx.playSFX("Streak", 100, aX);
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
if (rootInterface.gamePaused){
return;
};
if (a < 30){
a++;
if (a > 15){
img.txt.text = ("+" + plusPoints);
};
aX = (aX + vX);
aY = (aY + vY);
vY = (vY - 0.5);
vX = (vX * 0.99);
vY = (vY * 0.99);
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
img.scaleX = (img.scaleY = (1 + (a / 30)));
img.alpha = (1 - (a / 30));
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 2
//bteEfxDust (com.bte.efx.bteEfxDust)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxDust extends MovieClip {
private var a:Number;
private var vX:Number;
private var img:MovieClip;
private var vY:Number;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxDust(_arg1:GameEngine, _arg2:int, _arg3:int){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
vX = 0;
vY = -2;
img = new EfxDustImg();
this.addChild(img);
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
if (rootInterface.gamePaused){
return;
};
if (a < 30){
a++;
img.gotoAndStop(Math.floor((a / 6)));
aX = (aX + vX);
aY = (aY + vY);
vX = (vX * 0.99);
vY = (vY * 0.99);
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 3
//bteEfxExplosion (com.bte.efx.bteEfxExplosion)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxExplosion extends MovieClip {
private var a:Number;
private var img:MovieClip;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxExplosion(_arg1:GameEngine, _arg2:int, _arg3:int){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
img = new EfxSmokeImg();
this.addChild(img);
rootInterface.sfx.playSFX(("Explosion" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 50) + 50), aX);
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
if (rootInterface.gamePaused){
return;
};
a++;
aY = (aY - 2);
if (a < 14){
img.gotoAndStop((Math.floor((a / 2)) + 1));
img.alpha = ((14 - a) / 14);
} else {
if (a > 25){
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
};
var _local3:* = ((Math.random() * Math.PI) * 2);
if ((Math.random() * a) > 5){
_local2 = ((Math.random() * a) * 4);
rootInterface.efx.createEfx(11, (aX + (Math.cos(_local3) * _local2)), (aY + (Math.sin(_local3) * _local2)));
} else {
_local2 = ((Math.random() * 5) + 3);
rootInterface.efx.createEfx(13, (aX + (Math.cos(_local3) * _local2)), (aY + (Math.sin(_local3) * _local2)), (Math.cos(_local3) * _local2), ((Math.sin(_local3) * _local2) - 3));
};
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
}
}
}//package com.bte.efx
Section 4
//bteEfxLittleExplosion (com.bte.efx.bteEfxLittleExplosion)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxLittleExplosion extends MovieClip {
private var a:Number;
private var img:MovieClip;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxLittleExplosion(_arg1:GameEngine, _arg2:int, _arg3:int, _arg4:int=0){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
img = new EfxExplosionImg();
this.addChild(img);
if (((!(_arg4)) && ((Math.random() > 0.7)))){
rootInterface.sfx.playSFX(("TinyExplosion" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 50) + 50), aX);
};
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
if (rootInterface.gamePaused){
return;
};
if (a < 5){
a++;
img.gotoAndStop((Math.floor((a / 2)) + 1));
img.width = 150;
img.height = 150;
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 5
//bteEfxRock (com.bte.efx.bteEfxRock)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxRock extends MovieClip {
private var a:Number;
private var vX:Number;
private var img:MovieClip;
private var vY:Number;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxRock(_arg1:GameEngine, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
vX = _arg4;
vY = _arg5;
img = new EfxRockImg();
this.addChild(img);
if (Math.random() > 0.8){
rootInterface.sfx.playSFX(("Rocks" + Math.floor(((Math.random() * 5) + 1))), ((Math.random() * 50) + 15), aX);
};
img.gotoAndStop((Math.floor((Math.random() * 5)) + 1));
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:*;
if (rootInterface.gamePaused){
return;
};
if (a < (40 + (Math.random() * 20))){
a++;
aX = (aX + vX);
aY = (aY + vY);
vY = (vY + 0.3);
vX = (vX * 0.99);
vY = (vY * 0.99);
_local2 = rootInterface.levelData.getGroundHeight(aX);
if (aY > _local2){
aY = _local2;
vY = (vY * -0.5);
};
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
img.rotation = ((aX % 20) * 3.18309886);
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 6
//bteEfxSpark (com.bte.efx.bteEfxSpark)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxSpark extends MovieClip {
private var a:Number;
private var vX:Number;
private var img:MovieClip;
private var vY:Number;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxSpark(_arg1:GameEngine, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number, _arg6:int=0){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
vX = _arg4;
vY = _arg5;
img = new EfxSparkImg();
this.addChild(img);
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
if (rootInterface.gamePaused){
return;
};
if (a < (10 + (Math.random() * 20))){
a++;
aX = (aX + vX);
aY = (aY + vY);
vY = (vY + 0.3);
vX = (vX * 0.99);
vY = (vY * 0.99);
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 7
//bteEfxTinyExplosion (com.bte.efx.bteEfxTinyExplosion)
package com.bte.efx {
import flash.events.*;
import flash.display.*;
public class bteEfxTinyExplosion extends MovieClip {
private var a:Number;
private var img:MovieClip;
private var aX:Number;
private var aY:Number;
private var rootInterface:GameEngine;
public function bteEfxTinyExplosion(_arg1:GameEngine, _arg2:int, _arg3:int){
rootInterface = _arg1;
aX = _arg2;
aY = _arg3;
img = new EfxExplosionImg();
this.addChild(img);
a = 0;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
if (rootInterface.gamePaused){
return;
};
if (a < 6){
a++;
img.alpha = ((6 - a) / 6);
img.gotoAndStop((Math.floor((a / 6)) + 1));
img.rotation = (a * 40);
img.x = (aX - rootInterface.scrollX);
img.y = (aY - rootInterface.scrollY);
} else {
removeEventListener(Event.ENTER_FRAME, update);
rootInterface.efx.remove(this);
};
}
}
}//package com.bte.efx
Section 8
//bteOBJ (com.bte.objects.bteOBJ)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class bteOBJ extends MovieClip {
public var remove:Boolean;
public var inFG:Boolean;// = false
private var scrollPOS:Object;
public var mapNum:int;
public var objNum:int;
public var mc:MovieClip;
private var rootInterface:GameEngine;
public var deleted:Boolean;
public var type:int;
public function bteOBJ(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:int, _arg6=null, _arg7=null, _arg8=null){
scrollPOS = _arg2;
type = _arg3;
rootInterface = _arg1;
switch (_arg3){
case 0:
mc = new objTruck(rootInterface, _arg2, _arg4, _arg5);
break;
case 10:
mc = new objPlasma(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 11:
mc = new objBigBomb(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 12:
mc = new objShockWave(rootInterface, _arg2, _arg4, _arg5, _arg6);
break;
case 15:
mc = new objEnemyPlasma(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 20:
mc = new objSlime(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 21:
mc = new objStatik(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 22:
mc = new objMobik(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 23:
mc = new objTranzik(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 24:
break;
case 25:
mc = new objAeroviz(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 26:
mc = new objGeophis(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 27:
mc = new objGeophisBody(rootInterface, _arg2, _arg4, _arg5, _arg6);
break;
case 28:
mc = new objGeophisTail(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7);
break;
case 29:
mc = new objAevik(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 40:
mc = new objRedSlime(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 41:
mc = new objStatik2(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 60:
mc = new objPU1(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 61:
mc = new objPU2(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 62:
mc = new objPU3(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 63:
mc = new objPU4(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 64:
mc = new objPU5(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 65:
mc = new objPU6(rootInterface, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
break;
case 70:
mc = new objCheckpoint(rootInterface, _arg2, _arg4, _arg5);
break;
case 80:
mc = new objStaticBG(rootInterface, _arg2, _arg4, _arg5);
break;
};
this.addChild(mc);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:*;
var _local3:*;
var _local4:*;
this.x = (mc.aX - scrollPOS.x);
this.y = (mc.aY - scrollPOS.y);
if ((((((type >= 20)) && (!((type == 80))))) && (!(mc.hit)))){
_local2 = (mc.aX - rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc.aX);
_local3 = (mc.aY - rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc.aY);
_local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
if ((((_local4 > rootInterface.maxEnemyDist)) && ((_local4 < 1600)))){
rootInterface.maxEnemyDist = _local4;
};
};
if (((mc.remove) || (((!((type == 0))) && ((((this.x < -3000)) || ((this.x > (rootInterface.editMode) ? 14000 : 6600)))))))){
removeEventListener(Event.ENTER_FRAME, update);
mc.cleanUp();
removeChild(mc);
mc = null;
rootInterface.theObjects.remove(this);
};
}
}
}//package com.bte.objects
Section 9
//objAeroviz (com.bte.objects.objAeroviz)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objAeroviz extends MovieClip {
private var truck:objTruck;
public var hitAnim:int;
public var loopChannel:int;// = -1
public var hp:int;// = 15
private var img:MovieClip;
public var remove:Boolean;
public var dir:Number;
public var suckCnt:Number;// = 0
public var anim:Number;// = 0
public var hit:int;
public var xv:Number;
public var aX:Number;
public var objSize:Number;// = 60
public var objState:int;
public var stuck:int;
public var yv:Number;
public var evadeCnt:int;// = 0
public var d:Number;
public var lastStuck:int;
public var aY:Number;
public var i:int;
public var evadeDir:Number;// = 0
private var rootInterface:GameEngine;
public function objAeroviz(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hitAnim = 10;
d = 0;
objState = 0;
img = new objAerovizImg();
this.addChild(img);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
if (rootInterface.gamePaused){
return;
};
if (((((hit) && ((hp > 1)))) && (!((objState == 0))))){
rootInterface.sfx.playSFX("AerovizHit", 100, aX);
hp = (hp - hit);
hit = 0;
} else {
if (((hit) && (!((objState == 0))))){
_local5 = rootInterface.levelData.getGroundHeight(aX);
img.gotoAndStop(1);
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(1500);
if (loopChannel != -1){
rootInterface.sfx.stopLoopRef(loopChannel);
};
rootInterface.sfx.playSFX("AerovizDeath", 100, aX);
};
yv = (yv + rootInterface.gravity);
if (aY > _local5){
aY = _local5;
if (yv > 1){
_local6 = ((aX + (Math.random() * 30)) - 15);
rootInterface.efx.createEfx(1, _local6, rootInterface.levelData.getGroundHeight(_local6), ((xv + (Math.random() * 4)) - 2), yv);
};
yv = 0;
xv = (xv * 0.95);
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
};
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
} else {
switch (objState){
case 0:
hp = 15;
hit = 1;
img.gotoAndStop(1);
if ((((aX > (truck.aX - 450))) && ((aX < (truck.aX + 450))))){
objState = 1;
anim = 1;
hit = 0;
};
break;
case 3:
suckCnt--;
if (suckCnt <= 0){
stuck = 0;
evadeDir = ((Math.random() > 0.5)) ? -1 : 1;
evadeCnt = (10 + (Math.random() * 20));
objState = 4;
};
case 1:
if (Math.random() > 0.95){
rootInterface.sfx.playSFX(("Aeroviz" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
};
_local5 = rootInterface.levelData.getGroundHeight(aX);
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
yv = (yv + (((truck.aY - 450) - aY) / 550));
xv = (xv + (((truck.aX - aX) + ((Math.random() * 400) - 200)) / 550));
if (((rootInterface.mouseButtonDN) && ((rootInterface.weapRate <= 1)))){
evadeDir = ((Math.random() > 0.5)) ? -1 : 1;
evadeCnt = (10 + (Math.random() * 20));
objState = 4;
};
dir = Math.atan2(yv, xv);
xv = (Math.cos(dir) * 10);
yv = (Math.sin(dir) * 10);
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
if ((((((aX > (truck.aX - 160))) && ((aX < (truck.aX + 160))))) && ((Math.random() > 0.97)))){
objState = 2;
};
img.gotoAndStop(anim);
anim++;
if (anim > 11){
anim = 6;
};
if (aY > _local5){
aY = _local5;
};
xv = (aX - _local3);
yv = (aY - _local4);
break;
case 2:
if (Math.random() > 0.95){
rootInterface.sfx.playSFX(("Aeroviz" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
};
if (Math.random() > 0.93){
objState = 2;
};
_local5 = rootInterface.levelData.getGroundHeight(aX);
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
yv = (yv + (((truck.aY - 40) - aY) / 20));
xv = (xv + ((truck.aX - aX) / 20));
dir = Math.atan2(yv, xv);
if (((rootInterface.mouseButtonDN) && ((Math.random() > 0.8)))){
evadeDir = ((Math.random() > 0.5)) ? -1 : 1;
evadeCnt = (10 + (Math.random() * 20));
objState = 4;
};
xv = (Math.cos(dir) * 16);
yv = (Math.sin(dir) * 16);
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
if ((((((aX > (truck.aX - 160))) && ((aX < (truck.aX + 160))))) && ((Math.random() > 0.99)))){
objState = 2;
};
img.gotoAndStop(anim);
anim++;
if (anim > 11){
anim = 6;
};
if (aY > (_local5 - 40)){
objState = 1;
};
xv = (aX - _local3);
yv = (aY - _local4);
break;
case 4:
evadeCnt--;
if (evadeCnt < 0){
objState = 2;
};
dir = Math.atan2((truck.aY - aY), (truck.aX - aX));
xv = (xv + (((Math.cos((dir + 1.570796)) * Math.max(0, (evadeCnt - 10))) / 6) * evadeDir));
yv = (yv + (((Math.sin((dir + 1.570796)) * Math.max(0, (evadeCnt - 10))) / 6) * evadeDir));
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
img.gotoAndStop(anim);
anim++;
if (anim > 11){
anim = 6;
};
break;
};
if ((((((((((yv > 0)) && ((aX > (truck.aX - 80))))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
_local3 = (aX - truck.points[0].posNext.x);
_local4 = ((aY - truck.points[0].posNext.y) - 40);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 50){
stuck = 1;
if (objState != 3){
yv = -(yv);
truck.hit(15);
};
};
};
if (stuck){
truck.points[0].pos.x = aX;
truck.points[0].pos.y = (aY + 40);
truck.points[0].vel.x = xv;
truck.points[0].vel.y = yv;
truck.hit(5);
objState = 3;
if (!lastStuck){
suckCnt = 50;
truck.hit(15);
loopChannel = rootInterface.sfx.startLoop("AerovizSuck", 100, aX);
};
} else {
if (lastStuck){
if (loopChannel != -1){
rootInterface.sfx.stopLoopRef(loopChannel);
loopChannel = -1;
};
};
};
lastStuck = stuck;
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 10
//objAevik (com.bte.objects.objAevik)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objAevik extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
private var rootInterface:GameEngine;
public var remove:Boolean;
public var hp:int;
public var hit:int;
public var randY:Number;
public var aX:Number;
public var aY:Number;
public var randX:Number;
public var stuck:int;
public var yv:Number;
public var objSize:Number;// = 80
public var d:Number;
public var i:int;
public var xv:Number;
public function objAevik(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
randX = (xv = 0);
randY = (yv = 0);
aX = _arg3;
aY = _arg4;
hp = 5;
hitAnim = 10;
d = 0;
i = 0;
img = new objAevikImg();
this.addChild(img);
img.body.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local7:*;
var _local8:*;
if (rootInterface.gamePaused){
return;
};
randX = (randX + ((Math.random() * 6) - 3));
randY = (randY + ((Math.random() * 6) - 3));
randX = Math.max(-30, Math.min(30, randX));
randY = Math.max(-30, Math.min(30, randY));
_local5 = rootInterface.levelData.getGroundHeight(aX);
_local3 = aX;
_local4 = aY;
if (hitAnim <= 11){
yv = (yv + (((_local5 - 300) - aY) / 50));
};
yv = (yv + rootInterface.gravity);
xv = -12;
xv = (xv * 0.99);
yv = (yv * 0.99);
var _local6:* = Math.atan2(yv, xv);
xv = (Math.cos(_local6) * 16);
yv = (Math.sin(_local6) * 16);
aX = (aX + xv);
aY = (aY + yv);
if (aY > _local5){
aY = _local5;
if (yv > 1){
_local7 = ((aX + (Math.random() * 30)) - 15);
rootInterface.efx.createEfx(1, _local7, rootInterface.levelData.getGroundHeight(_local7), ((xv + (Math.random() * 4)) - 2), yv);
};
yv = 0;
xv = (xv * 0.95);
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
};
d = Math.atan2(yv, xv);
img.body.rotation = ((d - Math.PI) * 57.2957795);
if (hitAnim > 11){
return;
};
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(2500);
rootInterface.efx.createEfx(10, aX, aY);
};
if (hitAnim > 11){
img.body.gotoAndStop(2);
img.turret.visible = false;
};
} else {
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
_local8 = (_local2 / 15);
_local3 = ((truck.points[0].posNext.x + (truck.points[0].velNext.x * _local8)) + randX);
_local4 = ((truck.points[0].posNext.y + (truck.points[0].velNext.y * _local8)) + randY);
if (_local4 > (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30)){
_local4 = (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30);
};
_local3 = (aX - _local3);
_local4 = (aY - _local4);
d = Math.atan2(_local4, _local3);
img.turret.rotation = (d * 57.2957795);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
if ((((_local2 < 60)) && (!(rootInterface.inv)))){
truck.hit(25);
hp = 0;
hit = 1;
};
};
i++;
if ((((i > 10)) && ((_local2 < 1100)))){
rootInterface.theObjects.stageObject(15, (aX + (Math.cos((d + Math.PI)) * 80)), ((aY - 50) + (Math.sin((d + Math.PI)) * 80)), (d + Math.PI), 0, 0);
i = 0;
};
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 11
//objBigBomb (com.bte.objects.objBigBomb)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objBigBomb extends MovieClip {
private var img:MovieClip;
public var remove:Boolean;
public var xv:Number;
private var trail:MovieClip;
public var explodeR:Number;// = 1
public var aX:Number;
public var objSize:Number;// = 15
public var yv:Number;
public var exploding:Boolean;
public var aY:Number;
public var d:int;
public var i:int;
private var rootInterface:GameEngine;
public function objBigBomb(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
d = _arg5;
remove = false;
exploding = false;
aX = _arg3;
aY = _arg4;
xv = ((Math.cos(_arg5) * 30) + _arg6);
yv = ((Math.sin(_arg5) * 30) + _arg7);
trail = new MovieClip();
this.addChild(trail);
img = new imgBigBomb();
this.addChild(img);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var j:Number;
var k:Number;
var l:Number;
var xd:Number;
var yd:Number;
var hx:Number;
var hy:Number;
var o:Object;
var dist:Number;
var e = _arg1;
var DrawCircle:Function = function (_arg1:Graphics, _arg2, _arg3, _arg4){
var _local5:* = (_arg4 * (Math.SQRT2 - 1));
var _local6:* = ((_arg4 * Math.SQRT2) / 2);
_arg1.moveTo((_arg2 + _arg4), _arg3);
_arg1.curveTo((_arg2 + _arg4), (_arg3 + _local5), (_arg2 + _local6), (_arg3 + _local6));
_arg1.curveTo((_arg2 + _local5), (_arg3 + _arg4), _arg2, (_arg3 + _arg4));
_arg1.curveTo((_arg2 - _local5), (_arg3 + _arg4), (_arg2 - _local6), (_arg3 + _local6));
_arg1.curveTo((_arg2 - _arg4), (_arg3 + _local5), (_arg2 - _arg4), _arg3);
_arg1.curveTo((_arg2 - _arg4), (_arg3 - _local5), (_arg2 - _local6), (_arg3 - _local6));
_arg1.curveTo((_arg2 - _local5), (_arg3 - _arg4), _arg2, (_arg3 - _arg4));
_arg1.curveTo((_arg2 + _local5), (_arg3 - _arg4), (_arg2 + _local6), (_arg3 - _local6));
_arg1.curveTo((_arg2 + _arg4), (_arg3 - _local5), (_arg2 + _arg4), _arg3);
};
if (rootInterface.gamePaused){
return;
};
if (remove){
return;
};
if (exploding){
explodeR = (explodeR + 20);
if (explodeR > 640){
remove = true;
};
trail.graphics.clear();
k = 1;
trail.graphics.beginFill(0xFFFFFF, Math.max(0, ((600 - explodeR) / 600)));
DrawCircle(trail.graphics, 0, 0, (explodeR * 5));
trail.graphics.endFill();
j = 1;
while (j <= 3) {
if ((explodeR * j) < 600){
i = 0;
while (i < 20) {
trail.graphics.lineStyle(((0.01 * j) * explodeR), 0xFFFF00, 0.75);
k = (k + ((Math.random() * 0.1) - 0.05));
k = Math.max(0.95, Math.min(1.05, k));
if (i == 0){
trail.graphics.moveTo((((Math.cos(((i + 1) / 3.18309886)) * explodeR) * j) * k), (((Math.sin(((i + 1) / 3.18309886)) * explodeR) * j) * k));
} else {
trail.graphics.lineTo((((Math.cos(((i + 1) / 3.18309886)) * explodeR) * j) * k), (((Math.sin(((i + 1) / 3.18309886)) * explodeR) * j) * k));
};
i++;
};
};
l = (Math.random() * 6.2831853);
hx = (aX + ((Math.cos(l) * explodeR) * (1 + Math.random())));
hy = (aY + ((Math.sin(l) * explodeR) * (1 + Math.random())));
if (Math.random() > 0.5){
rootInterface.efx.createEfx(11, hx, hy, 1);
} else {
rootInterface.efx.createEfx(13, hx, hy, hx, (hy - 3), 1);
};
for (o in rootInterface.theObjects.objClips) {
if ((((((((rootInterface.theObjects.objClips[o].type >= 20)) || ((rootInterface.theObjects.objClips[o].type == 15)))) && ((rootInterface.theObjects.objClips[o].type < 60)))) && (!(rootInterface.theObjects.objClips[o].mc.hit)))){
xd = (hx - rootInterface.theObjects.objClips[o].mc.aX);
yd = (hy - rootInterface.theObjects.objClips[o].mc.aY);
dist = Math.sqrt(((xd * xd) + (yd * yd)));
if (dist < (rootInterface.theObjects.objClips[o].mc.objSize * 4)){
rootInterface.theObjects.objClips[o].mc.hit = 10;
break;
};
};
};
j = (j + 1);
};
img.visible = false;
} else {
yv = (yv + rootInterface.gravity);
yv = (yv * 0.99);
xv = (xv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
for (o in rootInterface.theObjects.objClips) {
if ((((((((rootInterface.theObjects.objClips[o].type >= 20)) || ((rootInterface.theObjects.objClips[o].type == 15)))) && ((rootInterface.theObjects.objClips[o].type < 60)))) && (!(rootInterface.theObjects.objClips[o].mc.hit)))){
xd = (aX - rootInterface.theObjects.objClips[o].mc.aX);
yd = (aY - rootInterface.theObjects.objClips[o].mc.aY);
dist = Math.sqrt(((xd * xd) + (yd * yd)));
if (dist < rootInterface.theObjects.objClips[o].mc.objSize){
exploding = true;
rootInterface.sfx.playSFX("BigBomb", 100, aX);
rootInterface.theObjects.objClips[o].mc.hit = (rootInterface.havePowerUp[2]) ? 2 : 1;
break;
};
};
};
if (aY > rootInterface.levelData.GroundHeight[(aX >> 5)]){
exploding = true;
rootInterface.sfx.playSFX("BigBomb", 100, aX);
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 12
//objCheckpoint (com.bte.objects.objCheckpoint)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objCheckpoint extends MovieClip {
private var img:MovieClip;
public var remove:Boolean;
private var SONWillBe:int;// = 0
public var checkPointReached:Boolean;// = false
public var hit:Boolean;
public var aX:Number;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
private var truck:objTruck;
public var d:Number;
public var aY:Number;
public var i:int;
public function objCheckpoint(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
img = new CheckpointImg();
this.addChild(img);
img.gotoAndStop(1);
SONWillBe = (rootInterface.theObjects.nextInQueue - 1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((aX < truck.aX)) && (!(checkPointReached)))){
checkPointReached = true;
if (rootInterface.lastCheckPointX < aX){
rootInterface.startObjectNum = SONWillBe;
rootInterface.checkPointReached(aX);
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 13
//objEnemyPlasma (com.bte.objects.objEnemyPlasma)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objEnemyPlasma extends MovieClip {
private var img:MovieClip;
public var remove:Boolean;
public var xv:Number;
private var trail:MovieClip;
public var hit:int;
public var aX:Number;
public var objSize:Number;// = 15
public var yv:Number;
private var truck:objTruck;
public var d:int;
public var aY:Number;
public var i:int;
private var rootInterface:GameEngine;
public function objEnemyPlasma(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
d = _arg5;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
remove = false;
aX = _arg3;
aY = _arg4;
xv = ((Math.cos(_arg5) * 15) + _arg6);
yv = ((Math.sin(_arg5) * 15) + _arg7);
trail = new MovieClip();
this.addChild(trail);
img = new objPlasmaImg();
this.addChild(img);
rootInterface.sfx.playSFX("EnemyPhaser", 100, aX);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (rootInterface.gamePaused){
return;
};
if (hit){
remove = true;
};
if (remove){
return;
};
aX = (aX + xv);
aY = (aY + yv);
_local5 = Math.cos(d);
_local6 = Math.sin(d);
trail.graphics.clear();
i = 0;
while (i < 10) {
_local2 = (Math.random() * 2);
_local3 = ((Math.random() * _local2) * 0.01);
_local4 = (((Math.random() * 4) - 2) * (2 - _local2));
trail.graphics.lineStyle(3, 0xFF0000, (1 - (_local2 / 2)));
trail.graphics.moveTo((-(xv) * _local2), (-(yv) * _local2));
trail.graphics.lineTo(((-(xv) * (_local2 + _local3)) + (_local5 * _local4)), ((-(yv) * (_local2 + _local3)) + (_local6 * _local4)));
i++;
};
_local5 = (aX - truck.aX);
_local6 = (aY - truck.aY);
var _local7:* = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
if (_local7 < 75){
rootInterface.efx.createEfx(12, aX, aY);
remove = true;
truck.hit(20);
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
};
if (aY > (rootInterface.levelData.GroundHeight[(aX >> 5)] + 32)){
remove = true;
rootInterface.sfx.playSFX("PhaserHitGround", 100, aX);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 14
//objGeophis (com.bte.objects.objGeophis)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objGeophis extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
private var rootInterface:GameEngine;
public var hp:int;// = 6
public var remove:Boolean;
public var dir:Number;// = 0
public var gotPoints:Boolean;// = false
public var hit:int;
public var aX:Number;
public var aY:Number;
public var stuck:int;
public var yv:Number;
public var underground:Boolean;// = false
public var objSize:Number;// = 40
public var i:int;
public var d:Number;
public var dust:int;// = 0
public function objGeophis(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hitAnim = 10;
d = 0;
img = new objGeophisImg();
this.addChild(img);
rootInterface.theObjects.stageObject(27, _arg3, _arg4, this);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
if (rootInterface.gamePaused){
return;
};
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX((("Geo" + (underground) ? "UG" : "") + Math.floor(((Math.random() * 7) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
if (!gotPoints){
gotPoints = true;
rootInterface.pointsChange(1000);
rootInterface.sfx.playSFX(("GeoDeath" + Math.floor(((Math.random() * 2) + 1))), ((Math.random() * 85) + 15), aX);
};
_local5 = rootInterface.levelData.getGroundHeight(aX);
if (aY < _local5){
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
yv = (yv + rootInterface.gravity);
};
img.gotoAndStop(3);
img.rotation = (Math.atan2(yv, xv) * 57.2957795);
if (Math.random() > 0.5){
img.gotoAndStop(3);
};
} else {
_local3 = aX;
_local4 = aY;
_local5 = rootInterface.levelData.getGroundHeight(aX);
if (Math.random() > 0.98){
rootInterface.sfx.playSFX((("Geo" + (underground) ? "UG" : "") + Math.floor(((Math.random() * 7) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (((underground) && ((Math.random() > 0.98)))){
rootInterface.sfx.playSFX(("Rumble" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
};
};
if (dust > 0){
dust--;
_local6 = ((aX + (Math.random() * 40)) - 20);
rootInterface.efx.createEfx(((Math.random() > 0.5)) ? 1 : 14, _local6, rootInterface.levelData.getGroundHeight(_local6), ((xv + (Math.random() * 4)) - 2), yv);
};
if (underground != (aY > _local5)){
if (underground){
rootInterface.sfx.playSFX(("GeoExitUG" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
rootInterface.sfx.playSFX("GeoEnterUG", ((Math.random() * 85) + 15), aX);
};
dust = (2 + (Math.random() * 5));
};
underground = (aY > _local5);
if (underground){
yv = (yv + ((truck.aY - aY) / 400));
xv = (xv + ((truck.aX - aX) / 1500));
dir = Math.atan2(yv, xv);
xv = (Math.cos(dir) * 20);
yv = (Math.sin(dir) * 30);
} else {
yv = (yv + rootInterface.gravity);
if ((((xv > -10)) && ((xv < 10)))){
xv = (xv + ((truck.aX - aX) / 100));
};
};
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
if (dust > 0){
img.gotoAndStop(2);
} else {
d = (d + Math.min(1, (Math.abs(yv) / 15)));
img.gotoAndStop(((Math.floor(d) % 2) + 1));
};
img.rotation = (Math.atan2(yv, xv) * 57.2957795);
xv = (aX - _local3);
yv = (aY - _local4);
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 40){
truck.hit(30);
truck.points[i].vel.x = ((truck.points[i].vel.x + xv) / 2);
truck.points[i].vel.y = ((truck.points[i].vel.y + yv) / 2);
};
i++;
};
};
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
function getRotDist(_arg1:Number, _arg2:Number){
var _local3 = ((_arg1 * 10430) & 0xFFFF);
var _local4 = ((_arg2 * 10430) & 0xFFFF);
var _local5:int = (_local3 - _local4);
var _local6:int = (((_local3 - _local4) ^ (_local5 >> 31)) - (_local5 >> 31));
var _local7:int = (_local3 - (_local4 + 65536));
var _local8:int = (((_local3 - (_local4 + 65536)) ^ (_local7 >> 31)) - (_local7 >> 31));
var _local9:int = ((_local3 + 65536) - _local4);
var _local10:int = ((((_local3 + 65536) - _local4) ^ (_local9 >> 31)) - (_local9 >> 31));
if ((((_local6 < _local8)) && ((_local6 < _local10)))){
return (((_local5 / 10430) as Number));
};
if (_local8 < _local10){
return (((_local7 / 10430) as Number));
};
return (((_local9 / 10430) as Number));
}
}
}//package com.bte.objects
Section 15
//objGeophisBody (com.bte.objects.objGeophisBody)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objGeophisBody extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
private var rootInterface:GameEngine;
public var remove:Boolean;
public var dir:Number;// = 0
public var hit:int;
public var broken:Boolean;// = false
public var aX:Number;
public var aY:Number;
public var stuck:int;
public var yv:Number;
public var underground:Boolean;// = false
public var objSize:Number;// = 40
public var i:int;
public var d:Number;
public var dust:int;// = 0
private var geophisHead:MovieClip;
public var xv:Number;
public function objGeophisBody(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:MovieClip){
rootInterface = _arg1;
geophisHead = _arg5;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hitAnim = 10;
d = 0;
img = new objGeophisBodyImg();
this.addChild(img);
img.gotoAndStop(1);
rootInterface.theObjects.stageObject(28, _arg3, _arg4, this, geophisHead);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if (geophisHead.remove){
remove = true;
return;
};
if (((hit) && (!(geophisHead.hit)))){
geophisHead.hit = (hit / 2);
hit = 0;
if (Math.random() > 0.5){
img.gotoAndStop(2);
};
} else {
if (geophisHead.hit){
hit = 1;
};
};
if (broken){
yv = (yv + rootInterface.gravity);
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
_local5 = rootInterface.levelData.getGroundHeight(aX);
if (aY > _local5){
aY = _local5;
xv = (xv * 0.98);
};
} else {
aY = (aY + rootInterface.gravity);
xv = (geophisHead.aX - aX);
yv = (geophisHead.aY - aY);
dir = Math.atan2(yv, xv);
aX = (geophisHead.aX - (Math.cos(dir) * 18));
aY = (geophisHead.aY - (Math.sin(dir) * 18));
img.rotation = (Math.atan2(yv, xv) * 57.2957795);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 16
//objGeophisTail (com.bte.objects.objGeophisTail)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objGeophisTail extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
private var rootInterface:GameEngine;
public var remove:Boolean;
public var dir:Number;// = 0
public var hit:int;
public var broken:Boolean;// = false
public var aX:Number;
public var aY:Number;
public var stuck:int;
public var yv:Number;
public var underground:Boolean;// = false
private var geophisBody:MovieClip;
public var objSize:Number;// = 40
public var i:int;
public var d:Number;
public var dust:int;// = 0
private var geophisHead:MovieClip;
public var xv:Number;
public function objGeophisTail(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:MovieClip, _arg6:MovieClip){
rootInterface = _arg1;
geophisHead = _arg6;
geophisBody = _arg5;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hitAnim = 10;
d = 0;
img = new objGeophisTailImg();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if (geophisHead.remove){
remove = true;
return;
};
if (((hit) && (!(geophisHead.hit)))){
geophisHead.hit = (hit / 2);
hit = 0;
if (Math.random() > 0.5){
img.gotoAndStop(2);
};
if (Math.random() > 0.8){
broken = true;
};
} else {
if (geophisHead.hit){
hit = 1;
};
};
if (broken){
yv = (yv + rootInterface.gravity);
xv = (xv * 0.99);
yv = (yv * 0.99);
aX = (aX + xv);
aY = (aY + yv);
_local5 = rootInterface.levelData.getGroundHeight(aX);
if (aY > _local5){
aY = _local5;
xv = (xv * 0.98);
};
} else {
aY = (aY + rootInterface.gravity);
xv = (geophisBody.aX - aX);
yv = (geophisBody.aY - aY);
dir = Math.atan2(yv, xv);
aX = (geophisBody.aX - (Math.cos(dir) * 24));
aY = (geophisBody.aY - (Math.sin(dir) * 24));
img.rotation = (Math.atan2(yv, xv) * 57.2957795);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 17
//objMobik (com.bte.objects.objMobik)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objMobik extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
private var rootInterface:GameEngine;
public var remove:Boolean;
public var hit:int;
public var hp:int;
public var objSize:Number;// = 80
public var stuck:int;
public var yv:Number;
public var aX:Number;
public var aY:Number;
public var d:Number;
public var i:int;
public var loopChannel:int;
public function objMobik(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hp = 5;
hitAnim = 10;
d = 0;
i = 0;
img = new ObjectMobikImg();
this.addChild(img);
img.gotoAndStop(1);
loopChannel = _arg1.sfx.startLoop("MobikEngine", 100, aX);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:*;
if (rootInterface.gamePaused){
return;
};
if (hitAnim > 22){
return;
};
_local5 = rootInterface.levelData.getGroundHeight(aX);
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
xv = -3;
_local5 = rootInterface.levelData.getGroundHeight((aX + xv));
if (aY > _local5){
yv = (aY - _local5);
_local7 = (rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20)));
_local8 = ((_local7 < 0)) ? Math.atan2(_local7, 40) : 1;
_local9 = Math.atan2(yv, xv);
yv = ((Math.sin(_local9) * Math.abs(xv)) * Math.cos(_local8));
xv = ((Math.cos(_local9) * Math.abs(xv)) * Math.cos(_local8));
} else {
if (aY < (_local5 - 1)){
xv = -3;
};
};
aX = (aX + xv);
aY = (aY + yv);
img.tread.gotoAndStop(((Math.floor((aX / 3)) % 4) + 1));
img.tread.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
if (aY > _local5){
aY = _local5;
yv = 0;
};
rootInterface.sfx.updateLoop(loopChannel, 100, aX);
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(2500);
rootInterface.efx.createEfx(10, aX, aY);
};
if (hitAnim > 22){
img.gotoAndStop(2);
rootInterface.sfx.stopLoopRef(loopChannel);
};
} else {
aY = rootInterface.levelData.getGroundHeight(aX);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local6 = Math.atan2(_local4, _local3);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
_local10 = (_local2 / 15);
_local3 = (truck.points[0].posNext.x + (truck.points[0].velNext.x * _local10));
_local4 = (truck.points[0].posNext.y + (truck.points[0].velNext.y * _local10));
if (Math.abs(getRotDist(_local6, Math.atan2((aY - _local4), (aX - _local3)))) > 2){
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
};
if (_local4 > (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30)){
_local4 = (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30);
};
_local3 = (aX - _local3);
_local4 = (aY - _local4);
d = Math.atan2(_local4, _local3);
img.turret.rotation = (d * 57.2957795);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
if ((((_local2 < 60)) && (!(rootInterface.inv)))){
truck.hit(25);
hp = 0;
hit = 1;
};
};
i++;
if ((((i > 45)) && ((_local2 < 1400)))){
rootInterface.theObjects.stageObject(15, (aX + (Math.cos((d + Math.PI)) * 80)), ((aY - 50) + (Math.sin((d + Math.PI)) * 80)), (d + Math.PI), 0, 0);
i = 0;
};
};
};
}
function getRotDist(_arg1:Number, _arg2:Number){
var _local3 = ((_arg1 * 10430) & 0xFFFF);
var _local4 = ((_arg2 * 10430) & 0xFFFF);
var _local5:int = (_local3 - _local4);
var _local6:int = (((_local3 - _local4) ^ (_local5 >> 31)) - (_local5 >> 31));
var _local7:int = (_local3 - (_local4 + 65536));
var _local8:int = (((_local3 - (_local4 + 65536)) ^ (_local7 >> 31)) - (_local7 >> 31));
var _local9:int = ((_local3 + 65536) - _local4);
var _local10:int = ((((_local3 + 65536) - _local4) ^ (_local9 >> 31)) - (_local9 >> 31));
if ((((_local6 < _local8)) && ((_local6 < _local10)))){
return (((_local5 / 10430) as Number));
};
if (_local8 < _local10){
return (((_local7 / 10430) as Number));
};
return (((_local9 / 10430) as Number));
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 18
//objPlasma (com.bte.objects.objPlasma)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPlasma extends MovieClip {
private var img:MovieClip;
public var remove:Boolean;
private var trail:MovieClip;
public var aX:Number;
public var objSize:Number;// = 15
public var yv:Number;
public var aY:Number;
public var d:int;
public var i:int;
public var hitObject:Boolean;
private var rootInterface:GameEngine;
public var xv:Number;
public function objPlasma(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
d = _arg5;
remove = false;
aX = _arg3;
aY = _arg4;
xv = ((Math.cos(_arg5) * 60) + _arg6);
yv = ((Math.sin(_arg5) * 60) + _arg7);
trail = new MovieClip();
this.addChild(trail);
img = new objPlasmaImg();
this.addChild(img);
rootInterface.sfx.playSFX("Phaser", 100, aX);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:*;
var _local8:*;
var _local9:int;
if (rootInterface.gamePaused){
return;
};
if (remove){
return;
};
aX = (aX + xv);
aY = (aY + yv);
_local5 = Math.cos(d);
_local6 = Math.sin(d);
trail.graphics.clear();
i = 0;
while (i < 10) {
_local2 = Math.random();
_local3 = (Math.random() * _local2);
_local4 = (((Math.random() * 4) - 2) * (2 - _local2));
trail.graphics.lineStyle(3, 0xFF9900, (1 - (_local2 / 2)));
trail.graphics.moveTo((-(xv) * _local2), (-(yv) * _local2));
trail.graphics.lineTo(((-(xv) * (_local2 + _local3)) + (_local5 * _local4)), ((-(yv) * (_local2 + _local3)) + (_local6 * _local4)));
i++;
};
for (_local7 in rootInterface.theObjects.objClips) {
if ((((((rootInterface.theObjects.objClips[_local7].type >= 20)) && ((rootInterface.theObjects.objClips[_local7].type < 60)))) && (!(rootInterface.theObjects.objClips[_local7].mc.hit)))){
_local5 = (aX - rootInterface.theObjects.objClips[_local7].mc.aX);
_local6 = (aY - rootInterface.theObjects.objClips[_local7].mc.aY);
_local8 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
if (_local8 < rootInterface.theObjects.objClips[_local7].mc.objSize){
if (!rootInterface.theObjects.objClips[_local7].mc.hit){
rootInterface.streak++;
if (rootInterface.streak > 5){
_local9 = (Math.round((rootInterface.streak + ((rootInterface.streak / 15) * (rootInterface.streak / 15)))) * 5);
rootInterface.efx.createEfx(15, aX, aY, -(Math.cos(d)), -(Math.sin(d)), [rootInterface.streak, _local9]);
rootInterface.pointsChange(_local9);
};
rootInterface.hits++;
};
rootInterface.statusArea.updateAcc(rootInterface.shots, rootInterface.hits);
rootInterface.efx.createEfx(12, aX, aY);
hitObject = (remove = true);
rootInterface.theObjects.objClips[_local7].mc.hit = (((rootInterface.havePowerUp[2]) && ((Math.random() > 0.5)))) ? 2 : 1;
break;
};
};
};
if (aY > (rootInterface.levelData.GroundHeight[(aX >> 5)] + 32)){
rootInterface.streak = 0;
remove = true;
rootInterface.sfx.playSFX("PhaserHitGround", 100, aX);
};
}
public function cleanUp(){
if (!hitObject){
rootInterface.streak = 0;
};
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 19
//objPU1 (com.bte.objects.objPU1)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU1 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU1(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[0] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 20
//objPU2 (com.bte.objects.objPU2)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU2 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU2(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(2);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[1] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 21
//objPU3 (com.bte.objects.objPU3)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU3 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU3(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(3);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[2] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 22
//objPU4 (com.bte.objects.objPU4)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU4 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU4(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(4);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[3] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 23
//objPU5 (com.bte.objects.objPU5)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU5 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU5(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
d = 0;
trace(((_arg4 + " = y : x = ") + _arg3));
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(5);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[4] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 24
//objPU6 (com.bte.objects.objPU6)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objPU6 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objPU6(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
aX = _arg3;
aY = _arg4;
trace(((_arg4 + " = y : x = ") + _arg3));
d = 0;
img = new PowerUp();
this.addChild(img);
img.gotoAndStop(6);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
i = 0;
while (i < 3) {
_local3 = (aX - truck.points[i].posNext.x);
_local4 = (aY - truck.points[i].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 52){
hit = true;
};
i++;
};
};
if (((hit) && (!(remove)))){
remove = true;
rootInterface.sfx.playSFX("PowerUp", 100, aX);
rootInterface.havePowerUp[5] = true;
rootInterface.statusArea.updatePowerUps(rootInterface.havePowerUp);
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 25
//objRedSlime (com.bte.objects.objRedSlime)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objRedSlime extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
public var remove:Boolean;
public var hp:int;
public var hit:int;
public var aX:Number;
public var objSize:Number;// = 40
public var stuck:int;
public var yv:Number;
public var aY:Number;
public var d:Number;
public var i:int;
private var lastStuck:int;
private var rootInterface:GameEngine;
public function objRedSlime(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
lastStuck = 0;
hp = 3;
aX = _arg3;
aY = _arg4;
remove = false;
hitAnim = 10;
d = 0;
img = new objRedSlimeImg();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
if (rootInterface.gamePaused){
return;
};
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("SlimeHit" + Math.floor(((Math.random() * 4) + 1))), 100, aX);
} else {
if (hit){
hitAnim++;
img.gotoAndStop(Math.floor((hitAnim / 2)));
img.alpha = ((22 - hitAnim) / 20);
if (hitAnim == 11){
rootInterface.pointsChange(750);
rootInterface.sfx.playSFX("SlimeDeath", 100, aX);
};
if (hitAnim > 22){
remove = true;
};
} else {
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
_local6 = xv;
xv = (xv + (((truck.aX - aX) / 1000) + (Math.random() - 0.5)));
if (xv > 5){
xv = 5;
};
if (xv < -5){
xv = -5;
};
xv = (xv * 0.99);
yv = (yv * 0.99);
_local5 = rootInterface.levelData.getGroundHeight((aX + xv));
if (aY > _local5){
yv = (aY - _local5);
_local7 = Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40);
_local8 = Math.atan2(yv, xv);
if ((((Math.cos(_local7) < Math.random())) && ((Math.random() > 0.99)))){
_local9 = ((Math.random() * 10) + 1);
yv = (Math.sin((_local7 - 1.5707963)) * _local9);
xv = (Math.cos((_local7 - 1.5707963)) * _local9);
} else {
yv = ((Math.sin(_local8) * Math.abs(xv)) * Math.cos(_local7));
xv = ((Math.cos(_local8) * Math.abs(xv)) * Math.cos(_local7));
};
} else {
if (aY < (_local5 - 1)){
xv = _local6;
};
};
aX = (aX + xv);
aY = (aY + yv);
_local5 = rootInterface.levelData.getGroundHeight(aX);
d = (d + Math.min(1, (Math.abs(xv) / 15)));
img.gotoAndStop(((Math.floor(d) % 4) + 1));
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
if (aY > _local5){
aY = _local5;
};
xv = (aX - _local3);
yv = (aY - _local4);
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
_local3 = (aX - truck.points[1].posNext.x);
_local4 = (aY - truck.points[1].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 40){
stuck = 1;
};
_local3 = (aX - truck.points[2].posNext.x);
_local4 = (aY - truck.points[2].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 40){
stuck = 2;
};
};
if (stuck){
truck.points[stuck].vel.x = (truck.points[stuck].vel.x * 0.4);
truck.points[stuck].vel.y = (truck.points[stuck].vel.y * 0.4);
xv = (truck.points[stuck].vel.x * 0.5);
yv = (truck.points[stuck].vel.y * 0.5);
truck.hit(15);
if (!lastStuck){
rootInterface.sfx.playSFX("SlimeWheel", 100, aX);
};
};
lastStuck = stuck;
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 26
//objShockWave (com.bte.objects.objShockWave)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objShockWave extends MovieClip {
public var size:Number;
private var img:MovieClip;
public var remove:Boolean;
public var xv:Number;
private var trail:MovieClip;
public var explodeR:Number;// = 1
public var aX:Number;
public var objSize:Number;// = 15
public var yv:Number;
public var exploding:Boolean;
public var aY:Number;
public var d:int;
public var i:int;
private var rootInterface:GameEngine;
public function objShockWave(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number){
rootInterface = _arg1;
size = ((_arg5 - 20) / 30);
remove = false;
exploding = false;
aX = _arg3;
aY = _arg4;
trail = new MovieClip();
this.addChild(trail);
img = new imgBigBomb();
this.addChild(img);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var j:Number;
var k:Number;
var l:Number;
var xd:Number;
var yd:Number;
var hx:Number;
var hy:Number;
var o:Object;
var dist:Number;
var e = _arg1;
var DrawCircle:Function = function (_arg1:Graphics, _arg2, _arg3, _arg4){
var _local5:* = (_arg4 * (Math.SQRT2 - 1));
var _local6:* = ((_arg4 * Math.SQRT2) / 2);
_arg1.moveTo((_arg2 + _arg4), _arg3);
_arg1.curveTo((_arg2 + _arg4), (_arg3 + _local5), (_arg2 + _local6), (_arg3 + _local6));
_arg1.curveTo((_arg2 + _local5), (_arg3 + _arg4), _arg2, (_arg3 + _arg4));
_arg1.curveTo((_arg2 - _local5), (_arg3 + _arg4), (_arg2 - _local6), (_arg3 + _local6));
_arg1.curveTo((_arg2 - _arg4), (_arg3 + _local5), (_arg2 - _arg4), _arg3);
_arg1.curveTo((_arg2 - _arg4), (_arg3 - _local5), (_arg2 - _local6), (_arg3 - _local6));
_arg1.curveTo((_arg2 - _local5), (_arg3 - _arg4), _arg2, (_arg3 - _arg4));
_arg1.curveTo((_arg2 + _local5), (_arg3 - _arg4), (_arg2 + _local6), (_arg3 - _local6));
_arg1.curveTo((_arg2 + _arg4), (_arg3 - _local5), (_arg2 + _arg4), _arg3);
};
if (rootInterface.gamePaused){
return;
};
if (remove){
return;
};
explodeR = (explodeR + 20);
if (explodeR > (420 * size)){
remove = true;
};
trail.graphics.clear();
k = 1;
trail.graphics.beginFill(13426175, Math.max(0, ((((400 * size) - explodeR) / 400) * size)));
DrawCircle(trail.graphics, 0, 0, (explodeR * 5));
trail.graphics.endFill();
j = 1;
while (j <= 3) {
l = (Math.random() * 6.2831853);
hx = (aX + ((Math.cos(l) * explodeR) * (1 + Math.random())));
hy = (aY + ((Math.sin(l) * explodeR) * (1 + Math.random())));
rootInterface.efx.createEfx(13, hx, hy, hx, (hy - 3), 1);
for (o in rootInterface.theObjects.objClips) {
if ((((((((rootInterface.theObjects.objClips[o].type >= 20)) || ((rootInterface.theObjects.objClips[o].type == 15)))) && ((rootInterface.theObjects.objClips[o].type < 60)))) && (!(rootInterface.theObjects.objClips[o].mc.hit)))){
xd = (hx - rootInterface.theObjects.objClips[o].mc.aX);
yd = (hy - rootInterface.theObjects.objClips[o].mc.aY);
dist = Math.sqrt(((xd * xd) + (yd * yd)));
if (dist < (rootInterface.theObjects.objClips[o].mc.objSize * 4)){
rootInterface.theObjects.objClips[o].mc.hit = (10 * Math.max(0, ((((400 * size) - explodeR) / 400) * size)));
break;
};
};
};
j = (j + 1);
};
img.visible = false;
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 27
//objSlime (com.bte.objects.objSlime)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objSlime extends MovieClip {
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
public var remove:Boolean;
public var hit:int;
public var aX:Number;
public var objSize:Number;// = 40
public var stuck:int;
public var yv:Number;
private var truck:objTruck;
public var d:Number;
public var aY:Number;
public var i:int;
private var lastStuck:int;
private var rootInterface:GameEngine;
public function objSlime(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
lastStuck = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hitAnim = 10;
d = 0;
img = new objSlimeImg();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
if (rootInterface.gamePaused){
return;
};
if (hit){
hitAnim++;
img.gotoAndStop(Math.floor((hitAnim / 2)));
img.alpha = ((22 - hitAnim) / 20);
if (hitAnim == 11){
rootInterface.pointsChange(250);
rootInterface.sfx.playSFX("SlimeDeath", 100, aX);
};
if (hitAnim > 22){
remove = true;
};
} else {
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
_local6 = xv;
xv = (xv + (((truck.aX - aX) / 1000) + (Math.random() - 0.5)));
if (xv > 5){
xv = 5;
};
if (xv < -5){
xv = -5;
};
xv = (xv * 0.99);
yv = (yv * 0.99);
_local5 = rootInterface.levelData.getGroundHeight((aX + xv));
if (aY > _local5){
yv = (aY - _local5);
_local7 = Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40);
_local8 = Math.atan2(yv, xv);
if ((((Math.cos(_local7) < Math.random())) && ((Math.random() > 0.99)))){
_local9 = ((Math.random() * 10) + 1);
yv = (Math.sin((_local7 - 1.5707963)) * _local9);
xv = (Math.cos((_local7 - 1.5707963)) * _local9);
} else {
yv = ((Math.sin(_local8) * Math.abs(xv)) * Math.cos(_local7));
xv = ((Math.cos(_local8) * Math.abs(xv)) * Math.cos(_local7));
};
} else {
if (aY < (_local5 - 1)){
xv = _local6;
};
};
aX = (aX + xv);
aY = (aY + yv);
_local5 = rootInterface.levelData.getGroundHeight(aX);
d = (d + Math.min(1, (Math.abs(xv) / 15)));
img.gotoAndStop(((Math.floor(d) % 4) + 1));
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
if (aY > _local5){
aY = _local5;
};
xv = (aX - _local3);
yv = (aY - _local4);
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
_local3 = (aX - truck.points[1].posNext.x);
_local4 = (aY - truck.points[1].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 40){
stuck = 1;
};
_local3 = (aX - truck.points[2].posNext.x);
_local4 = (aY - truck.points[2].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (_local2 < 40){
stuck = 2;
};
};
if (stuck){
truck.points[stuck].vel.x = (truck.points[stuck].vel.x * 0.4);
truck.points[stuck].vel.y = (truck.points[stuck].vel.y * 0.4);
xv = (truck.points[stuck].vel.x * 0.5);
yv = (truck.points[stuck].vel.y * 0.5);
truck.hit(10);
if (!lastStuck){
rootInterface.sfx.playSFX("SlimeWheel", 100, aX);
};
};
lastStuck = stuck;
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 28
//objStaticBG (com.bte.objects.objStaticBG)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objStaticBG extends MovieClip {
private var img:MovieClip;
public var d:Number;
public var i:int;
public var remove:Boolean;
public var hit:Boolean;
private var canTilt;
public var objSize:Number;// = 52
private var rootInterface:GameEngine;
public var aX:Number;
public var aY:Number;
public function objStaticBG(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int){
canTilt = [1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1];
super();
rootInterface = _arg1;
aX = _arg3;
aY = ((_arg4 + (Math.random() * 32)) - 8);
d = 0;
img = new staticBGImg();
this.addChild(img);
var _local5:* = (13 - Math.floor(Math.pow((Math.floor(((aX + (aY * 20)) * 1000)) % 169), (1 / 2))));
if (canTilt[_local5]){
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + (img.width / 2))) - rootInterface.levelData.getGroundHeight((aX - (img.width / 2)))), 40) * 57.2957795);
} else {
aY = (aY + Math.abs((rootInterface.levelData.getGroundHeight((aX + (img.width / 2))) - rootInterface.levelData.getGroundHeight((aX - (img.width / 2))))));
};
aY = rootInterface.levelData.getGroundHeight(aX);
img.gotoAndStop((_local5 + 1));
}
public function cleanUp(){
}
}
}//package com.bte.objects
Section 29
//objStatik (com.bte.objects.objStatik)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objStatik extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
public var remove:Boolean;
public var hp:int;
public var hit:int;
public var aX:Number;
public var objSize:Number;// = 80
public var stuck:int;
public var yv:Number;
public var aY:Number;
public var d:Number;
public var i:int;
private var rootInterface:GameEngine;
public function objStatik(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hp = 3;
hitAnim = 10;
d = 0;
i = 0;
img = new ObjectStatikImg();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (rootInterface.gamePaused){
return;
};
if (hitAnim > 23){
return;
};
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(1000);
rootInterface.efx.createEfx(10, aX, aY);
};
if (hitAnim > 22){
img.gotoAndStop(2);
};
} else {
aY = rootInterface.levelData.getGroundHeight(aX);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
d = Math.atan2(_local4, _local3);
img.turret.rotation = (d * 57.2957795);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
if ((((_local2 < 60)) && (!(rootInterface.inv)))){
truck.hit(25);
hp = 0;
hit = 1;
};
};
i++;
if ((((i > 60)) && ((_local2 < 1200)))){
rootInterface.theObjects.stageObject(15, (aX + (Math.cos((d + Math.PI)) * 80)), ((aY - 50) + (Math.sin((d + Math.PI)) * 80)), (d + Math.PI), 0, 0);
i = 0;
};
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 30
//objStatik2 (com.bte.objects.objStatik2)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objStatik2 extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
public var remove:Boolean;
public var hp:int;
public var hit:int;
public var aX:Number;
public var objSize:Number;// = 80
public var stuck:int;
public var yv:Number;
public var aY:Number;
public var d:Number;
public var i:int;
private var rootInterface:GameEngine;
public function objStatik2(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hp = 5;
hitAnim = 10;
d = 0;
i = 0;
img = new ObjectStatik2Img();
this.addChild(img);
img.gotoAndStop(1);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:*;
if (rootInterface.gamePaused){
return;
};
if (hitAnim > 23){
return;
};
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(2500);
rootInterface.efx.createEfx(10, aX, aY);
};
if (hitAnim > 22){
img.gotoAndStop(2);
};
} else {
aY = rootInterface.levelData.getGroundHeight(aX);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local6 = Math.atan2(_local4, _local3);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
_local7 = (_local2 / 15);
_local3 = (truck.points[0].posNext.x + (truck.points[0].velNext.x * _local7));
_local4 = (truck.points[0].posNext.y + (truck.points[0].velNext.y * _local7));
if (Math.abs(getRotDist(_local6, Math.atan2((aY - _local4), (aX - _local3)))) > 2){
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
};
if (_local4 > (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30)){
_local4 = (rootInterface.levelData.GroundHeight[Math.round((_local3 / 32))] - 30);
};
_local3 = (aX - _local3);
_local4 = (aY - _local4);
d = Math.atan2(_local4, _local3);
img.turret.rotation = (d * 57.2957795);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
if ((((_local2 < 60)) && (!(rootInterface.inv)))){
truck.hit(25);
hp = 0;
hit = 1;
};
};
i++;
if ((((i > 45)) && ((_local2 < 1300)))){
rootInterface.theObjects.stageObject(15, (aX + (Math.cos((d + Math.PI)) * 80)), ((aY - 50) + (Math.sin((d + Math.PI)) * 80)), (d + Math.PI), 0, 0);
i = 0;
};
};
};
}
function getRotDist(_arg1:Number, _arg2:Number){
var _local3 = ((_arg1 * 10430) & 0xFFFF);
var _local4 = ((_arg2 * 10430) & 0xFFFF);
var _local5:int = (_local3 - _local4);
var _local6:int = (((_local3 - _local4) ^ (_local5 >> 31)) - (_local5 >> 31));
var _local7:int = (_local3 - (_local4 + 65536));
var _local8:int = (((_local3 - (_local4 + 65536)) ^ (_local7 >> 31)) - (_local7 >> 31));
var _local9:int = ((_local3 + 65536) - _local4);
var _local10:int = ((((_local3 + 65536) - _local4) ^ (_local9 >> 31)) - (_local9 >> 31));
if ((((_local6 < _local8)) && ((_local6 < _local10)))){
return (((_local5 / 10430) as Number));
};
if (_local8 < _local10){
return (((_local7 / 10430) as Number));
};
return (((_local9 / 10430) as Number));
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 31
//objTranzik (com.bte.objects.objTranzik)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objTranzik extends MovieClip {
private var truck:objTruck;
private var img:MovieClip;
public var hitAnim:int;
public var xv:Number;
private var rootInterface:GameEngine;
public var remove:Boolean;
public var hit:int;
public var hp:int;
public var objSize:Number;// = 120
public var stuck:int;
public var yv:Number;
public var aX:Number;
public var aY:Number;
public var d:Number;
public var i:int;
public var loopChannel:int;
public function objTranzik(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number, _arg7:Number){
rootInterface = _arg1;
truck = rootInterface.theObjects.objClips[rootInterface.theObjects.truckObjNum].mc;
xv = 0;
yv = 0;
aX = _arg3;
aY = _arg4;
hp = 7;
hitAnim = 10;
d = 0;
i = 0;
img = new ObjectTranzikImg();
this.addChild(img);
img.gotoAndStop(1);
loopChannel = _arg1.sfx.startLoop("MobikEngine", 100, aX);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (rootInterface.gamePaused){
return;
};
if (hitAnim > 22){
return;
};
_local3 = aX;
_local4 = aY;
yv = (yv + rootInterface.gravity);
xv = -3;
_local5 = rootInterface.levelData.getGroundHeight((aX + xv));
if (aY > _local5){
yv = (aY - _local5);
_local6 = (rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20)));
_local7 = ((_local6 < 0)) ? Math.atan2(_local6, 40) : 1;
_local8 = Math.atan2(yv, xv);
yv = ((Math.sin(_local8) * Math.abs(xv)) * Math.cos(_local7));
xv = ((Math.cos(_local8) * Math.abs(xv)) * Math.cos(_local7));
} else {
if (aY < (_local5 - 1)){
xv = -3;
};
};
aX = (aX + xv);
aY = (aY + yv);
img.rotation = (Math.atan2((rootInterface.levelData.getGroundHeight((aX + 20)) - rootInterface.levelData.getGroundHeight((aX - 20))), 40) * 57.2957795);
if (aY > _local5){
aY = _local5;
yv = 0;
};
rootInterface.sfx.updateLoop(loopChannel, 100, aX);
if (((hit) && ((hp > 1)))){
hp = (hp - hit);
hit = 0;
rootInterface.sfx.playSFX(("MetalHit" + Math.floor(((Math.random() * 4) + 1))), ((Math.random() * 85) + 15), aX);
} else {
if (hit){
hitAnim++;
if (hitAnim == 11){
rootInterface.pointsChange(800);
rootInterface.efx.createEfx(10, aX, aY);
rootInterface.sfx.stopLoopRef(loopChannel);
};
if (hitAnim > 22){
img.gotoAndStop(2);
};
} else {
aY = rootInterface.levelData.getGroundHeight(aX);
_local3 = (aX - truck.points[0].posNext.x);
_local4 = (aY - truck.points[0].posNext.y);
_local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
stuck = 0;
if ((((((((aX > (truck.aX - 80))) && ((aX < (truck.aX + 80))))) && ((aY > (truck.aY - 80))))) && ((aY < (truck.aY + 80))))){
if ((((_local2 < 60)) && (!(rootInterface.inv)))){
truck.hit(25);
hp = 0;
hit = 1;
};
};
};
};
}
public function cleanUp(){
removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package com.bte.objects
Section 32
//objTruck (com.bte.objects.objTruck)
package com.bte.objects {
import flash.events.*;
import flash.display.*;
public class objTruck extends MovieClip {
private var skyBoost:Number;
private var rotPos:Number;
public var yd:Number;
private var last_truck_grounded:Boolean;
private var shocks:MovieClip;
private var rotationalDrag:Number;
public var aX:Number;
public var aY:Number;
public var gunY:Number;
private var slamming:Boolean;// = false
private var startBonusX:Number;
private var DirectionalDrag:Number;
private var bonus:Number;
public var ii:int;
private var engineSpeed:Number;
public var gunX:Number;
private var connectionRot:Array;
public var upsideDown:Boolean;
public var scrollOffX:Number;
public var scrollOffY:Number;
private var engineLoad:Number;
private var truck_grounded:Boolean;
private var boostCharge:Number;
private var startBonusTime:Number;
private var ob_sx:Array;
private var ob_sy:Array;
public var f:Number;
public var i:int;
public var k:int;
public var grounded:Boolean;
private var halfPI:Number;
private var rootInterface:GameEngine;
public var sloMo:Boolean;
private var start_rot:Number;
private var lrB:Number;
private var truck_body:MovieClip;
public var disabled:Boolean;// = false
public var remove:Boolean;
public var yd1:Number;
public var yd2:Number;
private var connectionsB:Array;
private var groundAngle:Number;
public var objSize:Number;// = 80
private var doublePI:Number;
public var vX:Number;
public var vY:Number;
private var maxBonusY:Number;
public var dist:Number;
private var inWaterLast:Boolean;
private var rotationalDamp:Number;
private var connectionsA:Array;
private var cur_truck_rot:Number;
private var tireSpacing:Number;
public var altForce:Array;
public var thisMS:Number;
public var xd1:Number;
public var xd2:Number;
private var truckAccel:Number;
private var tire2:MovieClip;
private var rotForBonus:Number;
private var truck2wheelMassRatio:Number;
private var tire1:MovieClip;
private var sloMoCnt:int;
private var curEngineSpeed:Number;// = 0
private var lastStuntX:Number;
private var springStiff:Number;
public var points:Array;
private var boostRelease:Number;
public var xd:Number;
private var gun1:MovieClip;
private var RoofHitCounter:Number;
public function objTruck(_arg1:GameEngine, _arg2:Object, _arg3:int, _arg4:int){
var _local5:onePoint;
connectionsA = [0, 0, 0, 0];
connectionsB = [1, 2, 3, 4];
connectionRot = [Math.PI, 0, (Math.PI * 1.25), (Math.PI * 1.75)];
super();
rootInterface = _arg1;
RoofHitCounter = 0;
tireSpacing = 38;
rotationalDamp = 1.3;
rotationalDrag = 0.2;
DirectionalDrag = 0.99;
springStiff = 6;
truck2wheelMassRatio = 1.4;
truckAccel = 0.05;
skyBoost = 0.008;
cur_truck_rot = 0;
boostRelease = 0;
boostCharge = 0;
halfPI = (Math.PI / 2);
doublePI = (Math.PI * 2);
shocks = new MovieClip();
this.addChild(shocks);
gun1 = new buggyGun();
this.addChild(gun1);
tire1 = new objTruckTire();
this.addChild(tire1);
tire1.gotoAndStop(1);
tire2 = new objTruckTire();
this.addChild(tire2);
tire2.gotoAndStop(1);
truck_body = new objTruckImg();
this.addChild(truck_body);
truck_body.gotoAndStop(1);
aX = _arg3;
aY = _arg4;
points = new Array(0);
ob_sx = new Array(5);
ob_sy = new Array(5);
ob_sx[0] = 0;
ob_sy[0] = 0;
connectionRot = [Math.PI, 0, (Math.PI * 1.25), (Math.PI * 1.75)];
i = 0;
while (i <= 4) {
ob_sx[(i + 1)] = (Math.cos(connectionRot[i]) * tireSpacing);
ob_sy[(i + 1)] = (Math.sin(connectionRot[i]) * tireSpacing);
_local5 = new onePoint();
_local5.thisNum = i;
_local5.connections = new Array(0);
_local5.connectionRef = new Array(0);
_local5.connectionRot = new Array(0);
points.push(_local5);
i++;
};
points[0].Friction = 1.1;
points[0].Radius = 15;
points[1].Radius = 18;
points[2].Radius = 18;
points[1].targRot = Math.PI;
i = 0;
while (i < connectionsA.length) {
points[connectionsA[i]].connections.push(connectionsB[i]);
points[connectionsA[i]].connectionRef.push(i);
points[connectionsA[i]].connectionRot.push(((connectionRot[i] + Math.PI) % (Math.PI * 2)));
points[connectionsA[i]].connectionNum++;
points[connectionsB[i]].connections.push(connectionsA[i]);
points[connectionsB[i]].connectionRef.push(i);
points[connectionsB[i]].connectionRot.push(connectionRot[i]);
points[connectionsB[i]].connectionNum++;
i++;
};
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function fix(){
truck_body.gotoAndStop(1);
rootInterface.hp = 100;
RoofHitCounter = 0;
disabled = false;
}
function checkRoofhit(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Boolean;
var _local21:*;
_local18 = false;
_local2 = (points[0].posNext.x + (Math.cos((points[0].rotPosNext - halfPI)) * 35));
_local3 = (points[0].posNext.y + (Math.sin((points[0].rotPosNext - halfPI)) * 35));
var _local19:* = (points[0].pos.x + (Math.cos((points[0].rotPosNext - halfPI)) * 35));
var _local20:* = (points[0].pos.y + (Math.sin((points[0].rotPosNext - halfPI)) * 35));
if (points[0].grounded){
points[0].grounded = false;
_local11 = 10000;
_local12 = 0;
_local10 = 0;
if ((((Math.random() > 0.7)) && (upsideDown))){
rootInterface.efx.createEfx(4, ((_local2 + (Math.random() * 20)) - 32), _local3, ((Math.random() * 4) - 2), ((Math.random() * 4) - 4));
};
_local1 = Math.floor((Math.min((_local2 - 23), (_local2 + 23)) / 32));
while (_local1 <= Math.ceil((Math.max((_local2 - 23), (_local2 + 23)) / 32))) {
if (rootInterface.levelData.altGroundHeight[0]){
_local8 = rootInterface.levelData.altGroundHeight[0];
_local7 = _local8;
} else {
_local7 = rootInterface.levelData.GroundHeight[(_local1 - 1)];
if (isNaN(_local7)){
_local7 = 0;
};
_local8 = rootInterface.levelData.GroundHeight[_local1];
if (isNaN(_local8)){
_local8 = 0;
};
};
_local9 = (Math.atan2((_local8 - _local7), 32) + halfPI);
_local16 = (Math.cos(_local9) * points[0].Radius);
_local17 = (Math.sin(_local9) * points[0].Radius);
_local6 = linesIntersect(_local2, _local3, (_local2 + _local16), (_local3 + _local17), ((_local1 - 1) * 32), _local7, (_local1 * 32), _local8);
if (_local6){
if (_local6 < _local11){
_local12 = _local9;
points[0].groundAngle = Math.atan2((_local8 - _local7), 32);
_local11 = _local6;
_local13 = _local1;
_local18 = true;
};
};
_local9 = Math.atan2((_local7 - _local3), ((_local1 * 32) - _local2));
_local16 = (Math.cos(_local9) * points[0].Radius);
_local17 = (Math.sin(_local9) * points[0].Radius);
_local6 = linesIntersect(_local2, _local3, (_local2 + _local16), (_local3 + _local17), ((_local1 - 1) * 32), _local7, (_local1 * 32), _local8);
if (_local6){
if (_local6 < _local11){
_local12 = _local9;
points[0].groundAngle = Math.atan2((_local8 - _local7), 32);
_local11 = _local6;
_local13 = _local1;
_local18 = true;
};
};
_local1++;
};
if (_local18){
_local4 = points[0].posNext.x;
_local5 = points[0].posNext.y;
points[0].posNext.x = (points[0].posNext.x - (Math.cos(_local12) * (points[0].Radius - _local11)));
points[0].posNext.y = (points[0].posNext.y - (Math.sin(_local12) * (points[0].Radius - _local11)));
points[0].velCorrection.x = (_local4 - points[0].posNext.x);
points[0].velCorrection.y = (_local5 - points[0].posNext.y);
points[1].velCorrection.x = (points[2].velCorrection.x = points[0].velCorrection.x);
points[1].velCorrection.y = (points[2].velCorrection.y = points[0].velCorrection.y);
points[0].grounded = true;
if (upsideDown){
points[0].grounded = true;
};
};
} else {
_local11 = 900;
_local12 = 0;
_local10 = 0;
_local15 = Math.atan2((_local3 - _local20), (_local2 - _local19));
_local21 = 0;
while (_local21 <= Math.PI) {
_local9 = ((_local21 - halfPI) + _local15);
_local16 = (Math.cos(_local9) * points[0].Radius);
_local17 = (Math.sin(_local9) * points[0].Radius);
_local1 = Math.floor((Math.min((_local19 + _local16), (_local2 + _local16)) / 32));
while (_local1 <= Math.ceil((Math.max((_local19 + _local16), (_local2 + _local16)) / 32))) {
if (rootInterface.levelData.altGroundHeight[0]){
_local8 = rootInterface.levelData.altGroundHeight[0];
_local7 = _local8;
} else {
_local7 = rootInterface.levelData.GroundHeight[(_local1 - 1)];
if (isNaN(_local7)){
_local7 = 0;
};
_local8 = rootInterface.levelData.GroundHeight[_local1];
if (isNaN(_local8)){
_local8 = 0;
};
};
_local6 = linesIntersect((_local19 + _local16), (_local20 + _local17), (_local2 + _local16), (_local3 + _local17), ((_local1 - 1) * 32), _local7, (_local1 * 32), _local8);
if (_local6){
if (_local6 < _local11){
_local12 = _local9;
points[0].groundAngle = Math.atan2((_local8 - _local7), 32);
_local11 = _local6;
_local13 = _local1;
_local18 = true;
};
};
_local1++;
};
++_local10;
if (_local10 > 20){
break;
};
_local21 = (_local21 + (Math.PI / 4));
};
if (_local18){
_local1 = 0;
while (_local1 < 10) {
rootInterface.efx.createEfx(1, (_local2 + ((Math.random() * 20) - 10)), (_local3 + ((Math.random() * 8) - 6)), ((points[0].velNext.x / 2) + ((Math.random() * 4) - 2)), ((-(points[0].velNext.y) / 2) + ((Math.random() * 4) - 2)));
_local1++;
};
_local4 = (_local19 - _local2);
_local5 = (_local20 - _local3);
points[0].HitAt = (_local11 / Math.sqrt(((_local4 * _local4) + (_local5 * _local5))));
_local6 = Math.sqrt(((points[0].vel.x * points[0].vel.x) + (points[0].vel.y * points[0].vel.y)));
if ((((RoofHitCounter == 0)) && ((Math.abs(angleNearZero((points[0].rotPos - points[1].groundAngle))) > 1.9)))){
if (_local6 > 12){
rootInterface.sfx.playSFX("Rollover", 100, aX);
} else {
if (_local6 > (2 + (Math.random() * 3))){
rootInterface.sfx.playSFX("Rollover", Math.min(100, (25 + (_local6 * 2))), aX);
};
};
};
_local4 = points[0].posNext.x;
_local5 = points[0].posNext.y;
points[0].posNext.x = ((points[0].pos.x * (1 - points[0].HitAt)) + (points[0].posNext.x * points[0].HitAt));
points[0].posNext.y = ((points[0].pos.y * (1 - points[0].HitAt)) + (points[0].posNext.y * points[0].HitAt));
points[0].velCorrection.x = (_local4 - points[0].posNext.x);
points[0].velCorrection.y = (_local5 - points[0].posNext.y);
points[1].velCorrection.x = (points[2].velCorrection.x = points[0].velCorrection.x);
points[1].velCorrection.y = (points[2].velCorrection.y = points[0].velCorrection.y);
points[0].grounded = true;
if (((upsideDown) && ((RoofHitCounter == 0)))){
truck_body.gotoAndStop(2);
RoofHitCounter = 90;
};
};
};
return (_local18);
}
public function moveTruckTo(_arg1:Number){
var x = _arg1;
var diffX:Number = (x - points[0].pos.x);
var diffY:Number = ((rootInterface.levelData.getGroundHeight(x) - 32) - points[0].pos.y);
var i:* = 0;
while (i <= 2) {
var _local3 = points[i];
with (_local3) {
pos.x = (pos.x + diffX);
pos.y = (pos.y + diffY);
if (i == 1){
pos.x = (points[0].pos.x - tireSpacing);
pos.y = points[0].pos.y;
} else {
if (i == 2){
pos.x = (points[0].pos.x + tireSpacing);
pos.y = points[0].pos.y;
};
};
posNext.x = pos.x;
posNext.y = pos.y;
velNext.x = (vel.x = (velNext.y = (vel.y = 0)));
accNext.x = (acc.x = (accNext.y = (acc.y = 0)));
};
i = (i + 1);
};
last_truck_grounded = truck_grounded;
}
function avgAngle(_arg1:Number, _arg2:Number){
var _local3 = ((_arg1 * 10430) & 0xFFFF);
var _local4 = ((_arg2 * 10430) & 0xFFFF);
if ((((_local3 > 32767)) && ((_local4 < 32767)))){
_local4 = (_local4 + 0xFFFF);
} else {
if ((((_local4 > 32767)) && ((_local3 < 32767)))){
_local3 = (_local3 + 0xFFFF);
};
};
return ((((((_local3 + _local4) >> 1) & 0xFFFF) / 10430) as Number));
}
public function initLevel(){
moveTruckTo(rootInterface.levelData.startX);
rootInterface.lastCheckPointX = rootInterface.levelData.startX;
}
function print_a(_arg1=null, _arg2:String=""){
var _local4:*;
var _local3 = "";
for (_local4 in _arg1) {
_local3 = (_local3 + (((((_arg2 + "[") + _local4) + "] => ") + _arg1[_local4]) + "\n"));
_local3 = (_local3 + print_a(_arg1[_local4], (_arg2 + " ")));
};
return (_local3);
}
function linesIntersect2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number){
var _local10:Number;
var _local11:Number;
var _local19:Number;
var _local20:Number;
var _local9:* = Math.atan2((_arg4 - _arg2), (_arg3 - _arg1));
var _local12:Number = (_arg4 - _arg2);
var _local13:Number = (_arg1 - _arg3);
var _local14:Number = ((_local12 * _arg1) + (_local13 * _arg2));
var _local15:Number = (_arg8 - _arg6);
var _local16:Number = (_arg5 - _arg7);
var _local17:Number = ((_local15 * _arg5) + (_local16 * _arg6));
var _local18:Number = ((_local12 * _local16) - (_local15 * _local13));
if (_local18 == 0){
return (false);
};
_local19 = (((_local16 * _local14) - (_local13 * _local17)) / _local18);
_local20 = (((_local12 * _local17) - (_local15 * _local14)) / _local18);
_local11 = Math.sqrt((((_arg1 - _local19) * (_arg1 - _local19)) + ((_arg2 - _local20) * (_arg2 - _local20))));
_local10 = Math.sqrt((((_arg1 - _arg3) * (_arg1 - _arg3)) + ((_arg2 - _arg4) * (_arg2 - _arg4))));
if (_local11 > _local10){
return (false);
};
if (Math.sqrt((((_arg3 - _local19) * (_arg3 - _local19)) + ((_arg4 - _local20) * (_arg4 - _local20)))) > _local10){
return (false);
};
if (!(((((((Math.min(_arg5, _arg7) <= _local19)) && ((_local19 <= Math.max(_arg5, _arg7))))) && ((Math.min(_arg6, _arg8) <= _local20)))) && ((_local20 <= Math.max(_arg6, _arg8))))){
return (false);
};
return (_local11);
}
public function getVel(){
return ([points[0].vel.x, points[0].vel.y]);
}
public function groundSlam(){
slamming = true;
}
function checkGroundhit(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Boolean;
var _local20:*;
_local19 = false;
if (points[_arg1].grounded){
_local12 = 10000;
_local13 = 0;
_local11 = 0;
_local2 = Math.floor((Math.min((points[_arg1].posNext.x - 23), (points[_arg1].posNext.x + 23)) / 32));
while (_local2 <= Math.ceil((Math.max((points[_arg1].posNext.x - 23), (points[_arg1].posNext.x + 23)) / 32))) {
if (rootInterface.levelData.altGroundHeight[_arg1]){
_local9 = rootInterface.levelData.altGroundHeight[_arg1];
_local8 = _local9;
} else {
_local8 = rootInterface.levelData.GroundHeight[(_local2 - 1)];
if (isNaN(_local8)){
_local8 = 0;
};
_local9 = rootInterface.levelData.GroundHeight[_local2];
if (isNaN(_local9)){
_local9 = 0;
};
};
_local10 = (Math.atan2((_local9 - _local8), 32) + halfPI);
_local17 = (Math.cos(_local10) * points[_arg1].Radius);
_local18 = (Math.sin(_local10) * points[_arg1].Radius);
_local7 = linesIntersect(points[_arg1].posNext.x, points[_arg1].posNext.y, (points[_arg1].posNext.x + _local17), (points[_arg1].posNext.y + _local18), ((_local2 - 1) * 32), _local8, (_local2 * 32), _local9);
if (_local7){
if (_local7 < _local12){
_local13 = _local10;
points[_arg1].groundAngle = Math.atan2((_local9 - _local8), 32);
_local12 = _local7;
_local14 = _local2;
_local19 = true;
};
};
_local10 = Math.atan2((_local8 - points[_arg1].posNext.y), ((_local2 * 32) - points[_arg1].posNext.x));
_local17 = (Math.cos(_local10) * points[_arg1].Radius);
_local18 = (Math.sin(_local10) * points[_arg1].Radius);
_local7 = linesIntersect(points[_arg1].posNext.x, points[_arg1].posNext.y, (points[_arg1].posNext.x + _local17), (points[_arg1].posNext.y + _local18), ((_local2 - 1) * 32), _local8, (_local2 * 32), _local9);
if (_local7){
if (_local7 < _local12){
_local13 = _local10;
points[_arg1].groundAngle = Math.atan2((_local9 - _local8), 32);
_local12 = _local7;
_local14 = _local2;
_local19 = true;
};
};
_local2++;
};
if (_local19){
if (rootInterface.levelData.altGroundHeight[_arg1]){
altForce[_arg1] = points[_arg1].velNext.y;
};
_local5 = points[_arg1].posNext.x;
_local6 = points[_arg1].posNext.y;
points[_arg1].posNext.x = (points[_arg1].posNext.x - (Math.cos(_local13) * (points[_arg1].Radius - _local12)));
points[_arg1].posNext.y = (points[_arg1].posNext.y - (Math.sin(_local13) * (points[_arg1].Radius - _local12)));
points[_arg1].velCorrection.x = (_local5 - points[_arg1].posNext.x);
points[_arg1].velCorrection.y = (_local6 - points[_arg1].posNext.y);
points[_arg1].grounded = true;
} else {
points[_arg1].HitAt = 0;
points[_arg1].grounded = false;
};
} else {
_local12 = 900;
_local13 = 0;
_local11 = 0;
_local16 = Math.atan2((points[_arg1].posNext.y - points[_arg1].pos.y), (points[_arg1].posNext.x - points[_arg1].pos.x));
_local20 = -1;
while (_local20 <= (Math.PI + 1)) {
_local10 = ((_local20 - halfPI) + _local16);
_local17 = (Math.cos(_local10) * points[_arg1].Radius);
_local18 = (Math.sin(_local10) * points[_arg1].Radius);
_local2 = Math.floor((Math.min((points[_arg1].pos.x + _local17), (points[_arg1].posNext.x + _local17)) / 32));
while (_local2 <= Math.ceil((Math.max((points[_arg1].pos.x + _local17), (points[_arg1].posNext.x + _local17)) / 32))) {
if (rootInterface.levelData.altGroundHeight[_arg1]){
_local9 = rootInterface.levelData.altGroundHeight[_arg1];
_local8 = _local9;
} else {
_local8 = rootInterface.levelData.GroundHeight[(_local2 - 1)];
if (isNaN(_local8)){
_local8 = 0;
};
_local9 = rootInterface.levelData.GroundHeight[_local2];
if (isNaN(_local9)){
_local9 = 0;
};
};
_local7 = linesIntersect((points[_arg1].pos.x + _local17), (points[_arg1].pos.y + _local18), (points[_arg1].posNext.x + _local17), (points[_arg1].posNext.y + _local18), ((_local2 - 1) * 32), _local8, (_local2 * 32), _local9);
if (_local7){
if (_local7 < _local12){
_local13 = _local10;
points[_arg1].groundAngle = Math.atan2((_local9 - _local8), 32);
_local12 = _local7;
_local14 = _local2;
_local19 = true;
};
};
_local2++;
};
++_local11;
if (_local11 > 20){
break;
};
_local20 = (_local20 + (Math.PI / 6));
};
if (_local19){
if (points[_arg1].velNext.y > 10){
rootInterface.sfx.playSFX("BuggyLand", Math.min(100, ((points[_arg1].velNext.y - 10) * 20)), aX);
};
if (rootInterface.levelData.altGroundHeight[_arg1]){
altForce[_arg1] = points[_arg1].velNext.y;
};
_local5 = (points[_arg1].pos.x - points[_arg1].posNext.x);
_local6 = (points[_arg1].pos.y - points[_arg1].posNext.y);
points[_arg1].HitAt = (_local12 / Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
points[_arg1].grounded = true;
} else {
points[_arg1].HitAt = 0;
points[_arg1].grounded = false;
};
};
return (_local19);
}
public function hit(_arg1){
if (rootInterface.inv > 0){
return;
};
rootInterface.inv = 15;
rootInterface.hp = (rootInterface.hp - (_arg1 / (rootInterface.havePowerUp[0]) ? 2 : 1));
}
function linesIntersect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number){
var _local9:Number;
var _local10:Number;
var _local18:Number;
var _local19:Number;
var _local11:Number = (_arg4 - _arg2);
var _local12:Number = (_arg1 - _arg3);
var _local13:Number = ((_local11 * _arg1) + (_local12 * _arg2));
var _local14:Number = (_arg8 - _arg6);
var _local15:Number = (_arg5 - _arg7);
var _local16:Number = ((_local14 * _arg5) + (_local15 * _arg6));
var _local17:* = ((_local11 * _local15) - (_local14 * _local12));
if (_local17 == 0){
return (0);
};
_local18 = (((_local15 * _local13) - (_local12 * _local16)) / _local17);
_local19 = (((_local11 * _local16) - (_local14 * _local13)) / _local17);
_local10 = Math.sqrt((((_arg1 - _local18) * (_arg1 - _local18)) + ((_arg2 - _local19) * (_arg2 - _local19))));
_local9 = Math.sqrt((((_arg1 - _arg3) * (_arg1 - _arg3)) + ((_arg2 - _arg4) * (_arg2 - _arg4))));
if (_local10 > _local9){
return (false);
};
if (!(((((((Math.min(_arg5, _arg7) <= _local18)) && ((_local18 <= Math.max(_arg5, _arg7))))) && ((Math.min(_arg6, _arg8) <= _local19)))) && ((_local19 <= Math.max(_arg6, _arg8))))){
return (false);
};
return (_local10);
}
function update(_arg1=null):void{
var TempAngle:*;
var TempVel:*;
var braking:*;
var tileNum:*;
var e = _arg1;
if (rootInterface.gamePaused){
return;
};
if (RoofHitCounter){
RoofHitCounter--;
if (RoofHitCounter == 30){
rootInterface.lifeLost("You have rolled over", false);
};
};
var rightNow:* = new Date();
thisMS = rightNow.getTime();
boostCharge = (boostCharge + 0.05);
boostCharge = Math.min(boostCharge, 10);
ii = 0;
while (ii <= 2) {
points[ii].posNext.x = points[ii].pos.x;
points[ii].posNext.y = points[ii].pos.y;
points[ii].accNext.x = points[ii].acc.x;
points[ii].accNext.y = points[ii].acc.y;
points[ii].velNext.x = points[ii].vel.x;
points[ii].velNext.y = points[ii].vel.y;
points[ii].rotPosNext = points[ii].rotPos;
points[ii].rotAccNext = 0;
points[ii].rotVelNext = points[ii].rotVel;
points[ii].velCorrection.x = 0;
points[ii].velCorrection.y = 0;
ii++;
};
ii = 0;
while (ii <= 2) {
points[ii].accNext.x = 0;
points[ii].accNext.y = 0;
if (disabled){
rootInterface.lr = 0;
};
if ((((((ii == 1)) || ((ii == 2)))) && (points[ii].grounded))){
points[ii].accNext.x = ((Math.cos(points[ii].groundAngle) * rootInterface.lr) * (truckAccel + boostRelease));
points[ii].accNext.y = ((Math.sin(points[ii].groundAngle) * rootInterface.lr) * (truckAccel + boostRelease));
points[0].posNext.x = (points[0].posNext.x + ((Math.cos(points[ii].groundAngle) * rootInterface.lr) * (truckAccel + boostRelease)));
points[0].posNext.y = (points[0].posNext.y + ((Math.sin(points[ii].groundAngle) * rootInterface.lr) * (truckAccel + boostRelease)));
};
boostRelease = (boostRelease * 0.95);
boostRelease = Math.max(0, boostRelease);
points[ii].accNext.y = (points[ii].accNext.y + (rootInterface.gravity - (rootInterface.vBoost * rootInterface.gravity)));
if (slamming){
points[ii].velNext.y = (points[ii].velNext.y + ((50 - points[ii].velNext.y) / 4));
};
if (points[0].grounded){
points[ii].velNext.x = points[0].velNext.x;
points[ii].velNext.y = points[0].velNext.y;
};
points[ii].velNext.x = (points[ii].velNext.x + points[ii].accNext.x);
points[ii].velNext.y = (points[ii].velNext.y + points[ii].accNext.y);
if (points[ii].posNext.y > rootInterface.levelData.getGroundHeight2(points[ii].posNext.x)){
switch (rootInterface.levelData.GroundType[Math.floor((points[ii].posNext.x / 32))]){
case 2:
if (ii == 0){
points[ii].velNext.y = (points[ii].velNext.y - rootInterface.gravity);
};
points[ii].velNext.x = (points[ii].velNext.x * 0.9);
points[ii].velNext.y = (points[ii].velNext.y * 0.9);
inWaterLast = false;
rootInterface.lastStuntX = (rootInterface.startBonusX = (points[0].pos.x + 50));
break;
case 3:
if (!inWaterLast){
k = 0;
while (k < 7) {
k++;
};
};
inWaterLast = true;
rootInterface.lastStuntX = (rootInterface.startBonusX = (points[0].pos.x + 50));
if (ii == 0){
points[ii].velNext.y = (points[ii].velNext.y - (rootInterface.gravity * 0.9));
} else {
points[ii].velNext.y = (points[ii].velNext.y - (rootInterface.gravity * 0.8));
};
break;
default:
inWaterLast = false;
break;
};
};
points[ii].velNext.x = (points[ii].velNext.x * DirectionalDrag);
points[ii].velNext.y = (points[ii].velNext.y * DirectionalDrag);
if (points[ii].grounded){
TempAngle = (Math.atan2(points[ii].velNext.y, points[ii].velNext.x) - halfPI);
TempVel = ((Math.sin((points[ii].groundAngle - TempAngle)) * Math.sqrt(((points[ii].velNext.x * points[ii].velNext.x) + (points[ii].velNext.y * points[ii].velNext.y)))) / points[ii].Friction);
if (TempVel > ((Math.random() * 50) + 3)){
rootInterface.efx.createEfx(1, (points[ii].posNext.x + (Math.cos((points[ii].groundAngle + halfPI)) * points[ii].Radius)), (points[ii].posNext.y + (Math.sin((points[ii].groundAngle + halfPI)) * points[ii].Radius)), 0, 0);
};
braking = (((!(((points[ii].velNext.x > 0) == (rootInterface.lr > 0)))) && (!((rootInterface.lr == 0))))) ? 0.5 : 1;
points[ii].velNext.x = ((Math.cos(points[ii].groundAngle) * TempVel) * braking);
points[ii].velNext.y = (((Math.sin(points[ii].groundAngle) * TempVel) * braking) - (rootInterface.vBoost * 20));
} else {
points[ii].velNext.x = (points[ii].velNext.x + ((Math.cos(points[0].rotPos) * 0.3) * rootInterface.lr));
points[ii].velNext.y = (points[ii].velNext.y + ((Math.sin(points[0].rotPos) * 0.3) * rootInterface.lr));
};
ii++;
};
xd1 = ((points[1].posNext.x + points[1].velNext.x) - (points[0].posNext.x + points[0].velNext.x));
yd1 = ((points[1].posNext.y + points[1].velNext.y) - (points[0].posNext.y + points[0].velNext.y));
xd2 = ((points[2].posNext.x + points[2].velNext.x) - (points[0].posNext.x + points[0].velNext.x));
yd2 = ((points[2].posNext.y + points[2].velNext.y) - (points[0].posNext.y + points[0].velNext.y));
points[0].rotAccNext = (getRotDist(avgAngle(((Math.atan2(yd1, xd1) - Math.PI) - points[1].rotPosNext), (Math.atan2(yd2, xd2) - points[2].rotPosNext)), points[0].rotPosNext) / rotationalDamp);
points[0].rotPosNext = angleNearZero(points[0].rotPosNext);
if (slamming){
points[0].rotVelNext = (points[0].rotVelNext + (points[0].rotAccNext - (points[0].rotPosNext / 10)));
} else {
points[0].rotVelNext = (points[0].rotVelNext + (points[0].rotAccNext - (((points[0].grounded) || (!(rootInterface.keyIsDown[6])))) ? (points[0].rotPosNext / 150) : (points[0].rotPosNext / 20)));
};
if (((((!(points[1].grounded)) && (!(points[2].grounded)))) && (!(disabled)))){
points[0].rotVelNext = (points[0].rotVelNext + (rootInterface.control_rot * 1.5));
};
points[0].rotPosNext = (points[0].rotPosNext + points[0].rotVelNext);
rotForBonus = (rotForBonus + points[0].rotVelNext);
points[0].rotPosNext = (points[0].rotPosNext % doublePI);
points[0].rotVelNext = (points[0].rotVelNext * rotationalDrag);
ii = 1;
while (ii <= 2) {
this.xd = ((points[0].posNext.x + points[0].velNext.x) + (Math.cos((points[0].rotPosNext - points[ii].targRot)) * tireSpacing));
this.yd = ((points[0].posNext.y + points[0].velNext.y) + (Math.sin((points[0].rotPosNext - points[ii].targRot)) * tireSpacing));
points[ii].accNext.x = ((this.xd - (points[ii].posNext.x + points[ii].velNext.x)) / springStiff);
points[ii].accNext.y = ((this.yd - (points[ii].posNext.y + points[ii].velNext.y)) / springStiff);
ii++;
};
xd = ((((points[1].posNext.x + points[1].velNext.x) - (Math.cos((points[0].rotPosNext - points[1].targRot)) * tireSpacing)) + ((points[2].posNext.x + points[2].velNext.x) - (Math.cos((points[0].rotPosNext - points[2].targRot)) * tireSpacing))) / 2);
yd = ((((points[1].posNext.y + points[1].velNext.y) - (Math.sin((points[0].rotPosNext - points[1].targRot)) * tireSpacing)) + ((points[2].posNext.y + points[2].velNext.y) - (Math.sin((points[0].rotPosNext - points[2].targRot)) * tireSpacing))) / 2);
points[0].accNext.x = ((xd - (points[0].posNext.x + points[0].velNext.x)) / springStiff);
points[0].accNext.y = ((yd - (points[0].posNext.y + points[0].velNext.y)) / springStiff);
var i:* = 1;
while (i <= 2) {
if (points[i].grounded){
tileNum = Math.floor((points[i].posNext.x / 32));
switch (rootInterface.levelData.GroundType[tileNum]){
case 0:
break;
case 1:
if (points[i].velNext.x > (Math.random() * 15)){
rootInterface.efx.createEfx(1, (x + ((Math.random() * 20) - 20)), (y + ((Math.random() * 8) - 6)), ((points[0].velNext.x / 2) + ((Math.random() * 4) - 2)), ((-(points[0].velNext.y) / 2) + ((Math.random() * 4) - 2)));
};
points[i].velNext.y = (points[i].velNext.y * 0.98);
points[i].velNext.x = (points[i].velNext.x * 0.98);
break;
case 2:
break;
case 3:
break;
case 4:
rootInterface.levelData.bridgeVel[(tileNum - rootInterface.levelData.bridgeStart)] = (rootInterface.levelData.bridgeVel[(tileNum - rootInterface.levelData.bridgeStart)] + (points[i].accNext.y * 3));
break;
};
};
i = (i + 1);
};
ii = 0;
while (ii <= 2) {
if (ii > 0){
points[ii].posNext.x = (points[ii].posNext.x + (points[ii].velNext.x + (points[ii].accNext.x * truck2wheelMassRatio)));
points[ii].posNext.y = (points[ii].posNext.y + (points[ii].velNext.y + (points[ii].accNext.y * truck2wheelMassRatio)));
} else {
points[ii].posNext.x = (points[ii].posNext.x + (points[ii].velNext.x + (points[ii].accNext.x * (1 / truck2wheelMassRatio))));
points[ii].posNext.y = (points[ii].posNext.y + (points[ii].velNext.y + (points[ii].accNext.y * (1 / truck2wheelMassRatio))));
};
ii++;
};
ii = 1;
while (ii <= 2) {
this.xd = (points[ii].posNext.x - points[0].posNext.x);
this.yd = (points[ii].posNext.y - points[0].posNext.y);
this.dist = Math.sqrt(((this.yd * this.yd) + (this.xd * this.xd)));
if (this.dist > tireSpacing){
points[ii].posNext.x = (points[0].posNext.x + (Math.cos(Math.atan2(this.yd, this.xd)) * tireSpacing));
points[ii].posNext.y = (points[0].posNext.y + (Math.sin(Math.atan2(this.yd, this.xd)) * tireSpacing));
};
if (this.dist < 5){
points[ii].posNext.x = (points[0].posNext.x + (Math.cos(Math.atan2(this.yd, this.xd)) * 5));
points[ii].posNext.y = (points[0].posNext.y + (Math.sin(Math.atan2(this.yd, this.xd)) * 5));
};
ii++;
};
i = 1;
while (i <= 2) {
checkGroundhit(i);
i = (i + 1);
};
upsideDown = (((RoofHitCounter > 0)) || ((Math.abs(angleNearZero((points[0].rotPos - points[1].groundAngle))) > 1.9)));
if (((!(upsideDown)) && ((RoofHitCounter < 70)))){
RoofHitCounter = 0;
};
if (((((((((!(points[1].grounded)) || (!(points[2].grounded)))) || (upsideDown))) || ((RoofHitCounter > 0)))) && ((rootInterface.curAltForceObj == 0)))){
checkRoofhit();
} else {
points[0].grounded = false;
};
if (((((points[0].grounded) && (upsideDown))) || ((RoofHitCounter > 0)))){
ii = 1;
while (ii <= 2) {
this.xd = (points[ii].posNext.x - points[0].posNext.x);
this.yd = (points[ii].posNext.y - points[0].posNext.y);
points[ii].posNext.x = (points[0].posNext.x + (Math.cos(Math.atan2(this.yd, this.xd)) * tireSpacing));
points[ii].posNext.y = (points[0].posNext.y + (Math.sin(Math.atan2(this.yd, this.xd)) * tireSpacing));
ii++;
};
start_rot = rotForBonus;
startBonusTime = thisMS;
startBonusX = points[0].posNext.x;
maxBonusY = 10000;
};
ii = 1;
while (ii <= 2) {
f = ((points[ii].posNext.x / 32) - Math.floor((points[ii].posNext.x / 32)));
if (rootInterface.levelData.altGroundHeight[ii]){
yd = rootInterface.levelData.altGroundHeight[ii];
} else {
yd = ((rootInterface.levelData.GroundHeight[Math.floor((points[ii].posNext.x / 32))] * (1 - f)) + (rootInterface.levelData.GroundHeight[(Math.floor((points[ii].posNext.x / 32)) + 1)] * f));
};
if (points[ii].posNext.y > yd){
points[ii].posNext.y = (yd - 1);
};
ii++;
};
checkForBonus();
ii = 0;
while (ii <= 2) {
points[ii].velNext.x = ((points[ii].posNext.x - points[ii].pos.x) + points[ii].velCorrection.x);
points[ii].velNext.y = ((points[ii].posNext.y - points[ii].pos.y) + points[ii].velCorrection.y);
TempAngle = (Math.atan2(points[ii].velNext.y, points[ii].velNext.x) - halfPI);
TempVel = (Math.sin((points[ii].groundAngle - TempAngle)) * Math.sqrt(((points[ii].velNext.x * points[ii].velNext.x) + (points[ii].velNext.y * points[ii].velNext.y))));
points[ii].tireRot = ((TempVel / (Math.PI * 22)) * 180);
ii++;
};
i = 0;
while (i <= 2) {
points[i].vel.x = points[i].velNext.x;
points[i].vel.y = points[i].velNext.y;
points[i].pos.x = points[i].posNext.x;
points[i].pos.y = points[i].posNext.y;
points[i].acc.x = points[i].accNext.x;
points[i].acc.y = points[i].accNext.y;
points[i].rotPos = points[i].rotPosNext;
points[i].rotAcc = 0;
points[i].rotVel = points[i].rotVelNext;
i = (i + 1);
};
if (points[0].pos.x < rootInterface.levelData.startX){
i = 0;
while (i <= 2) {
var _local3 = points[i];
with (_local3) {
vel.x = 0;
pos.x++;
};
i = (i + 1);
};
};
aX = points[0].pos.x;
aY = points[0].pos.y;
vX = points[0].vel.x;
vY = points[0].vel.y;
scrollOffX = -(points[0].vel.x);
scrollOffY = -(points[0].vel.y);
var xv:* = (points[1].pos.x - points[2].pos.x);
var yv:* = (points[1].pos.y - points[2].pos.y);
cur_truck_rot = Math.atan2(yv, xv);
truck_body.rotation = ((cur_truck_rot * 57.2957795) + 180);
truck_body.visible = ((rootInterface.inv % 2) == 0);
shocks.graphics.clear();
i = 1;
while (i <= 2) {
shocks.graphics.lineStyle(4, 0x333333, 100);
shocks.graphics.moveTo(0, 0);
shocks.graphics.lineTo((points[i].pos.x - points[0].pos.x), (points[i].pos.y - points[0].pos.y));
i = (i + 1);
};
gun1.x = (Math.cos((cur_truck_rot + 1.5707963)) * 72);
gun1.y = (Math.sin((cur_truck_rot + 1.5707963)) * 72);
gunX = (aX + gun1.x);
gunY = (aY + gun1.y);
gun1.rotation = (Math.atan2((gunY - rootInterface.mouseMapY), (gunX - rootInterface.mouseMapX)) * 57.2957795);
tire1.x = (points[1].pos.x - points[0].pos.x);
tire1.y = (points[1].pos.y - points[0].pos.y);
tire2.x = (points[2].pos.x - points[0].pos.x);
tire2.y = (points[2].pos.y - points[0].pos.y);
var thisRot:Number = Math.max(points[1].tireRot, points[2].tireRot);
tire1.rotation = (tire2.rotation = (tire2.rotation + thisRot));
tire1.gotoAndStop((Math.floor(Math.abs((thisRot / 11.25))) + 1));
tire2.gotoAndStop((Math.floor(Math.abs((thisRot / 11.25))) + 1));
rootInterface.truckFromGround = (rootInterface.levelData.getGroundHeight(points[0].pos.x) - points[0].pos.y);
if (truck_grounded){
if (((slamming) && ((points[0].velNext.y > 20)))){
rootInterface.theObjects.stageObject(12, points[0].posNext.x, points[0].posNext.y, points[0].velNext.y);
};
slamming = false;
curEngineSpeed = Math.abs(Math.sqrt(((points[0].velNext.x * points[0].velNext.x) + (points[0].velNext.y * points[0].velNext.y))));
} else {
curEngineSpeed = (curEngineSpeed + ((0 - curEngineSpeed) / 50));
};
rootInterface.engineSfx.setEngine(curEngineSpeed);
}
function getRotDist(_arg1:Number, _arg2:Number){
var _local3 = ((_arg1 * 10430) & 0xFFFF);
var _local4 = ((_arg2 * 10430) & 0xFFFF);
var _local5:int = (_local3 - _local4);
var _local6:int = (((_local3 - _local4) ^ (_local5 >> 31)) - (_local5 >> 31));
var _local7:int = (_local3 - (_local4 + 65536));
var _local8:int = (((_local3 - (_local4 + 65536)) ^ (_local7 >> 31)) - (_local7 >> 31));
var _local9:int = ((_local3 + 65536) - _local4);
var _local10:int = ((((_local3 + 65536) - _local4) ^ (_local9 >> 31)) - (_local9 >> 31));
if ((((_local6 < _local8)) && ((_local6 < _local10)))){
return (((_local5 / 10430) as Number));
};
if (_local8 < _local10){
return (((_local7 / 10430) as Number));
};
return (((_local9 / 10430) as Number));
}
public function explode(_arg1:Boolean=false){
if (_arg1){
rootInterface.efx.createEfx(10, aX, aY);
truck_body.gotoAndStop(3);
} else {
truck_body.gotoAndStop(2);
};
}
function angleNearZero(_arg1:Number){
_arg1 = (_arg1 % doublePI);
if (_arg1 > Math.PI){
_arg1 = (_arg1 - doublePI);
};
return (_arg1);
}
function stopEngine(){
engineSpeed = 0;
engineLoad = 0;
}
function checkForBonus(){
truck_grounded = ((points[1].grounded) || (points[2].grounded));
if (((last_truck_grounded) && (!(truck_grounded)))){
start_rot = rotForBonus;
startBonusTime = thisMS;
startBonusX = points[0].posNext.x;
maxBonusY = 10000;
};
if (((!(truck_grounded)) && (!(last_truck_grounded)))){
if (points[0].posNext.y < maxBonusY){
maxBonusY = points[0].posNext.y;
};
};
bonus = 0;
if (((((!(last_truck_grounded)) && (truck_grounded))) && ((points[0].posNext.x > lastStuntX)))){
if ((points[0].posNext.x - startBonusX) > 1600){
rootInterface.giveBonus("Extreme Distance", (500 + Math.round((((points[0].posNext.x - startBonusX) - 1600) / 3))));
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
};
if ((points[0].posNext.y - maxBonusY) > 800){
rootInterface.giveBonus("Extreme Air", (500 + Math.round(((points[0].posNext.y - maxBonusY) - 800))));
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
};
if ((startBonusTime - thisMS) > 5000){
rootInterface.giveBonus("Mega Hang Time", (500 + Math.round((((startBonusTime - thisMS) - 5000) / 25))));
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
};
if ((start_rot - rotForBonus) < -15.7){
rootInterface.giveBonus("Mega Front Flip", 4500);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
} else {
if ((start_rot - rotForBonus) > 15.7){
rootInterface.giveBonus("Mega Back Flip", 4500);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
} else {
if ((start_rot - rotForBonus) < -9.4){
rootInterface.giveBonus("2x Front Flip", 2500);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
} else {
if ((start_rot - rotForBonus) > 9.4){
rootInterface.giveBonus("2x Back Flip", 2500);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
} else {
if ((start_rot - rotForBonus) < -3.1){
rootInterface.giveBonus("Front Flip", 1000);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
} else {
if ((start_rot - rotForBonus) > 3){
rootInterface.giveBonus("Back Flip", 1000);
bonus = 1;
lastStuntX = (points[0].posNext.x + 50);
};
};
};
};
};
};
if (((((points[1].grounded) && (points[2].grounded))) && (bonus))){
rootInterface.giveBonus("Perfect Landing", 1500);
};
};
}
}
}//package com.bte.objects
Section 33
//onePoint (com.bte.objects.onePoint)
package com.bte.objects {
class onePoint {
var acc:Object;
var HitAt:Number;// = 0
var thisNum:int;// = 0
var yd:Number;// = 0
var rotPosNext:Number;// = 0
var groundAngle:Number;// = 0
var accNext:Object;
var targRot:Number;// = 0
var connectionRot:Array;
var Friction:Number;// = 1
var vel:Object;
var dist:Number;// = 0
var aDist:Number;// = 0
var rotAcc:Number;// = 0
var velNext:Object;
var groundSurface:Object;
var rotNotAbsorbed:Number;// = 0
var rotAccNext:Number;// = 0
var Radius:Number;// = 0
var rotVel:Number;// = 0
var connectionNum:Number;// = 0
var tireRot:Number;// = 0
var angle:Number;// = 0
var connections:Array;
var rotVelNext:Number;// = 0
var velCorrection:Object;
var connectionRef:Array;
var tempRot:Number;// = 0
var grounded:Number;// = 0
var pos:Object;
var posNext:Object;
var surfaceBounciness:Number;// = 0.8
var xd:Number;// = 0
var mass:Number;// = 1
var rotPos:Number;// = 0
function onePoint(){
pos = {x:0, y:0};
acc = {x:0, y:0};
vel = {x:0, y:0};
posNext = {x:0, y:0};
accNext = {x:0, y:0};
velNext = {x:0, y:0};
velCorrection = {x:0, y:0};
groundSurface = {x:0, y:0};
super();
}
}
}//package com.bte.objects
Section 34
//bteBackground (com.bte.bteBackground)
package com.bte {
import flash.events.*;
import flash.display.*;
public class bteBackground extends MovieClip {
private var yMeowChecker:int;// = 0
var tileRows:int;
var tileRowsSize:int;
private var editMode:Boolean;
private var theStage:Stage;
private var levelData:bteLevelData;
var firstSpecialTile:int;
private var yMeow:Number;
private var rootInterface:GameEngine;
private var colors:Array;
public static var surface:Array = [];
public function bteBackground(_arg1:Stage, _arg2:bteLevelData, _arg3:GameEngine, _arg4:Boolean=false){
var _local5:int;
super();
colors = new Array(4);
_local5 = 0;
while (_local5 < 8) {
colors[_local5] = (((Math.floor((57 * (1 + ((1 + _local5) / 30)))) << 16) + (Math.floor((57 * (1 + ((1 + _local5) / 30)))) << 8)) + Math.floor((64 * (1 + ((1 + _local5) / 30)))));
trace(colors[_local5]);
_local5++;
};
editMode = _arg4;
theStage = _arg1;
levelData = _arg2;
rootInterface = _arg3;
tileRows = (Math.floor((theStage.stageWidth / (editMode) ? 5.33333333 : 12)) + 4);
tileRowsSize = ((Math.floor((theStage.stageWidth / (editMode) ? 5.33333333 : 12)) + 3) * 32);
_local5 = 0;
while (_local5 < tileRows) {
surface[_local5] = new surfaceTilesCont();
surface[_local5].cacheAsBitmap = true;
surface[_local5].bgDraw.cacheAsBitmap = true;
surface[_local5].xoff = (_local5 * 32);
surface[_local5].tileUpdated = true;
this.addChild(surface[_local5]);
_local5++;
};
}
public function update(_arg1:int, _arg2:int, _arg3:Number):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local15:MovieClip;
var _local16:int;
var _local17:Number;
var _local18:Number;
var _local13 = 999999999;
var _local14:Boolean;
_local8 = 0;
while (_local8 < tileRows) {
if ((surface[_local8].xoff - _arg1) < -64){
surface[_local8].xoff = (surface[_local8].xoff + tileRowsSize);
surface[_local8].tileUpdated = true;
};
if ((surface[_local8].xoff - _arg1) >= (tileRowsSize - 64)){
surface[_local8].xoff = (surface[_local8].xoff - tileRowsSize);
surface[_local8].tileUpdated = true;
};
_local12 = Math.floor((surface[_local8].xoff >> 5));
_local4 = _local11;
_local11 = levelData.getGroundHeight(surface[_local8].xoff);
yMeow = (Math.max((theStage.stageHeight * _arg3), ((_arg2 + (theStage.stageHeight * _arg3)) - _local11)) + 20);
if (yMeow > (surface[_local8].yMeow + 20)){
surface[_local8].tileUpdated = true;
};
if (surface[_local8].tileUpdated){
surface[_local8].yMeow = yMeow;
surface[_local8].tileUpdated = false;
_local10 = ((_local8 << 32) - (_arg1 & 31));
_local5 = (levelData.getGroundHeight((surface[_local8].xoff + 32)) - _local11);
_local9 = Math.floor((surface[_local8].xoff >> 5));
if (rootInterface.graphicsOptSet[3]){
surface[_local8].tiles.visible = true;
surface[_local8].tiles.rotation = (Math.atan2(_local5, 32) * 57.2957795);
surface[_local8].tiles.gotoAndStop(levelData.SurfaceTile[(_local9 - 1)]);
} else {
surface[_local8].tiles.visible = false;
};
_local15 = surface[_local8].bgDraw;
_local15.graphics.clear();
_local15.graphics.beginFill(3816003);
_local15.graphics.moveTo(0, 0);
_local15.graphics.lineTo(32, _local5);
_local15.graphics.lineTo(40, (_local5 + 4));
_local15.graphics.lineTo(40, yMeow);
_local15.graphics.lineTo(-1, yMeow);
_local15.graphics.endFill();
if (((rootInterface.graphicsOptSet[4]) && ((_local12 > 0)))){
_local16 = 0;
_local17 = 1.5;
while (_local17 <= 3) {
_local15.graphics.beginFill(colors[_local16]);
_local15.graphics.moveTo(0, Math.min(yMeow, Math.pow(levelData.GroundDeviation[(_local12 - 1)], _local17)));
_local18 = Math.min(yMeow, (_local5 + Math.pow(levelData.GroundDeviation[_local12], _local17)));
_local15.graphics.lineTo(32, _local18);
_local15.graphics.lineTo(40, (_local18 + 4));
_local15.graphics.lineTo(40, yMeow);
_local15.graphics.lineTo(-1, yMeow);
_local15.graphics.endFill();
_local16++;
_local17 = (_local17 + 0.25);
};
};
};
surface[_local8].y = (_local11 - _arg2);
surface[_local8].x = (surface[_local8].xoff - _arg1);
scaleX = (scaleY = (1 / _arg3));
_local8++;
};
}
}
}//package com.bte
Section 35
//bteEffects (com.bte.bteEffects)
package com.bte {
import flash.events.*;
import flash.display.*;
import com.bte.efx.*;
public class bteEffects extends MovieClip {
private var curEfx:int;
private var rootInterface:GameEngine;
public function bteEffects(_arg1:GameEngine){
rootInterface = _arg1;
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function remove(_arg1:MovieClip){
removeChild(_arg1);
_arg1 = null;
}
function update(_arg1=null):void{
scaleX = (scaleY = (1 / rootInterface.zoom));
}
public function createEfx(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0, _arg6=null){
var _local7:MovieClip;
if (!rootInterface.graphicsOptSet[2]){
return;
};
switch (_arg1){
case 1:
_local7 = new bteEfxDust(rootInterface, _arg2, _arg3);
this.addChild(_local7);
break;
case 10:
_local7 = new bteEfxExplosion(rootInterface, _arg2, _arg3);
this.addChild(_local7);
break;
case 11:
_local7 = new bteEfxLittleExplosion(rootInterface, _arg2, _arg3, _arg6);
this.addChild(_local7);
break;
case 12:
_local7 = new bteEfxTinyExplosion(rootInterface, _arg2, _arg3);
this.addChild(_local7);
break;
case 13:
_local7 = new bteEfxSpark(rootInterface, _arg2, _arg3, _arg4, _arg5, _arg6);
this.addChild(_local7);
break;
case 14:
_local7 = new bteEfxRock(rootInterface, _arg2, _arg3, _arg4, _arg5);
this.addChild(_local7);
break;
case 15:
_local7 = new bteEfxAccuracyStreak(rootInterface, _arg2, _arg3, _arg4, _arg5, _arg6);
this.addChild(_local7);
break;
};
}
}
}//package com.bte
Section 36
//bteEngineSoundFX (com.bte.bteEngineSoundFX)
package com.bte {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.utils.*;
public class bteEngineSoundFX extends MovieClip {
private var targSpeed:Number;
var startInterval:Number;// = 36.36363636
var currentChannel:int;// = 0
var playPos:Number;// = 0
var sc:Array;
var soundLength:Number;// = 60000
var enCNT:Number;// = 0
var st:SoundTransform;
var engineTimer:Timer;
private var engineRunning:Boolean;
private var curSpeed:Number;
var engineUpdateTimer:Timer;
var engineSound:Sound;
private var curVol:Number;
var fadeVolume:Number;// = 0
var intervalRange:Number;// = 4
private var rootInterface:GameEngine;
var freq:Number;// = 0
public function bteEngineSoundFX(_arg1:GameEngine){
st = new SoundTransform();
sc = new Array(2);
engineSound = new sfxBuggyEngine();
engineTimer = new Timer(10);
engineUpdateTimer = new Timer(50);
super();
var _local2:* = 0;
while (_local2 < 2) {
sc[_local2] = new SoundChannel();
_local2++;
};
rootInterface = _arg1;
targSpeed = (curSpeed = 0);
curVol = 0;
engineRunning = false;
engineTimer.addEventListener("timer", engineCheck);
engineTimer.start();
engineUpdateTimer.addEventListener("timer", update);
engineUpdateTimer.start();
}
public function setEngine(_arg1:Number=1, _arg2:Number=100){
targSpeed = _arg1;
curVol = _arg2;
engineRunning = !((_arg1 == 0));
}
public function update(_arg1:Event){
curSpeed = (curSpeed + ((targSpeed - curSpeed) / 2));
playPos = Math.min(60000, (curSpeed * 1000));
freq = (1000 / (3.4375 * Math.pow(2, ((playPos / soundLength) * intervalRange))));
}
public function engineCheck(_arg1:Event){
if (fadeVolume <= 1){
fadeVolume = (fadeVolume + 0.1);
st.volume = fadeVolume;
sc[currentChannel].soundTransform = st;
st.volume = (1 - fadeVolume);
sc[(currentChannel ^ 1)].soundTransform = st;
};
enCNT = (enCNT + 10);
if (enCNT < freq){
return;
};
enCNT = 0;
currentChannel = (currentChannel ^ 1);
sc[currentChannel].stop();
if (((rootInterface.gameRunning) && (!(rootInterface.gamePaused)))){
sc[currentChannel] = engineSound.play(Math.min(59000, playPos));
};
st.volume = 0;
sc[currentChannel].soundTransform = st;
fadeVolume = 0;
}
}
}//package com.bte
Section 37
//bteGlobalSettings (com.bte.bteGlobalSettings)
package com.bte {
public class bteGlobalSettings {
public var graphicsOptSet:Array;
public function bteGlobalSettings(){
graphicsOptSet = [1, 1, 1, 1, 1, 1, 1];
super();
}
}
}//package com.bte
Section 38
//bteLevelData (com.bte.bteLevelData)
package com.bte {
import flash.events.*;
public class bteLevelData {
public var GroundType:Array;
public var altForce:Array;
public var GroundHeight2:Array;
public var startX:Number;
public var truckLevels:Array;
public var SurfaceRot:Array;
public var SurfaceLayer:Array;
public var bridgeStart:Number;
public var GroundDeviation:Array;
public var SurfaceTile:Array;
public var lvlWidth:int;
public var altGroundHeight:Array;
public var bridgeVel:Array;
public var randomGrass:Array;
public var curAltForceObj;// = 0
public var startY:Number;
private var theObjects:bteObjects;
public var GroundHeight:Array;
public function bteLevelData(_arg1:bteObjects){
GroundHeight2 = new Array();
GroundHeight = new Array();
altGroundHeight = new Array();
altForce = new Array();
GroundType = new Array();
SurfaceTile = new Array();
SurfaceRot = new Array();
SurfaceLayer = new Array();
randomGrass = new Array();
bridgeVel = new Array(120);
super();
theObjects = _arg1;
truckLevels = new Array();
truckLevels.push({lvlWidth:6500, GroundHeight:"02@03f04]05a07:08X0:;0;a0=F0>f0@@0AE0BI0CG0DT0F00GD0HL0IN0JH0K;0Kf0LJ0Lf0M;0MJ0MS0MU0MQ0MG0M70Lc0LI0Kj0KH0Jc0J90IN0Ha0H40G]0G^0G_0G_0G`0G`0Ga0Gb0Gb0Gc0Gc0Gd0Gd0Ge0Gf0Gf0Gg0Gg0Gh0Gh0Gh0Gi0Gi0Gj0Gj0Gk0Gk0Gl0Gm0Gn0H00H20H50H90H>0HD0HJ0HP0HV0H[0H]0H^0H\\0HX0HQ0HH0H>0H20Gg0G\\0GR0GI0GB0G<0G70G30G00Fn0Fl0Fk0Fj0Fi0Fi0Fi0Fi0Fi0Fi0Fj0Fk0Fl0Fn0Fo0G10G30G40G70G90G;0G>0GA0GC0GF0GI0GL0GO0GQ0GT0GV0GX0GZ0G\\0G]0G^0G_0G`0G`0Ga0Gb0Gc0Ge0Gg0Gj0Gn0H30H80H>0HD0HI0HN0HR0HT0HU0HT0HR0HN0HJ0HD0H?0H:0H50H10Go0Gm0Gm0Gm0Gn0Go0H10H30H50H70H:0H<0H>0H@0HB0HC0HE0HG0HH0HI0HK0HL0HL0HM0HN0HN0HN0HN0HN0HM0HM0HL0HK0HJ0HH0HG0HE0HD0HB0H@0H>0H<0H:0H90H70H60H60H70H90H<0H@0HE0HK0HP0HU0HX0HZ0HZ0HW0HR0HM0HF0H@0H:0H50H20H00Gn0Gm0Gm0Gm0Gm0Gm0Gn0Gn0Gn0Gn0Gn0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0Go0H00H20H50H90H?0HG0HO0HV0H\\0H_0Ha0H_0H[0HU0HL0HC0H:0H20Gm0Gh0Ge0Ga0G\\0GW0GR0GL0GG0GB0G=0G80G30Fn0Fi0Fe0Fa0F]0FY0FU0FR0FN0FK0FI0FF0FD0FB0F@0F?0F>0F=0F=0F<0F=0F>0F?0FA0FC0FF0FH0FK0FO0FR0FV0FZ0F_0Fd0Fj0G00G80GA0GL0GY0Ge0H20H>0HI0HT0H^0Hg0Ho0I50I;0I@0IF0II0IL0IN0IO0IO0IO0IN0IL0II0IF0IB0I>0I90I40Hn0Hi0Hd0H`0H]0H[0HZ0HZ0HZ0HZ0HZ0H[0H[0H\\0H\\0H\\0H\\0H\\0H\\0H\\0H\\0H\\0H]0H_0Hb0Hg0Ho0I:0II0IY0Ii0J80JD0JK0JL0JH0J?0J20Ib0IP0I@0I20Hh0Hb0H_0H^0H_0Ha0Hc0He0Hg0Hj0Hl0Hn0I00I10I30I40I50I60I70I80I80I80I80I80I70I60I50I40I20I10Ho0Hm0Hj0Hh0He0Hb0H_0H\\0HX0HU0HQ0HM0HI0HE0HA0H<0H80H30Go0Gj0Gf0Gb0G^0G[0GX0GV0GT0GR0GQ0GP0GO0GN0GM0GL0GK0GJ0GJ0GI0GG0GF0GE0GC0GA0G?0G=0G;0G90G70G50G30G10Fo0Fm0Fk0Fi0Fg0Fe0Fc0Fa0F_0F]0F[0FY0FW0FV0FT0FR0FP0FN0FM0FK0FI0FH0FF0FE0FD0FC0FC0FD0FF0FJ0FP0FW0F_0Fi0G30G=0GG0GQ0GY0Ga0Gh0Gn0H30H70H90H:0H:0H90H60H30Gn0Gg0G`0GX0GO0GE0G:0Fn0Fc0FW0FL0FB0F:0F30En0Ek0Ei0Eh0Eh0Eh0Ei0Ei0Ej0El0Em0En0F00F10F30F40F60F80F:0F;0F=0F?0FA0FC0FE0FG0FI0FK0FM0FO0FQ0FS0FV0FX0FZ0F\\0F_0Fa0Fc0Ff0Fh0Fj0Fm0Fo0G20G40G60G90G;0G>0G@0GC0GE0GH0GJ0GM0GO0GR0GT0GV0GY0G[0G^0G`0Gc0Ge0Gh0Gj0Gl0Go0H10H50H50H50H50H50H50H50H50H40H10Gn0Gk0Gh0Gf0Gc0G`0G]0GZ0GW0GT0GR0GO0GL0GI0GF0GC0G@0G>0G;0G80G50G20Fo0Fm0Fj0Fg0Fd0Fb0F_0F\\0FY0FW0FT0FR0FO0FL0FJ0FG0FE0FC0F@0F>0F<0F:0F90F80F80F90F<0F@0FF0FN0FW0Fb0Fm0G80GB0GM0GV0G_0Gg0Gm0H30H80H;0H=0H>0H=0H<0H90H50Go0Gi0Gb0GZ0GQ0GH0G>0G40Fj0Fa0FY0FS0FN0FJ0FH0FH0FH0FI0FJ0FL0FM0FO0FQ0FS0FU0FW0FZ0F\\0F^0F`0Fb0Fd0Fg0Fi0Fk0Fm0G00G20G40G70G90G<0G>0GA0GC0GF0GI0GL0GO0GR0GU0GW0GZ0G]0G`0Gc0Gf0Gi0Gl0Go0H10H40H60H80H:0H<0H=0H>0H?0H?0H?0H>0H>0H=0H<0H:0H80H60H40H10Gn0Gl0Gi0Gf0Gc0Ga0G_0G^0G^0G^0G`0Gb0Gd0Gf0Gh0Gi0Gh0Gf0Gb0G\\0GU0GM0GD0G;0G20Fj0Fb0F\\0FV0FQ0FL0FH0FE0FA0F>0F;0F80F50F20F00Em0Ek0Ei0Eg0Ef0Ef0Ef0Eg0Ei0Em0F10F60F=0FD0FK0FS0FZ0Fa0Fh0Fo0G40G90G=0GA0GC0GE0GE0GE0GC0GA0G>0G90G40Fo0Fh0Fb0FZ0FS0FK0FC0F;0F50Eo0Ek0Eg0Ee0Ed0Ed0Ed0Ed0Ee0Ef0Eh0Ei0Ej0El0En0F00F30F50F80F;0F>0FB0FE0FI0FM0FP0FT0FX0F\\0F`0Fd0Fh0Fm0G10G50G:0G>0GC0GG0GL0GQ0GU0GZ0G^0Gc0Gg0Gl0H00H50H90H=0HA0HE0HH0HJ0HL0HN0HP0HQ0HR0HS0HU0HV0HW0HX0HY0HZ0H[0H\\0H\\0H]0H^0H_0H_0H`0Ha0Ha0Hb0Hb0Hc0Hc0Hd0Hd0Hd0He0He0He0He0He0He0Hf0Hf0He0He0He0He0He0He0Hd0Hd0Hd0Hb0H_0H\\0HY0HV0HS0HP0HM0HI0HF0HC0H@0H<0H90H90H=0HA0HE0HI0HL0HO0HQ0HS0HT0HU0HU0HU0HT0HR0HP0HM0HI0HD0H?0H90H30Gl0Gd0G\\0GS0GJ0G@0G70Fl0Fb0FX0FI0FF0FC0F@0F=0F:0F70F40F10En0Ek0Eh0Ef0Ec0E`0E^0E\\0EW0EV0EV0EU0EU0ET0ET0ET0ET0ET0ET0ET0ET0ET0ET0ET0ET0ET0EU0EU0EV0EV0EW0EW0EX0EY0EY0EZ0E[0E\\0E]0E^0E_0E`0Ea0Ec0Ed0Ee0Ef0Eh0Ei0Ek0El0En0Eo0F10F30F40F60F80F:0F<0F>0F@0FB0FD0FF0FH0FJ0FL0FN0FP0FR0FU0FW0FY0F\\0F^0F`0Fc0Fe0Fg0Fi0Fk0Fn0Fo0G00Fl0Fl0Fi0Fi0FS0Fo0G50G:0GC0GE0GD0GA0G=0G10G20G;0G?0GD0GF0GF0GF0GC0GA0GA0G@0GA0GB0GB0GA0G@0G?0G?0GB0GD0GF0GH0GI0GI0GH0GG0GE0GB0G>0G=0G;0G;0G=0G?0G@0GA0GB0GB0GD0GE0GG0GI0GJ0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GK0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GN0GR0GV0GZ0G^0Gb0Gf0Gj0Gn0H20H60H:0H>0HB0HF0HJ0HN0HR0HV0HZ0H^0Hb0Hf0Hi0Hm0I10I50I90I?0IG0IO0IV0I^0If0Im0J50J=0JE0JM0JT0J\\0Jc0Ji0Jo0K50K;0K@0KE0KI0KM0KP0KT0KV0KY0K[0K]0K^0K_0K`0Ka0Ka0Ka0Ka0Ka0K`0K`0K]0K`0Kd0Kg0Kk0Kn0L20L50L80L<0L?0LB0LF0LK0LO0LS0LW0L[0L`0Lc0Lg0Lk0Lo0M30M60M:0M>0MA0MD0MH0MK0MN0MQ0MT0MW0MZ0M]0M`0Mb0Me0Mg0Mj0Ml0Mn0N00N30N50N60N80N:0N<0N=0N?0N@0NB0NC0ND0NE0NF0NG0NH0NI0NI0NG0NE0NB0N@0N=0N:0N80N50N20Mo0Ml0Mi0Me0Mb0M^0M[0MW0MT0MP0ML0MH0MD0M@0M<0M80M40M00Lk0Lg0Lb0L^0LY0LT0LP0LK0LF0LA0L<0L70L20Km0Kg0Kb0K]0KW0KR0KM0KG0KA0K<0K60K00K20K;0K@0KB0K@0K;0K00Jb0JO0J:0I\\0IS0IK0IC0I:0I20Hi0Ha0HY0HP0HK0HK0HL0HL0HL0HL0HL0HK0HJ0HI0HG0HD0HA0H=0H90H40Gn0Gg0G`0GX0GP0GF0G;0G00Fd0FX0FK0F?0F50Ej0E_0ES0EG0E:0Dn0Da0DS0DF0D50Cn0Cj0Cf0Ca0C]0CY0CV0CR0CN0CJ0CF0CB0C?0C;0C80C40C10Bm0Bj0Bg0Bc0B`0B]0BZ0BX0BW0BU0BT0BQ0BO0BL0BJ0BH0BF0BC0BA0B?0B=0B;0B:0B80B60B40B20B00An0Al0Ai0B20BE0BV0Bc0Bj0Bk0Bf0B[0BJ0B60AT0AR0AP0AO0AL0AJ0AH0AE0AD0AC0AB0AA0A@0A?0A>0A=0A=0A<0A<0A;0A;0A;0A;0A;0A;0A;0A;0A;0A;0A<0A<0A=0A=0A>0A?0A@0A@0AA0AA0AB0AB0AB0AB0AC0AC0AC0AD0AE0AD0AC0AC0AB0AB0AB0AA0AA0AA0AA0AA0A?0A<0A90A70A40A20A00@m0@k0@i0@g0@e0@d0@b0@`0@_0@]0@\\0@Z0@Y0@X0@V0@U0@S0@P0@N0@L0@J0@H0@F0@D0@C0@A0@?0@?0@=0@<0@;0@90@80@60@50@40@30@10@40@90@@0@D0@G0@F0@E0@X0@a0@i0@i0@k0@n0@m0@c0@_0@W0@K0@;0?i0?V0?;0>`0>S0>L0>F0>?0>90>30=m0=g0=a0=[0=V0=P0=K0=E0=@0=;0=60=20<m0<h0<d0<`0<\\0<X0<T0<O0<K0<G0<D0<@0<<0<90<60<20;o0;m0;j0;g0;e0;b0;`0;^0;\\0;[0;Y0;W0;V0;U0;T0;S0;R0;R0;Q0;Q0;Q0;Q0;Q0;Q0;R0;R0;S0;T0;U0;V0;W0;Y0;Z0;\\0;^0;`0;b0;c0;d0;f0;h0;i0;k0;m0<=0<c0=\\0H80LM0M;0MZ0MZ0MZ0MZ0MZ0O90Q80Q80Q80Q80Q80Q80Q80Q<0Q<0Q<0Q<0Q<0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q:0Q:0Q80Q70Q50Q30Q10Q00Pn0Pl0Pj0Ph0Pf0Pe0Pc0Pa0P`0P^0P]0P[0PZ0PX0PW0PV0PU0PS0PR0PQ0PQ0PP0PO0PN0PN0PM0PM0PL0PL0PL0PL0PL0PL0PL0PL0PM0PM0PM0PN0PO0PO0PP0PQ0PR0PS0PT0PU0PV0PW0PY0PZ0P\\0P]0P_0Pb0Pd0Pg0Pk0Q00Q60Q=0QE0QN0QW0Qa0Qj0R40R>0RH0RQ0RZ0Rc0Rk0S30S;0SB0SJ0SP0SW0S]0Sc0Si0Sn0T30T80T=0TA0TE0TH0TK0TN0TP0TR0TT0TU0TV0TW0TW0TW0TV0TU0TT0TR0TP0TN0TK0TH0TD0T@0T<0T80T30Sn0Sh0Sc0S]0SV0SP0SI0SB0S;0S30Rk0Rd0R\\0RS0RK0RC0R:0R20Qi0Qa0QZ0QS0QM0QH0QD0QA0Q?0Q>0Q=0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q<0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q;0Q:0Q:0Q90Q70Q40Q00Pk0Pd0PZ0PN0P?0On0OY0OC0Nl0NT0N<0Mf0MR0M@0M10Le0L\\0LT0LO0LK0LH0LG0LE0LE0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LC0LB0LB0LA0L?0L=0L90L40Km0Kc0KX0KI0K80Jd0JN0J60I^0IE0Hn0HY0HG0H70Gk0Ga0GZ0GU0GR0GO0GN0GM0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GP0Ga0H10HB0HR0Hc0I30IC0IT0Id0J40JD0JS0Jc0K30KB0KQ0K`0Ko0L>0LL0LZ0Lh0M60MC0MP0M]0Mj0N70NC0NO0NZ0Nf0O10O;0OG0OR0O\\0Ol0P10P70P70P70P70PS0PZ0P`0Pf0Pk0Q10Q50Q:0Q=0QA0QD0QG0QI0QK0QL0QM0QM0QM0QM0QL0QK0QJ0QG0QE0QB0Q?0Q;0Q70Q20Pn0Ph0Pb0P\\0PV0PO0PG0PA0PP0P^0Pg0Pl0Pk0Pd0PV0PB0Oi0OK0Nj0NH0N<0N00Mc0MV0MI0M;0Ln0L`0LR0LC0L50Kf0KW0KH0K90Jk0J]0JT0JN0JH0JB0J<0J60Io0Ii0Ib0I[0IT0IN0IK0IU0I^0Ig0J10J:0JC0JK0JT0J]0Je0Jm0K50K=0KE0KM0KT0K[0Kc0Kj0L00L70L=0LC0LI0LO0LT0LZ0L_0Ld0Lh0Lm0M10M50M80M<0M?0MB0ME0MI0MM0MT0M]0Me0Mm0N50N=0ND0NK0NQ0NX0N^0Nc0Ni0Nn0O30O70O;0O?0OC0OF0OI0OK0O]0Om0P;0PE0PL0PO0PM0PF0P<0Oo0O_0ON0OL0OJ0OG0OD0OA0O=0O90O50O00Nk0Nf0N`0NZ0NT0NM0NG0N?0N80N00Mh0M`0MX0MO0MF0M=0M30Li0L_0LU0LK0L@0L50Kj0Km0L10L90LE0LQ0L\\0Lg0M20M=0MG0MR0M\\0Me0Mo0N80NA0NI0NQ0NY0Na0Nh0No0O60O<0OB0OH0ON0OS0OW0O\\0O`0Oc0Of0Oi0Ol0On0P00P10P30P30P40P40P30P30P20P00On0Ol0Oj0Og0Oc0O`0O\\0OY0OW0OW0OY0OZ0O[0O[0O[0O[0O[0OZ0OY0OW0OU0OS0OQ0ON0OJ0OG0OC0O>0O:0O50O00Nj0Nd0N^0NW0NQ0NJ0ND0NA0N@0N>0N<0N:0N80N50N20Mo0Ml0Mh0Md0M`0M[0MV0MQ0ML0MF0M@0M:0M40Lm0Lf0L_0LX0LQ0LI0LA0L90L00Kh0K_0KV0KM0KD0K;0K10Jg0K>0KU0Kh0L80LC0LH0LI0LC0L:0Kl0K[0KI0KK0KL0KN0KO0KP0KQ0KR0KS0KS0KS0KS0KS0KS0KS0KR0KQ0KP0KO0KN0KL0KK0KI0KG0KE0KC0K@0K=0K;0K80K50K10Jn0Jj0Jg0Jc0J_0J[0JV0JR0JM0JI0JD0J?0J:0J50J00Ij0Ie0I_0IY0IT0IN0IH0IB0I<0I50Ho0Hi0Hc0H\\0HV0HO0HH0HB0H;0H40Gn0Gn0Gm0Gm0Gm0Gn0H30H:0H@0HG0HM0HT0HZ0H`0Hg0Hm0I30I90I?0IE0IK0IP0IV0I\\0Ia0If0Il0J10J60J;0J@0JD0JI0JM0JR0JV0JZ0J^0Jb0Je0Ji0Jl0Jo0K20K50K80K:0K=0K?0KA0KC0KE0KV0Kf0L40L>0LE0LH0LG0LA0L80Kl0K]0KM0KM0KL0KK0KJ0KI0KH0KG0KG0KH0KH0KI0KJ0KJ0KK0KK0KK0KK0KK0KK0KJ0KT0K]0Kd0Kh0Kj0Ki0Kd0K]0KS0KG0K:0Jk0Jh0Jd0J_0JZ0JT0JO0JI0JC0J>0J80J10Ik0Ic0I[0IT0IL0IE0I=0I60Ho0Hi0Hc0H^0HX0HS0HN0HJ0HL0HO0HQ0HT0HW0H[0H`0He0Hj0Ho0I50I;0IA0IG0IM0IS0IX0I]0Ib0If0Ij0In0J20J60J:0J>0JA0JE0JI0JM0JP0JT0JX0J[0J_0K00KA0KO0K[0Kd0Ki0Kl0Kk0Kg0K`0KX0KO0KS0KX0K\\0Kb0Kk0L30L<0LE0LM0LV0L_0Lg0M00M80MA0MI0MQ0MZ0Mb0Mj0N20N:0NB0NI0NP0NV0N\\0Nb0Nh0Nn0O40O90O?0OD0OJ0OU0Og0P90PJ0P[0Pl0Q<0QL0Q[0Qj0R70RD0RP0R\\0Rf0Ro0S70S>0SE0SI0SM0SP0SR0SR0SR0SP0SM0SJ0SE0S@0S:0S30Rl0Rd0R[0RR0RH0R?0Qn0R10R30R50R80R:0R<0R>0R?0RA0RC0RD0RF0RG0RH0RI0RJ0RK0RL0RM0RM0RN0RN0RO0RO0RO0RO0RO0RO0RO0RN0RN0RM0RM0RL0RK0RJ0RI0RH0RG0RF0RD0RC0RA0R?0R>0R<0R:0RO0Rc0S30S?0SE0SF0S@0S40Rc0RM0R40QW0QP0QJ0QC0Q<0Q50Pm0Pf0P_0PW0PP0PH0PB0P=0P90P50P00Ol0Oh0Oc0O^0OZ0OU0OP0OK0OF0OC0O@0O=0O;0O80O50O20No0Nl0Nj0Ni0Ni0Nj0Nl0Nm0Nn0No0O00O10O10O10No0Nn0Nl0Ni0Nf0Nb0N_0N[0NW0NS0NP0NL0NH0NE0NC0NC0N?0N<0N90N60N30N00Mo0Mm0Ml0Mi0Mg0Mc0M_0M\\0MW0MQ0MJ0MZ0Mh0N30N:0N<0N:0N30Me0MT0M>0Lf0LL0LJ0LH0LF0LD0LA0L?0L=0L:0L60L30Ko0Kl0Kf0K`0KY0KQ0KH0K?0K60Jm0Jd0J[0JQ0JH0J>0J30Ii0I^0IS0IG0I;0Ho0Hc0HW0HK0H?0H20Gh0G]0GR0GG0G<0G10Ff0F[0FO0FG0FA0F<0F60F10Ek0Ef0Ea0E\\0EW0ER0EM0EH0EC0EG0EK0EN0EO0EN0EK0ED0E:0Dn0Da0DS0DE0D@0D;0D60D10Cm0Ch0Cc0C_0CZ0CU0CQ0CL0CF0CA0C<0C80C30Bo0Bk0Bg0Bc0B_0B[0BW0BS0BP0B]0Bi0C30C:0C>0C<0C70Bo0Bc0BS0BA0Ao0Am0Ak0Aj0Ai0Aj0Ao0B30B70B<0B@0BE0BI0BN0BS0Bm0CF0C\\0Cn0D<0DD0DF0DB0D:0Cn0C_0CP0CW0C^0Ce0Ck0D30D:0D\\0EI0F;0Fn0Ga0HR0IE0J70Jj0K\\0LN0MA0N30Nf0OX0PJ0Q<0Qo0Ra0SS0TE0U70Ui0VZ0WK0XL0YL0ZI0[C0\\90\\l0]Z0^D0^m0_X0`D0dJ0d]0dj0e00e00e00dm0dh0dY0dH0d70dT0e=0f50h10jX0mP0nA0o20oa10O11;11e12P13:13c14J15015T16716X17617Q17h17m18018118118118218218318>18T1951<L1=E1>51>_1?@1?_1@>1@[1A91AV1B31BO1Bm1CJ1Cg1DC1D`1E;1EV1F01FL1Fg1GD1Gc1HV1II1J81Ja1KG1K]1Kn1L51L41Kl1K_1KR1Ka1Ko1L;1LG1LU1Lc1M31MB1MP1M^1Mj1N51N?1NJ1NR1NX1N\\1Na1Nc1Ng1Ng1Nf1Nd1Na1N\\1NV1NP1NJ1NC1N;1N31Mj1M_1MT1MH1M<1Ln1L_1LP1L@1Ko1K^1KM1K91Jg1JS1J@1Ik1IU1I@1Hh1HR1H:1Gb1GJ1G?1G31Ff1FT1F?1Eg1EJ1Di1DD1C\\1C21BG1Ai1AJ1@k1@L1?m1?M1>n1>M1=l1=I1<e1<A1;[1;31:J19d19=19719419419419419419419419419419419419419919919919:19:19:19:18Y17c16510d0oo0oL0o;0o90o90o90nE0iH0i20hc0hX0hS0hS0hS0hS0hF0h:0eF0e90di0dd0dc0dd0da0d[0dR0bR0bG0b:0a\\0a@0]i0]Z0]O0]K0]J0]K0]K0\\W0W@0Vh0VQ0VI0VI0VH0VI0VB0V50Ub0QF0Q30Pe0P`0PX0PI0Oh0Jn0JY0JN0JG0JH0JH0J?0Ik0IH0HW0F60ED0D`0DB0D@0D:0Ci0CP0C90><0=e0=U0=M0=L0=K0=J0=I0=H0=G0=F0=E0=D0=D0=C0=C0=B0=B0=B0=A0=@0=@0=@0=?0=?0=?0=?0=?0=?0=@0=@0=@0=A0=A0=B0=C0=D0=E0=E0=F0=G0=I0=J0=K0=L0=M0=O0=P0=R0=S0=U0=V0=X0=Z0=\\0=^0=`0=c0=e0=g0=j0=l0=o0>20>40>70>:0>=0>@0>C0>F0>I0>L0>O0>S0>V0>Z0>]0>a0>e0>i0>m0?10?50?90?=0?A0?F0?H0?Q0?Y0?a0?h0@00@80@@0@H0@P0@Y0@_0@f0@m0A30A:0AA0AG0AM0AR0AX0A^0Ad0Aj0B00B60B<0BB0BH0BO0BU0B[0Ba0Bh0Bn0C50C;0CB0CH0CO0CV0C\\0Cc0Cj0D10D70D>0DE0DL0DS0DZ0Da0Dh0Do0E60E=0ED0EK0ER0EY0Ea0Eh0Eo0F60F=0FE0FK0FS0F[0Fc0Fk0G50G:0G?0GF0GG0GI0GJ0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GM0GR0GY0G_0Gf0Gl0H30H:0H@0HF0HX0Hh0I80IF0IR0I\\0Ic0Ih0Ik0Il0Ij0Ig0Ic0I_0Ie0Ik0J10J80JS0Jm0KE0KZ0Kj0L70L>0LA0L?0L90Ko0Kb0KS0KD0KI0KN0KR0K_0L40LG0LX0Lf0M20M90M>0M>0M;0M50Lm0Lb0LV0LR0LU0LY0L\\0L`0Lc0Lf0Li0Ll0Ln0M10M40M60M80M;0M=0M?0Md0NF0Nf0O@0OT0Oa0Of0Od0OY0OH0O00NS0N30MP0MQ0MT0Ml0NC0NW0Ng0O30O:0O<0O80No0Na0NO0N90Ma0MJ0MI0MG0O60Po0R\\0T80U=0Ui0V90Ul0UB0T>0Rc0Q60O;0M90Lf0Lb0L_0L\\0LY0LU0LR0LN0LJ0LF0LC0L?0L:0L60L20Kn0Ki0Ke0K`0K\\0KW0KR0KM0KH0KC0K>0K90K40Jn0Ji0Jd0J^0JY0JS0JM0JH0JB0J<0J60J00Ij0Id0I^0IX0IR0IL0IF0I?0I90I30Hl0Hf0H`0HY0HS0HL0HF0H@0H90H20Gl0Ge0G_0GX0GP0GN0GR0GX0G_0H00HB0HS0He0I60IG0IU0IX0I[0I_0Ib0If0Ij0Io0J40J:0JA0JH0JP0JY0Jc0Jn0K90KF0KV0L20LO0Lm0ML0Mm0NN0O00OS0P70P\\0QB0Qi0RP0S80Sa0TJ0U40U_0VI0W40W`0XK0Y60Y^0Z;0ZX0[50[R0[n0\\K0\\g0]D0]`0^<0^X0_40_P0_k0`G0`c0a>0aY0b40bO0bj0cE0c`0d:0dT0do0eI0ec0f<0fS0ff0g90gK0g^0h10hD0hW0hj0i=0iP0ic0j70jK0j_0k30kH0k\\0l20lG0l]0m30mI0m`0n=0n`0oC0og10J10m11P12312V13813Z14;14\\15<15[16916W17417R17f18918K18\\18l19:19H19T19`19j1:41:=1:E1:L1:T1:\\1:f1;21;C1;Z1<81<`1=Q1>?1?@1@61@h1AS1B41BM1B_1Bl1C41C91C<1C>1C?1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C@1C=1C61Bo1Bh1Bb1B[1BU1BN1BH1BB1B=1B11A`1AP1A@1A01@b1@T1@G1@;1@11?g1?^1?W1?Q1?L1?I1?G1?F1?F1?H1?L1?P1?V1?]1?e1?n1@91@E1@Q1@_1@m1A@1AI1AR1A\\1Ag1B21B>1BI1BU1Ba1Bl1C=1C:1C61Bo1Be1BW1BC1Ai1AG1@^1@01?<1>F1=P1<\\1;m1;B1:^1:919S19118Q18417X17>16d16J16215Y15A14i14R14;13e13O13:12f12R12>11k11Y11G11610f10V10F1070oi0o[0oM0o@0o40ng0n[0nO0nC0n80ml0ma0mU0mO0m80la0lJ0l30k\\0kD0jl0jU0j=0id0iL0i30h[0hB0gi0gP0g70f]0fD0ej0eP0e90dd0dO0d:0cd0cN0c80bb0bK0b40a]0aE0`m0`T0`;0_b0_H0^m0^R0^70][0]?0\\b0\\E0[g0[I0Zj0ZW0ZE0ZE0ZE0ZE0ZE0ZE0ZE0ZE0ZE0ZE0Z?0ZE0WD0VY0VH0VQ0VL0Uh0U20Se0R50Pg0Oe0O>0NU0NO0NO0NQ0NI0Mn0MB0LJ0KT0KG0K90Jl0J_0JR0JD0J70Ii0I\\0IO0IA0I40Hd0HT0HD0H20Gb0GR0G@0G30G00Fl0Fi0Ff0Fc0F_0F\\0FY0FV0FS0FP0FL0FI0FF0FC0F@0F=0F:0F70F50F20Eo0El0Ei0Eg0Ed0Ea0E_0E\\0EZ0EW0EU0ES0EP0EN0EL0EJ0EH0EF0ED0EB0EB0EA0ED0EG0EK0EN0ES0EW0E\\0Ea0Ef0Ek0F00F50F:0F?0FE0FK0FQ0FW0F^0Fd0Fk0G20G90GA0GH0GO0GW0G^0Ge0Gm0H40H;0HB0HJ0HQ0HX0H_0Hf0Hn0I50I<0IC0IJ0IP0IW0I^0Ie0Ik0J20J80J?0JE0JL0JR0JX0J^0Jd0Jj0K00K50K;0KA0KF0KK0KQ0KV0K[0K`0Ke0Ki0Kn0LD0Lk0MO0Mo0NK0N`0No0O60O60No0N`0NL0N20MU0Ld0Lg0Li0Lk0Lm0Lo0M10M30M50M60M70M90M:0MA0MH0MM0MR0MW0M[0M`0M^0M]0MZ0MO0MD0M90Ln0Lb0LW0LK0L?0L30Kf0KZ0KN0KA0K40Jg0J[0JN0JA0J30Ig0IZ0IL0I?0I20He0HX0HN0HE0H<0H20Gi0G`0GW0GM0GH0GB0G@0G?0G=0G<0G;0G:0G90G80G90G90G:0G;0G=0G?0GD0GJ0GP0GV0G\\0Gc0Gj0H10H70H=0HC0HI0HP0HV0H\\0Hc0Hj0I10I80I?0IG0IN0IV0I^0If0Im0J50J<0JD0JK0JR0JZ0Ja0Jh0Jo0K60K<0KC0KV0L50LS0M10MN0Mk0NF0N`0O90OP0Oe0P90PK0P[0Pi0Q50Q?0QG0QL0QP0QQ0QO0QL0QG0Q?0Q60Pk0P^0PO0P?0Om0OZ0OF0O00NZ0NB0M^0M_0M_0M_0M_0M_0M_0M\\0MY0MU0MQ0MM0MF0MD0MA0M>0MC0MG0MK0MN0MR0MU0MY0M\\0Mf0Mn0N60N=0ND0NJ0NQ0NQ0NM0NI0N>0N40Mj0M_0MT0MO0MI0M>0M30Lg0L\\0LQ0LE0L90Km0Ka0KU0KI0K:0Jk0J\\0JM0J>0Io0I`0IQ0ID0I70Hj0H]0HP0HC0H70Gj0Gb0GZ0GV0GQ0GN0GJ0GF0GB0G?0G;0G:0G80G60G50G30G10G00Fm0Fk0Fh0Ff0Fc0Fa0Fa0Fb0Fb0Fb0Fb0Fc0Fe0Fg0Fi0Fk0Fm0Fo0G10G30G50G60G80G:0G?0GD0GJ0GO0GT0GY0G^0Gc0Gh0Gm0H30H80H=0HB0HG0HL0HQ0HV0HZ0H_0Hd0Hi0Hn0I20I70I<0I@0IE0II0IN0IR0IW0I[0I_0Ic0Ig0Ik0Io0J30J70J;0J?0JB0JF0JI0JL0JO0JR0JT0JV0JX0JZ0J[0J]0J_0J`0J_0J^0J]0J[0JY0JU0JU0JU0JT0J[0Jb0Ji0Jo0K60K<0KB0KI0KO0KU0K[0K`0Kf0Kl0L10L60L70L70L80L80L80L80L80L=0LB0LB0LB0LB0LB0LA0LA0L@0L?0L?0L>0L<0L90L50L00Kl0Kh0Kc0K_0KZ0KT0KN0KG0KA0K:0K30Jl0Jf0J`0JZ0JT0JN0JH0JA0J;0J40In0Ih0Ia0I[0IT0IN0IG0I@0I:0I20Hj0Hc0H[0HS0HK0HG0HB0H>0H90H50H00Gm0Gk0Gh0Ge0Gb0G_0G\\0GX0GU0GR0GN0GJ0GI0GF0GC0G?0G:0G50Fo0Fj0Fd0F^0FX0FR0FK0FE0F?0F:0F50F00El0Eh0Ed0Ea0E]0EZ0EX0EU0ES0ER0ES0ET0EV0EX0E[0E^0Ea0Eg0F00F:0FC0FO0F]0Fl0G<0GO0Gb0H70HM0Hd0I;0IS0Ik0JB0JY0K00KF0K\\0L00LD0LW0Lh0M80MF0MS0M]0Md0Mj0Mn0N00Mo0Mm0Mj0Md0M\\0MT0MI0M>0M20Le0LX0LJ0L>0L40Ki0K]0KP0KE0K:0Jo0Je0JZ0JR0JJ0JA0J80Io0Ie0I[0IN0II0IC0I=0I50I30I10Hl0Hn0Ho0Ho0I30I70I<0I@0IF0IL0IQ0IV0I[0I`0Id0Ih0Ij0In0In0In0Io0Im0Ij0Ig0Id0Ia0I[0IU0IO0II0I@0I80Hm0Hd0H[0HQ0HG0H=0H10Gk0Gf0G`0G[0GS0GQ0GM0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GN0GQ0GV0G^0Gi0H60HB0HN0HZ0Hf0I10I=0IH0IS0I]0Ig0J10J:0JN0Jn0KM0Kk0LH0Le0MA0M[0N50NN0Nf0O<0OR0Of0P80PJ0PY0Ph0Q50Q@0QJ0QR0QX0Qa0Qm0R60R?0RE0RK0RN0R\\0S50SL0Sb0T30T@0TL0TU0T\\0Ta0Th0U10U80UA0UM0U_0V00VB0VV0Vn0WE0WY0Wk0X90XD0XM0XS0XV0XV0XT0XO0XH0X20X<0XC0XH0XJ0XI0XF0X@0X=0X?0X=0X90X30Wi0W^0WO0W>0Vk0VU0VO0VY0Vf0W40W90WG0WS0W\\0Wc0Wh0Wj0W]0X30XG0XW0Xg0Xo0Y30Y50Y40Y20Xh0Xh0Xe0XZ0X\\0XV0XU0XL0XA0X20We0WV0WE0W00VX0V=0Ua0UB0Ta0T>0SX0S10RH0Q]0Q10PC0OT0Nc0N10M>0LD0K\\0K40JK0Ia0I80HM0Gc0G90FO0Ed0Dh0Dd0DZ0Dd0Df0Dj0Dm0E10E60E;0E@0EE0EK0EQ0EX0E^0Ef0Em0F40F;0FE0FN0FW0Fa0Fk0G40G?0GL0GL0GZ0Gg0H50HA0HM0HX0Ha0Hj0I10I50I90I;0I<0I:0I80I40Hn0Hh0Hc0Hb0Hg0I30J10JC0JP0JX0JY0JX0JS0J@0I]0Hl0FN0EU0Di0DM0DA0D:0D80D:0D?0DI0DX0Dm0EP0F90Fe0GT0HB0Hn0IW0J:0JO0J_0Ji0Jo0K10Jo0Jj0Jb0JV0JH0J70Ib0IK0Hl0HH0Gc0G:0FP0Ej0EF0Df0DJ0D00CY0CE0C60Bj0B]0B^0B]0B]0B^0B^0B_0Bb0C10CO0D<0G50H?0IE0J>0J^0K10Ji0JT0J70IW0I70H]0HD0Gm0GZ0GG0G50Fa0FQ0FJ0FN0F[0G20HV0Hm0I<0IC0ID0IF0IG0IG0IG0IH0IH0II0IJ0IL0IP0IS0IQ0IJ0I80H\\0H80GS0Fo0FM0En0ES0E@0E10Da0DW0DT0Di0EB0Ea0FB0Fe0GH0Gl0HN0I00IO0Ii0J90JC0J=0In0IX0I@0Hf0HI0Gi0GI0F_0FF0F50El0Eh0Eg0Ej0F10FE0Fe0GQ0Hm0Ib0JE0J\\0Jf0Jk0Jl0Jl0Je0JW0JC0H60Ge0G\\0G\\0HO0HV0HZ0H]0H]0H]0H]0HZ0HU0HN0G[0GT0GO0GL0GL0GL0GJ0GA0G00F_0FN0F=0El0E\\0EL0E<0Dl0D]0DN0D?0D10Cc0CV0CI0C<0C00Be0BZ0BP0BF0B=0B50Am0Af0A_0AZ0AU0AP0AM0AJ0AH0AF0AF0AF0AG0AH0AK0AN0AQ0AV0A[0Aa0Ah0Ao0B70B@0BI0BS0B]0Bh0C40C@0CL0CY0Cg0D50DC0DR0Da0E10EA0EQ0Ea0F10FB0FS0Fd0G40GD0G\\0Gm0H>0HN0H_0Ho0I?0IO0I^0In0J=0JL0JZ0Jh0K50KB0KO0K[0Kg0L20L<0LF0LO0LX0L`0Lh0Ln0M40M:0M>0MB0MF0MH0MJ0MK0ML0MK0MJ0MH0MF0MB0M>0M:0M40Ln0Lh0L`0LX0LO0LF0L<0L20Kg0K[0KO0KB0K50Jh0JZ0JL0J=0In0I^0IO0I?0Ho0H_0HN0H>0Gm0G\\0GL0G<0Fj0FY0FH0F60Ee0ET0ED0E30Dc0DT0DD0D50Cf0CX0CK0C=0C10Bd0BY0BN0BC0B90B00Ah0A`0AY0AR0AM0AH0AC0A@0A=0A;0A:0A:0A:0A;0A=0A?0AC0AG0AL0AQ0AW0A^0Af0An0B80BA0BK0BV0Bb0Bn0C;0CH0CU0Cc0D20DA0DP0D`0E00E@0EQ0Eb0F30FD0FU0Fg0G80GJ0G]0Gn0H?0HP0H`0I10IA0IQ0Ia0J10J@0JO0J]0Jl0K90KG0KS0K`0Kk0L70LA0LK0LU0L^0Lf0Lm0M40M:0M@0MD0MH0ML0MN0MP0MQ0MQ0MQ0MP0MN0MK0MH0MD0M?0M:0M40Lm0Le0L]0LT0LK0LA0L60Kk0K_0KS0KF0K80Jk0J]0JN0J?0J00I`0IP0I@0Ho0H_0HO0H>0Gm0G\\0GJ0G80Fb0FK0F20EY0E>0Dc0DI0Cn0CT0C;0Ba0BI0B10AZ0AC0@m0@X0@D0@00?^0?L0?;0>k0>\\0>N0>A0>40=j0=a0=Y0=S0=M0=I0=F0=D0=D0=D0=F0=I0=N0=S0=Z0=b0=k0>50>A0>M0>[0>j0?90?J0?\\0?o0@B0@W0@l0AB0AY0B00BI0Bc0C<0CV0D00DK0Df0EA0E\\0F80FS0Fn0GI0Ge0HC0Hb0IC0Id0JF0Jg0KI0Kj0LK0Lk0MJ0Mi0NG0Nd0O@0O\\0P60PO0Ph0Q?0QU0Ql0R@0RR0Rb0S20S@0SM0SY0Sb0Sj0T10T60T90T;0T;0T:0T70T30Sm0Sf0S]0SR0SG0S90Rk0RZ0RI0R60Qb0QL0Q60P^0PE0Ok0OP0O40NW0N90M[0M;0L[0L90KX0K60JT0J20IO0Hm0HK0Gj0GJ0Fk0FH0Ee0EA0D^0D<0C[0C=0B`0BG0B00A\\0AK0A>0A40@m0@j0@j0@n0A60AA0AO0A`0B50BG0Bb0C@0C_0DA0Dd0EI0Eo0FV0G=0GL0GL0GL0GL0GN0GP0GR0GT0GW0Ge0H30HA0HO0H\\0Hi0I70IE0IP0I[0Ie0In0J70J?0JG0JM0JS0JX0J\\0J`0Jc0JZ0JQ0JP0JO0JM0JJ0JF0JB0J=0J70J10Ii0Ib0IY0IP0IT0IW0IX0IX0IW0IW0IU0IS0IQ0IP0IO0IM0IB0I70I80I80I80I70I60I40I40I30Ho0Hk0H`0HV0HL0HB0H70Gl0Gl0Gk0Gj0Gi0Gi0G]0GR0GP0GM0GJ0GF0GB0G>0G60Fm0Fe0F]0FU0FM0FE0FK0FQ0FU0FZ0F_0Fd0Fi0Fn0G40G90G?0GE0GB0G@0G=0G;0G80G60G40G20G00Fn0Fl0Fk0Fb0F\\0FU0FO0FI0FC0FH0FN0FS0FY0F_0Fe0Fl0G20G80G=0GB0GG0GL0GL0GL0GL0GL0GL0GL0GL0GL0GK0GK0GJ0G?0G10Fc0FU0FG0F90El0E_0ES0EG0E<0E10Dg0D]0DT0DL0DE0D>0D80D30Co0Cl0Cj0Ch0Ch0Ch0Ci0D@0DX0E10EK0Ed0F?0FP0Fb0G40GF0GX0H50HR0Ho0IL0Ig0JC0J]0Je0Jk0K00K:0KB0K?0K50J]0JE0J00I[0IF0I00HZ0HC0Gl0GU0G30FP0En0EM0Dk0DK0Cl0CM0Bo0C:0CF0CS0Ca0D00D?0De0EL0F30FZ0GB0Gj0HH0Hf0ID0I`0J<0Jb0KG0Kk0LN0M00MP0Mo0N:0NB0NI0NT0N]0NT0NG0Mk0MN0M40LX0L<0K^0K?0J_0J>0I]0Ho0HB0G;0F50EK0D_0D80CS0Bn0C20C70C=0Bk0BZ0BX0BX0BY0B\\0B_0Bd0Bj0C10C;0CF0CP0C\\0Ch0D50DC0DR0D`0E00E@0EQ0Eb0F40FD0FU0FV0FW0FY0FZ0F\\0F^0Fa0FZ0FT0FM0FH0FB0F<0F70EX0E:0E80E40EX0F<0Fa0GE0Gj0HO0HZ0He0I>0IW0Io0JF0J\\0K20KG0K[0Ko0LB0LQ0L`0Lm0M80MB0MJ0MQ0MV0MY0MR0MI0M>0M10Lb0LR0LA0Kn0KZ0KF0K00JY0J90IW0Hl0HA0GV0Fj0F?0ER0Df0D:0CO0CH0CA0C<0C80B_0BG0B10AP0A20@T0@90?_0?G0?20>^0>M0>=0>10=b0=W0=_0><0>[0?<0?_0@E0@k0AK0Al0BO0C20CW0D=0Dc0Dh0Dm0E30E]0FG0G10GX0H60HS0I10I\\0JG0J^0K30KI0K]0L00LA0LR0La0LY0LP0LF0Ko0KV0K=0Jc0J>0IX0I10HJ0Gc0G<0FU0El0EM0E@0EF0EL0EU0E^0Eh0F30F=0FI0FT0F_0Fk0G70GC0Fl0FV0F?0FM0FZ0Fg0G10G;0GF0GP0Gi0HA0HF0HK0HP0HT0HX0H\\0H`0Hd0Hg0Hi0Hk0Hm0Hn0Ho0I00Hh0H`0HW0HO0HG0H>0H50Gl0Gl0Gl0Gk0Gk0Gm0Go0H10H30H40H60H70H80H90H:0H:0H:0H40Gn0Gh0Gb0G\\0GV0GP0GJ0GD0G>0G80G20Fl0Ff0Fa0G<0GY0H_0H_0H_0He0He0Hd0He0Ha0H[0HY0F40Ej0Eb0E_0E_0E_0E_0FW0HR0Hn0IA0IK0IM0IN0IN0IO0IO0IO0IF0I80Hd0FU0FA0F30El0Eo0F80FI0Fc0HV0I00IB0IL0IO0IU0IU0IU0I[0Ia0Ia0Ig0Ig0Im0Im0Im0J20Io0Ii0I`0GW0GN0GH0GE0GE0GE0GW0Gh0I]0J10J=0JD0JE0JI0JK0JK0JK0JK0JQ0JQ0JI0J>0Ii0GS0G>0Fo0Fh0Fg0Fg0G=0GR0Ie0J:0JE0JT0JU0JV0JW0JW0JW0JW0JW0J?0J?0Fh0Fn0G40G;0GB0GH0GI0GJ0GK0GL0GM0GE0GE0GE0GE0GE0GE0GE0GE0G>0G50Fl0Fc0FS0FC0F40Ee0E]0EU0EL0ED0EO0E[0Eh0F60F70F90F;0F>0FB0FF0FO0FX0Fa0Fk0G40G>0GG0GQ0GQ0GO0GL0GJ0GG0GE0GC0G;0F`0FH0F00EY0EI0E90Dj0D\\0Df0E10E=0EI0ER0E\\0Ef0F10F<0FG0FS0F_0G20GE0GV0Gh0H90HJ0H[0Hl0Ho0I20I50I80I;0I=0ID0IJ0IO0IT0IY0I]0I`0Ic0Ie0Ig0Ih0Ih0Ih0Ig0Ie0Ic0IM0I:0Hf0HR0H=0Gh0GT0G?0GB0GE0GH0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL0GL", GroundType:"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", intObjDat:"1854;1468;0,3258;70;20,2136;-1;21,1746;-12;20,204;-32;20,222;-34;20,2094;130;20,102;-10;20,132;-1;20,192;2;20,2868;-80;20,156;-4;20,234;-13;20,228;-14;20,294;-18;20,3264;33;20,1962;-31;20,2898;50;20,2460;-105;21,456;74;20,1674;-14;20,2706;87;21,342;28;20,2010;-277;64,294;96;20,3654;108;21,198;0;21,228;0;21,198;0;21,258;0;21,468;0;70,2687;273;23,336;36;23,948;103;23,300;19;23,1146;-61;23,234;-31;23,1782;-292;20,144;-27;20,438;-149;20,744;-154;23,3162;-112;23,312;-21;23,1602;-166;64,1896;-179;23,354;0;21,162;5;21,150;9;21,168;8;21,102;7;21,570;1356;20,216;-1;20,102;0;20,246;0;20,138;-2;40,72;-4;20,126;-7;20,120;-7;20,78;-4;40,162;-8;20,126;-5;20,114;-4;20,132;-4;40,168;-2;20,84;0;20,204;1;40,90;2;20,138;4;20,258;11;40,420;81;40,540;129;20,462;39;20,372;-24;20,246;-41;20,439;-187;64,246;37;21,804;-5;23,258;-89;61,834;-221;21,138;-1;41,612;0;23,108;-1;23,144;0;23,360;0;23,348;-11;23,150;-45;23,156;-102;23,360;-150;23,234;-3;23,180;0;23,1388;554;70,3778;-182;23,744;1029;26,1542;-1113;41,954;1011;26,381;-748;23,1143;-170;64,2028;-119;41,258;0;41,234;-11;41,1425;-217;21,480;65;23,1170;167;41,2196;-199;41,96;-2;21,462;70;23,1104;140;21,1428;435;41,84;27;41,120;26;41,126;11;21,0;-451;64,186;436;41,132;-27;21,362;-45;70,1506;-367;61,298;219;62,1266;678;26,660;-120;26,762;-132;26,810;-120;26,3084;-1187;23,468;1427;26,1138;5;20,510;802;25,744;1068;20,324;150;25,606;707;20,1422;655;65,548;-3759;40,260;2076;64,8;1482;20,74;-3648;40,460;3276;20,684;-721;41,144;-2;41,132;0;41,150;5;41,144;1;41,600;-1471;20,882;-1104;25,474;-3149;63,1332;1890;70,180;-96;64,240;0;65,1778;253;20,211;52;23,171;37;22,162;31;23,174;32;23,834;172;20,258;56;20,136;31;23,176;41;22,150;33;23,186;10;23,697;0;40,145;0;40,145;0;40,150;0;23,219;0;22,174;0;22,234;0;23,288;0;23,258;0;23,294;0;23,3882;940;41,265;-595;41,2432;-204;25,1494;1978;26,24;-822;64,612;1470;26,510;552;26,2220;996;26,152;-1297;60,688;1171;26,198;408;26,378;-1010;41,132;-9;41,78;773;26,114;-746;41,504;602;26,570;-930;64,1770;-552;26,360;-408;26,1077;-1108;70,1577;-1371;64,144;0;62,1296;39;20,300;-183;29,2064;793;25,1086;-138;20,174;-65;40,894;-297;41,144;-5;22,180;1;22,348;59;23,564;36;64,990;564;41,864;-250;22,600;48;23,714;-180;22,1056;-506;29,492;-6;29,3054;552;21,198;10;41,168;-2;21,180;-13;41,234;-35;21,180;-37;41,204;-39;41,222;-45;21,1878;-258;25,3294;-43;63,594;162;70,156;-66;65,288;-12;61,120;24;62,2280;1139;25,324;-2;25,330;-30;25,396;-18;25,462;82;25,1428;-1363;64,593;193;20,1386;-152;21,258;98;22,1158;-195;21,120;0;41,168;203;22,192;323;20,426;-289;21,90;33;41,288;155;41,84;1;41,90;5;41,84;5;41,102;-53;22,234;-225;41,108;-39;21,90;59;22,696;35;41,108;-10;21,72;25;41,108;183;22,402;-91;21,150;62;41,114;1;41,168;-75;22,1281;-396;70,138;-75;64,204;-1896;63,42;1908;62,228;84;61,216;108;60,2808;72;29,1032;-372;29,1080;396;29,498;395;22,390;-5;29,678;113;22,420;-281;29,438;-115;23,276;-413;29,330;-132;64,276;-18;22,246;-27;41,162;22;21,198;-85;29,504;490;23,372;158;29,444;602;22,498;82;29,624;8;22,228;-189;23,234;-527;29,492;-221;22,204;-105;41,78;-4;23,36;5;21,608;412;70,110;-387;61,1;350;63,2;-175;60,7;-322;62,5;-178;64,1;-203;65,2244;945;23,150;-764;29,66;731;23,222;-46;23,234;0;22,180;30;23,78;377;26,300;-30;26,162;-18;26,114;-381;20,672;-813;29,852;656;20,210;87;23,252;166;23,144;129;22,60;50;23,210;35;21,36;143;26,180;-78;26,198;-96;26,240;-484;25,78;-1190;29,304;961;64,512;968;20,90;-36;20,150;-131;23,96;-93;23,156;-229;22,18;558;26,48;-670;21,84;448;26,306;-616;25,312;-506;29,768;732;40,138;-70;40,120;114;23,190;-805;64,8;964;22,60;331;26,54;-247;23,114;74;21,696;-1669;29,156;1436;40,138;-189;40,132;-123;23,126;-49;23,72;275;26,60;-391;22,36;-31;21,30;554;26,216;-704;25,156;59;25,1563;417;40,204;61;40,186;56;40,168;-26;40,174;72;40,192;47;40,66;8;25,126;11;40,246;-26;40,90;710;26,168;-748;40,210;11;40,72;2;25,120;-1;40,222;-41;40,96;-18;41,108;-20;40,570;-73;41,390;240;41,276;-226;41,492;247;41,408;-159;41,360;198;41,372;-228;41,342;239;41,708;-209;70"});
}
public function initLevel(_arg1:int){
var _local2:int;
var _local3:Array;
var _local4:int;
var _local5:int;
var _local13:*;
lvlWidth = truckLevels[_arg1].lvlWidth;
var _local6:int;
var _local7:int;
_local2 = 0;
while (_local2 <= lvlWidth) {
if (truckLevels[_arg1].GroundType.length > _local2){
GroundType[_local2] = ((truckLevels[_arg1].GroundType.charCodeAt(_local2) % 0xFF) - 65);
} else {
GroundType[_local2] = 0;
};
if (truckLevels[_arg1].GroundHeight.length > (_local2 * 3)){
GroundHeight[_local2] = convMD(truckLevels[_arg1].GroundHeight.substring((_local2 * 3), ((_local2 * 3) + 3)));
} else {
GroundHeight[_local2] = 1500;
};
_local7 = (_local7 + GroundHeight[_local2]);
_local2++;
};
_local5 = 0;
GroundDeviation = new Array(lvlWidth);
_local2 = 0;
while (_local2 <= lvlWidth) {
GroundDeviation[_local2] = (Math.max(0, ((((_local2 == 0)) ? 0 : avgElev((_local2 - 1), (lvlWidth - 1)) - avgElev(_local2, (lvlWidth - 1))) + 16)) + (Math.random() * 0.1));
SurfaceRot[_local2] = (Math.atan2((GroundHeight[(_local2 + 1)] - GroundHeight[_local2]), 32) * 57.2957795);
_local4 = (Math.floor(((Math.sqrt((0x0400 + ((GroundHeight[(_local2 + 1)] - GroundHeight[_local2]) * (GroundHeight[(_local2 + 1)] - GroundHeight[_local2])))) - 32) / 2)) + 1);
SurfaceTile[_local2] = Math.floor((Math.random() * 16));
_local6 = GroundHeight[(_local2 + 1)];
if ((((((GroundType[_local2] == 3)) && (!((GroundType[(_local2 - 1)] == 3))))) || ((((GroundType[_local2] == 2)) && (!((GroundType[(_local2 - 1)] == 2))))))){
_local5 = GroundHeight[_local2];
};
if ((((GroundType[_local2] == 3)) || ((GroundType[_local2] == 2)))){
if ((((GroundType[_local2] == 3)) && (((GroundHeight[_local2] - _local5) < 32)))){
};
GroundHeight2[_local2] = _local5;
if (GroundHeight[_local2] < _local5){
GroundHeight[_local2] = _local5;
};
} else {
if (GroundType[_local2] == 2){
GroundHeight2[_local2] = _local5;
} else {
GroundHeight2[_local2] = GroundHeight[_local2];
};
};
_local2++;
};
_local7 = (_local7 / lvlWidth);
var _local8:Number = 0;
var _local9:Number = 0;
var _local10:Number = 0;
var _local11:Number = 0;
var _local12:Array = new Array();
_local12 = truckLevels[_arg1].intObjDat.split(",");
_local2 = 0;
while (_local2 < _local12.length) {
_local3 = _local12[_local2].split(";");
if (_local2 > 0){
_local13 = 16;
while (_local13 < (Number(_local3[0]) - 16)) {
if (Math.random() > 0.97){
theObjects.queue(((_local10 + _local13) + (Math.random() * 49)), 0, 80);
};
_local13 = (_local13 + 50);
};
};
_local10 = (_local10 + Number(_local3[0]));
_local11 = (_local11 + Number(_local3[1]));
theObjects.queue(_local10, _local11, Number(_local3[2]));
if (_local2 == 0){
theObjects.stageObjectFromQueue(0);
startX = _local10;
};
_local8 = _local10;
_local9 = _local11;
_local2++;
};
}
public function avgElev(_arg1:int, _arg2:int){
var _local3:int;
var _local4:Number = 0;
var _local5:* = Math.max(0, (_arg1 - 5));
while (_local5 < Math.min(_arg2, (_arg1 + 5))) {
_local4 = (_local4 + GroundHeight[_local5]);
_local3++;
_local5++;
};
return ((_local4 / _local3));
}
public function convMD(_arg1){
return ((((((_arg1.charCodeAt(0) & 0xFF) - 48) * 0x1000) + (((_arg1.charCodeAt(1) & 0xFF) - 48) * 64)) + ((_arg1.charCodeAt(2) & 0xFF) - 48)));
}
public function getGroundHeight2(_arg1:int){
var _local2 = (_arg1 >> 5);
if (_local2 < 0){
return (0);
};
if (_local2 >= lvlWidth){
return (0);
};
var _local3 = (_arg1 & 31);
return ((((GroundHeight2[_local2] * (32 - _local3)) + (GroundHeight2[(_local2 + 1)] * _local3)) >> 5));
}
public function getGroundHeight(_arg1:int, _arg2:int=-1){
if (altGroundHeight[_arg2]){
return (altGroundHeight[_arg2]);
};
var _local3 = (_arg1 >> 5);
if (Math.floor((_arg1 / 32)) < 0){
return (0);
};
if (Math.floor((_arg1 / 32)) >= lvlWidth){
return (0);
};
var _local4 = (_arg1 & 31);
return ((((GroundHeight[_local3] * (32 - _local4)) + (GroundHeight[(_local3 + 1)] * _local4)) >> 5));
}
}
}//package com.bte
Section 39
//bteMenu (com.bte.bteMenu)
package com.bte {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;
public class bteMenu extends MovieClip {
var optionArr:Array;
var menusnd;
public var menuArea:MovieClip;
var mainsnd:SoundChannel;
private var rootInterface:GameEngine;
public function bteMenu(_arg1:GameEngine, _arg2:Stage){
var _local3:MovieClip;
mainsnd = new SoundChannel();
menusnd = new menubg();
super();
optionArr = new Array();
rootInterface = _arg1;
menuArea = new menuMC();
this.addChild(menuArea);
mainsnd = menusnd.play(0, 999);
menuArea.menuMain.startGameButton.addEventListener(MouseEvent.CLICK, startGameClick);
menuArea.menuMain.instructionsButton.addEventListener(MouseEvent.CLICK, instructionsClick);
menuArea.menuMain.highScoresButton.addEventListener(MouseEvent.CLICK, highScoresClick);
menuArea.menuMain.optionsButton.addEventListener(MouseEvent.CLICK, optionsClick);
menuArea.menuMain.freeGamesButton.addEventListener(MouseEvent.CLICK, freeGamesClick);
menuArea.theBackButton.addEventListener(MouseEvent.CLICK, backToMenu);
var _local4:* = 0;
while (_local4 < rootInterface.graphicsOptSet.length) {
_local3 = new OptionButton();
_local3.cbLabel.t.text = rootInterface.graphicsOptName[_local4];
_local3.optCB.setChecked(rootInterface.graphicsOptSet[_local4]);
_local3.y = (_local4 * 42);
menuArea.menuOptions.addChild(_local3);
optionArr.push(_local3);
_local4++;
};
showMenu(0);
menuArea.scaleX = (menuArea.scaleY = (_arg2.stageWidth / 640));
menuArea.gotoAndStop(1);
}
function backToMenu(_arg1:Event){
showMenu(0);
}
function instructionsClick(_arg1:Event){
showMenu(1);
}
function highScoresClick(_arg1:Event){
showMenu(2);
}
function optionsClick(_arg1:Event){
showMenu(3);
}
function freeGamesClick(_arg1:Event){
var e = _arg1;
var request:URLRequest = new URLRequest("http://www.gamebusted.com/");
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
function startGameClick(_arg1:Event){
mainsnd.stop();
rootInterface.startGame();
}
public function showMenu(_arg1:int){
var _local2:* = 0;
while (_local2 < rootInterface.graphicsOptSet.length) {
rootInterface.graphicsOptSet[_local2] = optionArr[_local2].optCB.getChecked();
_local2++;
};
rootInterface.stage.quality = (rootInterface.graphicsOptSet[0]) ? "HIGH" : "LOW";
menuArea.theBackButton.visible = !((_arg1 == 0));
menuArea.playmore.visible = !((_arg1 == 0));
menuArea.titleGraphics.visible = (_arg1 == 0);
menuArea.logo.visible = (_arg1 == 0);
menuArea.menuMain.visible = (_arg1 == 0);
menuArea.menuInstructions.visible = (_arg1 == 1);
menuArea.menuHighScores.visible = (_arg1 == 2);
menuArea.menuOptions.visible = (_arg1 == 3);
menuArea.menuGameOver.visible = (_arg1 == 4);
menuArea.menuGameWon.visible = (_arg1 == 5);
menuArea.allbtns.visible = (((_arg1 == 4)) || ((_arg1 == 5)));
menuArea.yourScoreDisp.visible = (((_arg1 == 4)) || ((_arg1 == 5)));
}
}
}//package com.bte
Section 40
//bteNullEditMenu (com.bte.bteNullEditMenu)
package com.bte {
import flash.display.*;
public class bteNullEditMenu extends MovieClip {
public var clicked:Boolean;// = false
public var objectOnScreen:Array;
public var toolWidthSetStartX:Number;
public var toolWidthSet:Boolean;
public function bteNullEditMenu(_arg1:GameEngine, _arg2:Stage){
objectOnScreen = new Array();
super();
}
public function mouseButtonDN(_arg1:Number, _arg2:Number){
}
public function setObjectOnScreen(_arg1:int){
}
public function update(_arg1=null):void{
}
public function deleteObj(){
}
public function mouseButtonUP(){
}
public function unsetObjectOnScreen(_arg1:int){
}
public function isObjectClicked(){
}
public function saveMap(_arg1:Boolean=false){
}
}
}//package com.bte
Section 41
//bteObjects (com.bte.bteObjects)
package com.bte {
import flash.events.*;
import flash.display.*;
import com.bte.objects.*;
public class bteObjects extends MovieClip {
public var queueXOffset:Number;
private var scrollPOS;
public var objQueue:Array;
public var objClips:Array;
private var theStage:Stage;
public var curObjNum:int;
public var truckObjNum:int;
private var rootInterface:GameEngine;
public var nextInQueue:int;
public function bteObjects(_arg1:GameEngine, _arg2:Stage){
var _local3:int;
scrollPOS = {x:int, y:int};
super();
rootInterface = _arg1;
theStage = _arg2;
objQueue = new Array();
objClips = new Array();
nextInQueue = 1;
curObjNum = 1;
queueXOffset = (theStage.stageWidth * 3);
}
public function stageObject(_arg1:int, _arg2:int, _arg3:int, _arg4=null, _arg5=null, _arg6=null, _arg7:int=-1){
var _local8:bteOBJ;
switch (_arg1){
case 0:
_local8 = new bteOBJ(rootInterface, scrollPOS, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
_local8.objNum = curObjNum;
_local8.mapNum = _arg7;
objClips.push(_local8);
this.addChild(_local8);
truckObjNum = (objClips.length - 1);
break;
case 80:
_local8 = new bteOBJ(rootInterface, scrollPOS, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
_local8.objNum = curObjNum;
_local8.mapNum = _arg7;
_local8.inFG = true;
objClips.push(_local8);
rootInterface.theFGObjects.addChild(_local8);
break;
default:
_local8 = new bteOBJ(rootInterface, scrollPOS, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
_local8.objNum = curObjNum;
_local8.mapNum = _arg7;
objClips.push(_local8);
this.addChild(_local8);
break;
};
curObjNum++;
return ((objClips.length - 1));
}
public function removeAllObjects(){
var _local1:*;
for (_local1 in rootInterface.theObjects.objClips) {
if (_local1 != truckObjNum){
rootInterface.theObjects.objClips[_local1].mc.remove = true;
};
};
}
public function stageObjectFromQueue(_arg1:int){
stageObject(objQueue[_arg1].type, objQueue[_arg1].x, objQueue[_arg1].y, 0, 0, 0, _arg1);
if (((!((_arg1 == 0))) && (rootInterface.editMode))){
rootInterface.editMenu.setObjectOnScreen(_arg1);
};
}
public function remove(_arg1:bteOBJ){
var _local2:*;
if (_arg1.inFG){
rootInterface.theFGObjects.removeChild(_arg1);
} else {
this.removeChild(_arg1);
};
for (_local2 in rootInterface.theObjects.objClips) {
if (rootInterface.theObjects.objClips[_local2].objNum == _arg1.objNum){
if (((rootInterface.editMode) && (!(_arg1.deleted)))){
rootInterface.editMenu.unsetObjectOnScreen(rootInterface.theObjects.objClips[_local2].mapNum);
};
rootInterface.theObjects.objClips.splice(_local2, 1);
break;
};
};
}
public function update(_arg1:int, _arg2:int, _arg3:Number):void{
scrollPOS.x = _arg1;
scrollPOS.y = _arg2;
rootInterface.theFGObjects.scaleX = (rootInterface.theFGObjects.scaleY = (scaleX = (scaleY = (1 / _arg3))));
if (((((!(rootInterface.editMode)) && ((objQueue.length > nextInQueue)))) && (((_arg1 + queueXOffset) > objQueue[nextInQueue].x)))){
stageObjectFromQueue(nextInQueue);
nextInQueue++;
};
}
public function queue(_arg1:int, _arg2:int, _arg3:int){
objQueue.push({type:_arg3, x:_arg1, y:_arg2});
}
}
}//package com.bte
Section 42
//bteParralaxBG (com.bte.bteParralaxBG)
package com.bte {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
public class bteParralaxBG extends MovieClip {
var tileRowsSize:int;
private var editMode:Boolean;
private var levelData:bteLevelData;
private var colors:Array;
private var theStage:Stage;
private var filterMatrix;
private var yMeowChecker:int;// = 0
var tileRows:int;
private var yMeow:Number;
var firstSpecialTile:int;
private var filter:ColorMatrixFilter;
private var rootInterface:GameEngine;
public static var surface:Array = [];
public function bteParralaxBG(_arg1:Stage, _arg2:bteLevelData, _arg3:GameEngine, _arg4:Boolean=false){
var _local5:int;
filterMatrix = [0.75, 0, 0, 0, 0, 0, 0.75, 0, 0, 0, 0, 0, 0.75, 0, 0, 0, 0, 0, 1, 0];
filter = new ColorMatrixFilter(filterMatrix);
super();
colors = new Array(4);
_local5 = 0;
while (_local5 < 5) {
colors[_local5] = (((Math.floor((102 * (1 + ((1 + _local5) / 15)))) << 16) + (Math.floor((109 * (1 + ((1 + _local5) / 15)))) << 8)) + Math.floor((130 * (1 + ((1 + _local5) / 15)))));
_local5++;
};
editMode = _arg4;
theStage = _arg1;
levelData = _arg2;
rootInterface = _arg3;
tileRows = (Math.floor((theStage.stageWidth / 12.8)) + 4);
tileRowsSize = ((Math.floor((theStage.stageWidth / 12.8)) + 3) * 64);
_local5 = 0;
while (_local5 < tileRows) {
surface[_local5] = new surfaceTilesCont();
surface[_local5].cacheAsBitmap = true;
surface[_local5].bgDraw.cacheAsBitmap = true;
surface[_local5].xoff = (_local5 * 64);
surface[_local5].tileUpdated = true;
surface[_local5].filters = [filter];
this.addChild(surface[_local5]);
_local5++;
};
}
public function update(_arg1:int, _arg2:int, _arg3:Number):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local15:MovieClip;
var _local16:int;
var _local17:Number;
var _local18:Number;
visible = rootInterface.graphicsOptSet[1];
if (!rootInterface.graphicsOptSet[1]){
return;
};
_arg3 = (_arg3 * 2);
var _local13 = 999999999;
var _local14:Boolean;
_local8 = 0;
while (_local8 < tileRows) {
if ((surface[_local8].xoff - _arg1) < -64){
surface[_local8].xoff = (surface[_local8].xoff + tileRowsSize);
surface[_local8].tileUpdated = true;
};
if ((surface[_local8].xoff - _arg1) >= (tileRowsSize - 64)){
surface[_local8].xoff = (surface[_local8].xoff - tileRowsSize);
surface[_local8].tileUpdated = true;
};
_local12 = Math.floor((surface[_local8].xoff >> 5));
_local4 = _local11;
_local11 = levelData.getGroundHeight(surface[_local8].xoff);
yMeow = (Math.max((theStage.stageHeight * _arg3), ((_arg2 + (theStage.stageHeight * _arg3)) - _local11)) + 20);
if (yMeow > (surface[_local8].yMeow + 20)){
surface[_local8].tileUpdated = true;
};
if (surface[_local8].tileUpdated){
surface[_local8].yMeow = yMeow;
surface[_local8].tileUpdated = false;
_local10 = ((_local8 << 64) - (_arg1 & 63));
_local5 = (levelData.getGroundHeight((surface[_local8].xoff + 64)) - _local11);
_local9 = _local12;
if (rootInterface.graphicsOptSet[3]){
surface[_local8].tiles.visible = true;
surface[_local8].tiles.rotation = (Math.atan2(_local5, 64) * 57.2957795);
surface[_local8].tiles.gotoAndStop(levelData.SurfaceTile[(_local9 - 1)]);
} else {
surface[_local8].tiles.visible = false;
};
_local15 = surface[_local8].bgDraw;
_local15.graphics.clear();
_local15.graphics.beginFill(6712706);
_local15.graphics.moveTo(0, 0);
_local15.graphics.lineTo(64, _local5);
_local15.graphics.lineTo(70, (_local5 + 8));
_local15.graphics.lineTo(70, yMeow);
_local15.graphics.lineTo(-1, yMeow);
_local15.graphics.endFill();
if (((rootInterface.graphicsOptSet[4]) && ((_local12 > 0)))){
_local16 = 0;
_local17 = 1.5;
while (_local17 <= 2) {
_local15.graphics.beginFill(colors[_local16]);
_local15.graphics.moveTo(0, Math.min(yMeow, Math.pow(levelData.GroundDeviation[(_local12 - 2)], _local17)));
_local18 = Math.min(yMeow, Math.pow(levelData.GroundDeviation[_local12], _local17));
_local15.graphics.lineTo(64, _local18);
_local15.graphics.lineTo(70, (_local18 + 8));
_local15.graphics.lineTo(70, yMeow);
_local15.graphics.lineTo(-1, yMeow);
_local15.graphics.endFill();
_local16++;
_local17 = (_local17 + 0.5);
};
};
};
surface[_local8].y = (_local11 - _arg2);
surface[_local8].x = (surface[_local8].xoff - _arg1);
scaleX = (scaleY = (1 / _arg3));
_local8++;
};
}
}
}//package com.bte
Section 43
//bteSoundFX (com.bte.bteSoundFX)
package com.bte {
import flash.display.*;
import flash.media.*;
public class bteSoundFX extends MovieClip {
var numOfSoundChannels:int;// = 128
var numOfLoopingSoundChannels:int;// = 4
var SoundNameNum:Array;
private var theStage:Stage;
var loopRef:Array;
public var played:int;// = 0
var SoundName:Array;
var loopingSoundChannels:Array;
var curChannel:int;// = 0
var SoundRef:Array;
var st:SoundTransform;
var loopPlaying:Array;
private var rootInterface:GameEngine;
var soundChannels:Array;
public function bteSoundFX(_arg1:GameEngine, _arg2:Stage){
var _local3:int;
soundChannels = new Array();
SoundRef = new Array();
SoundName = ["Phaser", "EnemyPhaser", "PhaserHitGround", "Explosion1", "Explosion2", "Explosion3", "Explosion4", "TinyExplosion1", "TinyExplosion2", "TinyExplosion3", "TinyExplosion4", "Spark1", "Spark2", "Spark3", "Spark4", "Spark5", "Rocks1", "Rocks2", "Rocks3", "Rocks4", "Rocks5", "SlimeHit1", "SlimeHit2", "SlimeHit3", "SlimeHit4", "SlimeDeath", "MetalHit1", "MetalHit2", "MetalHit3", "MetalHit4", "Geo1", "Geo2", "Geo3", "Geo4", "Geo5", "Geo6", "Geo7", "GeoUG1", "GeoUG2", "GeoUG3", "GeoUG4", "GeoUG5", "GeoUG6", "GeoUG7", "Rumble1", "Rumble2", "Rumble3", "Rumble4", "Rumble5", "GeoEnterUG", "GeoExitUG1", "GeoExitUG2", "GeoExitUG3", "GeoExitUG4", "GeoDeath1", "GeoDeath2", "SlimeWheel", "BuggyLand", "BuggyVBoost", "MobikEngine", "BigBomb", "Aeroviz1", "Aeroviz2", "Aeroviz3", "Aeroviz4", "AerovizSuck", "AerovizHit", "AerovizDeath", "PowerUp", "Points1", "Points2", "Points3", "Points4", "Points5", "Points6", "Points7", "Points8", "CountDown", "Streak", "Rollover"];
SoundNameNum = new Array();
loopingSoundChannels = new Array();
loopPlaying = new Array();
loopRef = new Array();
st = new SoundTransform();
super();
rootInterface = _arg1;
theStage = _arg2;
played++;
if (played == 2){
return;
};
_local3 = 0;
while (_local3 < SoundName.length) {
switch (_local3){
case 0:
SoundRef[_local3] = new sfxPhaser();
break;
case 1:
SoundRef[_local3] = new sfxEnemyPhaser();
break;
case 2:
SoundRef[_local3] = new sfxPhaserHitGround();
break;
case 3:
SoundRef[_local3] = new sfxExplosion1();
break;
case 4:
SoundRef[_local3] = new sfxExplosion2();
break;
case 5:
SoundRef[_local3] = new sfxExplosion3();
break;
case 6:
SoundRef[_local3] = new sfxExplosion4();
break;
case 7:
SoundRef[_local3] = new sfxTinyExplosion1();
break;
case 8:
SoundRef[_local3] = new sfxTinyExplosion2();
break;
case 9:
SoundRef[_local3] = new sfxTinyExplosion3();
break;
case 10:
SoundRef[_local3] = new sfxTinyExplosion4();
break;
case 11:
SoundRef[_local3] = new sfxSpark1();
break;
case 12:
SoundRef[_local3] = new sfxSpark2();
break;
case 13:
SoundRef[_local3] = new sfxSpark3();
break;
case 14:
SoundRef[_local3] = new sfxSpark4();
break;
case 15:
SoundRef[_local3] = new sfxSpark5();
break;
case 16:
SoundRef[_local3] = new sfxRocks1();
break;
case 17:
SoundRef[_local3] = new sfxRocks2();
break;
case 18:
SoundRef[_local3] = new sfxRocks3();
break;
case 19:
SoundRef[_local3] = new sfxRocks4();
break;
case 20:
SoundRef[_local3] = new sfxRocks5();
break;
case 21:
SoundRef[_local3] = new sfxSlimeHit();
break;
case 22:
SoundRef[_local3] = new sfxSlimeHit2();
break;
case 23:
SoundRef[_local3] = new sfxSlimeHit3();
break;
case 24:
SoundRef[_local3] = new sfxSlimeHit4();
break;
case 25:
SoundRef[_local3] = new sfxSlimeDeath();
break;
case 26:
SoundRef[_local3] = new sfxMetalHit1();
break;
case 27:
SoundRef[_local3] = new sfxMetalHit2();
break;
case 28:
SoundRef[_local3] = new sfxMetalHit3();
break;
case 29:
SoundRef[_local3] = new sfxMetalHit4();
break;
case 30:
SoundRef[_local3] = new sfxGeo1();
break;
case 31:
SoundRef[_local3] = new sfxGeo2();
break;
case 32:
SoundRef[_local3] = new sfxGeo3();
break;
case 33:
SoundRef[_local3] = new sfxGeo4();
break;
case 34:
SoundRef[_local3] = new sfxGeo5();
break;
case 35:
SoundRef[_local3] = new sfxGeo6();
break;
case 36:
SoundRef[_local3] = new sfxGeo7();
break;
case 37:
SoundRef[_local3] = new sfxGeoUG1();
break;
case 38:
SoundRef[_local3] = new sfxGeoUG2();
break;
case 39:
SoundRef[_local3] = new sfxGeoUG3();
break;
case 40:
SoundRef[_local3] = new sfxGeoUG4();
break;
case 41:
SoundRef[_local3] = new sfxGeoUG5();
break;
case 42:
SoundRef[_local3] = new sfxGeoUG6();
break;
case 43:
SoundRef[_local3] = new sfxGeoUG7();
break;
case 44:
SoundRef[_local3] = new sfxRumble1();
break;
case 45:
SoundRef[_local3] = new sfxRumble2();
break;
case 46:
SoundRef[_local3] = new sfxRumble3();
break;
case 47:
SoundRef[_local3] = new sfxRumble4();
break;
case 48:
SoundRef[_local3] = new sfxRumble5();
break;
case 49:
SoundRef[_local3] = new sfxGeoEnterUG();
break;
case 50:
SoundRef[_local3] = new sfxGeoExitUG1();
break;
case 51:
SoundRef[_local3] = new sfxGeoExitUG2();
break;
case 52:
SoundRef[_local3] = new sfxGeoExitUG3();
break;
case 53:
SoundRef[_local3] = new sfxGeoExitUG4();
break;
case 54:
SoundRef[_local3] = new sfxGeoDeath1();
break;
case 55:
SoundRef[_local3] = new sfxGeoDeath2();
break;
case 56:
SoundRef[_local3] = new sfxSlimeWheel();
break;
case 57:
SoundRef[_local3] = new sfxBuggyLand();
break;
case 58:
SoundRef[_local3] = new sfxBuggyVBoost();
break;
case 59:
SoundRef[_local3] = new sfxMobikEngine();
break;
case 60:
SoundRef[_local3] = new sfxBigBomb();
break;
case 61:
SoundRef[_local3] = new sfxAeroviz1();
break;
case 62:
SoundRef[_local3] = new sfxAeroviz2();
break;
case 63:
SoundRef[_local3] = new sfxAeroviz3();
break;
case 64:
SoundRef[_local3] = new sfxAeroviz4();
break;
case 65:
SoundRef[_local3] = new sfxAerovizSuck();
break;
case 66:
SoundRef[_local3] = new sfxAerovizHit();
break;
case 67:
SoundRef[_local3] = new sfxAerovizDeath();
break;
case 68:
SoundRef[_local3] = new sfxPowerUp();
break;
case 69:
SoundRef[_local3] = new sfxPoints1();
break;
case 70:
SoundRef[_local3] = new sfxPoints2();
break;
case 71:
SoundRef[_local3] = new sfxPoints3();
break;
case 72:
SoundRef[_local3] = new sfxPoints4();
break;
case 73:
SoundRef[_local3] = new sfxPoints5();
break;
case 74:
SoundRef[_local3] = new sfxPoints6();
break;
case 75:
SoundRef[_local3] = new sfxPoints7();
break;
case 76:
SoundRef[_local3] = new sfxPoints8();
break;
case 77:
SoundRef[_local3] = new sfxCountDown();
break;
case 78:
SoundRef[_local3] = new sfxStreak();
break;
case 79:
SoundRef[_local3] = new sfxRollover();
break;
};
SoundNameNum[SoundName[_local3]] = (_local3 + 1);
_local3++;
};
_local3 = 0;
while (_local3 < numOfSoundChannels) {
soundChannels[_local3] = new SoundChannel();
_local3++;
};
_local3 = 0;
while (_local3 < numOfLoopingSoundChannels) {
loopingSoundChannels[_local3] = new SoundChannel();
loopPlaying[_local3] = false;
loopRef[_local3] = 0;
_local3++;
};
}
public function stopLoopRef(_arg1:int){
loopingSoundChannels[_arg1].stop();
loopPlaying[_arg1] = false;
}
public function stopLoop(_arg1){
var _local2 = -1;
if (SoundNameNum[_arg1]){
_arg1 = (SoundNameNum[_arg1] - 1);
};
if (!SoundRef[_arg1]){
return;
};
var _local3:* = 0;
while (_local3 < numOfLoopingSoundChannels) {
if (loopRef[_local3] == _arg1){
_local2 = _local3;
break;
};
_local3++;
};
if (_local2 == -1){
return;
};
loopingSoundChannels[_local2].stop();
loopPlaying[_local2] = false;
}
public function updateLoop(_arg1:int, _arg2:Number=100, _arg3:Number=0){
var _local4:Number;
var _local5:Number;
if (!loopPlaying[_arg1]){
return;
};
if (_arg3){
_local4 = (_arg3 - (rootInterface.scrollX + ((theStage.stageWidth * rootInterface.zoom) / 2)));
_local5 = Math.max(0, ((800 - Math.abs((Math.min(((theStage.stageWidth * rootInterface.zoom) / 2), Math.max(-(((theStage.stageWidth * rootInterface.zoom) / 2)), _local4)) - _local4))) / 800));
} else {
_local4 = 0;
_local5 = 1;
};
st.volume = ((_arg2 * _local5) / 100);
st.pan = Math.max(-1, Math.min(1, (_local4 / (theStage.stageWidth / 2))));
loopingSoundChannels[_arg1].soundTransform = st;
}
public function startLoop(_arg1, _arg2:Number=100, _arg3:Number=0){
var _local4:Number;
var _local5:Number;
var _local6 = -1;
if (SoundNameNum[_arg1]){
_arg1 = (SoundNameNum[_arg1] - 1);
};
if (!SoundRef[_arg1]){
return;
};
if (_arg3){
_local4 = (_arg3 - (rootInterface.scrollX + ((theStage.stageWidth * rootInterface.zoom) / 2)));
_local5 = Math.max(0, ((800 - Math.abs((Math.min(((theStage.stageWidth * rootInterface.zoom) / 2), Math.max(-(((theStage.stageWidth * rootInterface.zoom) / 2)), _local4)) - _local4))) / 800));
} else {
_local4 = 0;
_local5 = 1;
};
var _local7:* = 0;
while (_local7 < numOfLoopingSoundChannels) {
if (!loopPlaying[_local7]){
_local6 = _local7;
break;
};
_local7++;
};
if (_local6 == -1){
return;
};
st.volume = ((_arg2 * _local5) / 100);
st.pan = Math.max(-1, Math.min(1, (_local4 / (theStage.stageWidth / 2))));
loopingSoundChannels[_local6] = SoundRef[_arg1].play(0, 1000);
loopingSoundChannels[_local6].soundTransform = st;
loopRef[_local6] = _arg1;
loopPlaying[_local6] = true;
return (_local6);
}
public function playSFX(_arg1, _arg2:Number=100, _arg3:Number=0){
var _local4:Number;
var _local5:Number;
if (SoundNameNum[_arg1]){
_arg1 = (SoundNameNum[_arg1] - 1);
};
if (!SoundRef[_arg1]){
return;
};
if (_arg3){
_local4 = (_arg3 - (rootInterface.scrollX + ((theStage.stageWidth * rootInterface.zoom) / 2)));
_local5 = Math.max(0, ((800 - Math.abs((Math.min(((theStage.stageWidth * rootInterface.zoom) / 2), Math.max(-(((theStage.stageWidth * rootInterface.zoom) / 2)), _local4)) - _local4))) / 800));
} else {
_local4 = 0;
_local5 = 1;
};
st.volume = ((_arg2 * _local5) / 100);
st.pan = Math.max(-1, Math.min(1, (_local4 / (theStage.stageWidth / 2))));
if (!soundChannels[curChannel]){
curChannel++;
return;
};
soundChannels[curChannel] = SoundRef[_arg1].play();
soundChannels[curChannel].soundTransform = st;
curChannel++;
if (curChannel >= numOfSoundChannels){
curChannel = 0;
};
}
}
}//package com.bte
Section 44
//bteStatus (com.bte.bteStatus)
package com.bte {
import flash.events.*;
import flash.display.*;
public class bteStatus extends MovieClip {
public var hpMeter:MovieClip;
public var img:MovieClip;
public var powerUpArr:Array;
public var wpMeter:MovieClip;
private var rootInterface:GameEngine;
public var bpMeter:MovieClip;
public var statusArea:MovieClip;
public function bteStatus(_arg1:GameEngine, _arg2:Stage){
powerUpArr = new Array(6);
super();
rootInterface = _arg1;
trace((rootInterface.temp + " sound"));
statusArea = new Statusarea();
this.addChild(statusArea);
hpMeter = new Meter();
statusArea.addChild(hpMeter);
hpMeter.x = 5;
hpMeter.y = 5;
hpMeter.txt.text = "HEALTH";
wpMeter = new Meter();
statusArea.addChild(wpMeter);
wpMeter.x = 217;
wpMeter.y = 5;
wpMeter.txt.text = "AUTO RELOAD";
bpMeter = new Meter();
statusArea.addChild(bpMeter);
bpMeter.x = 429;
bpMeter.y = 5;
bpMeter.txt.text = "HYPER JUMP";
var _local3:* = 0;
while (_local3 < 6) {
img = new PowerUp();
statusArea.addChild(img);
img.x = (300 + (_local3 * 32));
img.y = 85;
img.width = (img.height = 26);
img.gotoAndStop((_local3 + 1));
img.visible = false;
powerUpArr[_local3] = img;
_local3++;
};
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
statusArea.scaleX = (statusArea.scaleY = (_arg2.stageWidth / 640));
statusArea.controls.visible = false;
statusArea.levelCompleted.visible = false;
statusArea.btn_mc.visible = false;
}
public function update(_arg1=null):void{
}
public function updateAcc(_arg1:int, _arg2:int){
statusArea.accuracy.text = (((((_arg2 + "/") + _arg1) + " (") + Math.round(((_arg2 / _arg1) * 100))) + "%)");
}
public function updatePowerUps(_arg1:Array):void{
var _local2:* = 0;
while (_local2 < 6) {
powerUpArr[_local2].visible = _arg1[_local2];
_local2++;
};
}
}
}//package com.bte
Section 45
//surfaceTilesCont (com.bte.surfaceTilesCont)
package com.bte {
import flash.display.*;
public class surfaceTilesCont extends MovieClip {
public var yMeow:Number;// = 0
public var tiles:surfaceTiles;
public var xoff:int;
public var bgDraw:MovieClip;
public var tileUpdated:Boolean;
public function surfaceTilesCont(){
bgDraw = new MovieClip();
this.addChild(bgDraw);
tiles = new surfaceTiles();
this.addChild(tiles);
}
}
}//package com.bte
Section 46
//btns_mc_27 (SpyTruck_finalfile_fla.btns_mc_27)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class btns_mc_27 extends MovieClip {
public var moregame:menuButton;
public var nextbtn:menuButton;
public function btns_mc_27(){
addFrameScript(0, frame1);
}
function frame1(){
nextbtn.addEventListener(MouseEvent.CLICK, gotoURL);
nextbtn.t.text = "NEXT GAME";
moregame.addEventListener(MouseEvent.CLICK, gotoURL2);
moregame.t.text = "MORE GAMES";
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/"), "_blank");
}
public function gotoURL(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/show_more.php?type=shooting"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 47
//btnSubmitScore_51 (SpyTruck_finalfile_fla.btnSubmitScore_51)
package SpyTruck_finalfile_fla {
import flash.display.*;
public dynamic class btnSubmitScore_51 extends MovieClip {
public var Score;
public var gameID;
public function btnSubmitScore_51(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package SpyTruck_finalfile_fla
Section 48
//bustedsymbolcomplete_52 (SpyTruck_finalfile_fla.bustedsymbolcomplete_52)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class bustedsymbolcomplete_52 extends MovieClip {
public var logo_btn:SimpleButton;
public function bustedsymbolcomplete_52(){
addFrameScript(0, frame1);
}
function frame1(){
logo_btn.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 49
//bustedsymbolcompletecopy2_21 (SpyTruck_finalfile_fla.bustedsymbolcompletecopy2_21)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
import flash.ui.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.geom.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.xml.*;
public dynamic class bustedsymbolcompletecopy2_21 extends MovieClip {
public var logo_btn:SimpleButton;
public function bustedsymbolcompletecopy2_21(){
addFrameScript(0, frame1);
}
public function mouseout(_arg1:MouseEvent){
MovieClip(root).mouseCrosshair.visible = true;
Mouse.hide();
}
function frame1(){
logo_btn.addEventListener(MouseEvent.CLICK, gotoURL2);
logo_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseover);
logo_btn.addEventListener(MouseEvent.MOUSE_OUT, mouseout);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/"), "_blank");
}
public function mouseover(_arg1:MouseEvent){
Mouse.show();
MovieClip(root).mouseCrosshair.visible = false;
}
}
}//package SpyTruck_finalfile_fla
Section 50
//CheckBox_99 (SpyTruck_finalfile_fla.CheckBox_99)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
public dynamic class CheckBox_99 extends MovieClip {
public var checkGraphic:MovieClip;
public var checked:Boolean;
public function CheckBox_99(){
addFrameScript(0, frame1);
}
public function getChecked(){
return (checked);
}
function frame1(){
addEventListener(MouseEvent.CLICK, checkClicked);
checkGraphic.visible = checked;
gotoAndStop(1);
}
public function setChecked(_arg1:Boolean){
checkGraphic.visible = (checked = _arg1);
}
public function checkClicked(_arg1:MouseEvent){
checked = !(checked);
checkGraphic.visible = checked;
}
}
}//package SpyTruck_finalfile_fla
Section 51
//GameBusted_1 (SpyTruck_finalfile_fla.GameBusted_1)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public dynamic class GameBusted_1 extends MovieClip {
public var PercentLoaded;
public var per_txt:TextField;
public var play_btn:SimpleButton;
public var bar:MovieClip;
public var btn1:SimpleButton;
public var btn2:SimpleButton;
public function GameBusted_1(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 76, frame77, 190, frame191);
}
function frame191(){
MovieClip(root).gotoAndStop(5);
}
public function loadpgrss(_arg1:ProgressEvent){
PercentLoaded = Math.ceil(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100));
bar.width = (PercentLoaded * 1.93);
per_txt.text = PercentLoaded;
}
function frame2(){
gotoAndPlay(1);
}
public function goooo(_arg1:MouseEvent){
play();
}
public function loadermc(_arg1:Event){
if (PercentLoaded == 100){
removeEventListener(Event.ENTER_FRAME, loadermc);
gotoAndStop("loaded");
trace("hi to all");
};
}
function frame1(){
stop();
PercentLoaded = 0;
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadpgrss);
this.addEventListener(Event.ENTER_FRAME, loadermc);
btn2.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/"), "_blank");
}
function frame77(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL);
}
public function gotoURL(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.startonlinegames.com/"), "_blank");
}
function frame3(){
play_btn.addEventListener(MouseEvent.CLICK, goooo);
}
}
}//package SpyTruck_finalfile_fla
Section 52
//menuMain_44 (SpyTruck_finalfile_fla.menuMain_44)
package SpyTruck_finalfile_fla {
import flash.display.*;
public dynamic class menuMain_44 extends MovieClip {
public var startGameButton:menuButton;
public var freeGamesButton:menuButton;
public var optionsButton:menuButton;
public var highScoresButton:menuButton;
public var instructionsButton:menuButton;
public function menuMain_44(){
addFrameScript(0, frame1);
}
function frame1(){
startGameButton.t.text = "PLAY GAME";
startGameButton.buttonMode = true;
instructionsButton.t.text = "HELP";
instructionsButton.buttonMode = true;
highScoresButton.t.text = "View High Scores";
highScoresButton.buttonMode = true;
optionsButton.t.text = "Options";
optionsButton.buttonMode = true;
freeGamesButton.t.text = "PLAY MORE";
freeGamesButton.buttonMode = true;
}
}
}//package SpyTruck_finalfile_fla
Section 53
//morefreegames_37 (SpyTruck_finalfile_fla.morefreegames_37)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class morefreegames_37 extends MovieClip {
public var btn1:SimpleButton;
public function morefreegames_37(){
addFrameScript(0, frame1);
}
function frame1(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/play.php?id=3916"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 54
//morefreegames2_39 (SpyTruck_finalfile_fla.morefreegames2_39)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class morefreegames2_39 extends MovieClip {
public var btn1:SimpleButton;
public function morefreegames2_39(){
addFrameScript(0, frame1);
}
function frame1(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/play.php?id=4120"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 55
//morefreegames3_40 (SpyTruck_finalfile_fla.morefreegames3_40)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class morefreegames3_40 extends MovieClip {
public var btn1:SimpleButton;
public function morefreegames3_40(){
addFrameScript(0, frame1);
}
function frame1(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/play.php?id=3832"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 56
//morefreegames4_41 (SpyTruck_finalfile_fla.morefreegames4_41)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class morefreegames4_41 extends MovieClip {
public var btn1:SimpleButton;
public function morefreegames4_41(){
addFrameScript(0, frame1);
}
function frame1(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/play.php?id=4192"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 57
//morefreegames5_42 (SpyTruck_finalfile_fla.morefreegames5_42)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class morefreegames5_42 extends MovieClip {
public var btn1:SimpleButton;
public function morefreegames5_42(){
addFrameScript(0, frame1);
}
function frame1(){
btn1.addEventListener(MouseEvent.CLICK, gotoURL2);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/play.php?id=3432"), "_blank");
}
}
}//package SpyTruck_finalfile_fla
Section 58
//sound_mc_icon_53 (SpyTruck_finalfile_fla.sound_mc_icon_53)
package SpyTruck_finalfile_fla {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public dynamic class sound_mc_icon_53 extends MovieClip {
public var s:SoundTransform;
public var onoff_btn_mc:SimpleButton;
public var soundOn:Boolean;
public function sound_mc_icon_53(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
soundOn = true;
s = new SoundTransform();
onoff_btn_mc.addEventListener(MouseEvent.CLICK, toggleSound);
}
public function toggleSound(_arg1:MouseEvent){
if (soundOn){
s.volume = 0;
SoundMixer.soundTransform = s;
gotoAndStop(2);
soundOn = false;
} else {
s.volume = 1;
SoundMixer.soundTransform = s;
gotoAndStop(1);
soundOn = true;
};
}
}
}//package SpyTruck_finalfile_fla
Section 59
//addmc (addmc)
package {
import flash.display.*;
public dynamic class addmc extends MovieClip {
}
}//package
Section 60
//buggyGun (buggyGun)
package {
import flash.display.*;
public dynamic class buggyGun extends MovieClip {
}
}//package
Section 61
//CheckpointImg (CheckpointImg)
package {
import flash.display.*;
public dynamic class CheckpointImg extends MovieClip {
}
}//package
Section 62
//CrossHair (CrossHair)
package {
import flash.display.*;
public dynamic class CrossHair extends MovieClip {
}
}//package
Section 63
//EfxAccuracyStreak (EfxAccuracyStreak)
package {
import flash.display.*;
import flash.text.*;
public dynamic class EfxAccuracyStreak extends MovieClip {
public var txt:TextField;
}
}//package
Section 64
//EfxDustImg (EfxDustImg)
package {
import flash.display.*;
public dynamic class EfxDustImg extends MovieClip {
}
}//package
Section 65
//EfxExplosionImg (EfxExplosionImg)
package {
import flash.display.*;
public dynamic class EfxExplosionImg extends MovieClip {
}
}//package
Section 66
//EfxRockImg (EfxRockImg)
package {
import flash.display.*;
public dynamic class EfxRockImg extends MovieClip {
}
}//package
Section 67
//EfxSmokeImg (EfxSmokeImg)
package {
import flash.display.*;
public dynamic class EfxSmokeImg extends MovieClip {
}
}//package
Section 68
//EfxSparkImg (EfxSparkImg)
package {
import flash.display.*;
public dynamic class EfxSparkImg extends MovieClip {
}
}//package
Section 69
//farBG (farBG)
package {
import flash.display.*;
public dynamic class farBG extends MovieClip {
}
}//package
Section 70
//GameEngine (GameEngine)
package {
import com.bte.*;
import flash.events.*;
import flash.display.*;
import com.bte.objects.*;
import flash.ui.*;
public class GameEngine extends MovieClip {
public var revKeyMap:Array;
public var lostLifeSet:Boolean;
public var efx:bteEffects;
public var hp:Number;
public var ticker:int;
public var globalSettings:bteGlobalSettings;
public var doubleKeyPress:int;// = 0
public var screenPosX:Number;
public var screenPosY:Number;
public var graphicsOptSet;
public var startBonusX:Number;
public var swx2:Number;
public var mouseCrosshair:MovieClip;
public var lastCheckPointPoints:int;// = 0
public var doubleKeyPressCnt:int;// = 0
public var braking:Number;
public var scrollX:int;// = 0
public var scrollY:int;// = 0
public var keyIsDown:Array;
public var screenPosYTarg:Number;
public var mouseButtonDN:Boolean;
private var tips:Array;
public var hits:int;
public var maxEnemyDist:Number;
public var bp:Number;
public var timeBonus:int;// = 0
public var gravity:Number;
private var secretCodes;
public var altRevKeyMap:Array;
public var pauseUntilSpaceBar:Boolean;
public var levelData:bteLevelData;
public var theObjects:bteObjects;
private var secretCodeCnt:int;// = -1
public var gameRunning:Boolean;// = false
public var gameMenu:bteMenu;
public var curAltForceObj:int;
public var lastCheckPointX:int;// = 0
public var havePowerUps:Array;
public var keyMap:Array;
public var streak:int;
private var theBackground:bteBackground;
public var startObjectNum:Number;
public var lr:Number;
public var editMenu:bteNullEditMenu;
public var sfx:bteSoundFX;
public var pressKeyToContinue:Boolean;// = false
public var truckFromGround:Number;
public var screenPosXTarg:Number;
public var altKeyMap:Array;
public var maxEnemyDistSmooth:Number;
public var statusArea:bteStatus;
public var Mmc;
public var accuracyBonus:int;// = 0
public var gameIsOver:Boolean;// = false
public var lastCheckPointPowerUps:Array;
public var shots:int;
public var accuracyBonusEarned:int;// = 0
public var checkPointTimes;
private var secretCodeChose:int;// = -1
public var gamePaused:Boolean;
public var mouseMapX:Number;// = 0
private var cheater:Boolean;// = false
public var curCheckPoint:int;// = 0
public var mouseMapY:Number;// = 0
public var showNormalMessagefadeCnt:int;
private var thefarBG:MovieClip;
public var editMode:Boolean;
public var shx2:Number;
public var theFGObjects:MovieClip;
public var zoom:Number;
public var vBoost:Number;
public var wp:Number;
public var lastStuntX:Number;
public var time:int;
public var continueTimer:int;// = 0
public var checkPointCnt:int;// = 0
public var points:int;
public var normalMessageMaxDown:Boolean;
public var bonusIsAccumulating:Boolean;// = false
private var theParralaxBG:bteParralaxBG;
public var graphicsOptName;
public var temp:Boolean;
private var nextStage:Boolean;// = false
public var inv:int;
public var engineSfx:bteEngineSoundFX;
public var control_rot:Number;
public var lifes:int;// = 5
public var havePowerUp:Array;
public var atCheckPoint:Boolean;// = false
public var weapRate:int;
public function GameEngine(){
havePowerUp = new Array(6);
lastCheckPointPowerUps = new Array(6);
havePowerUps = new Array(6);
checkPointTimes = [120, 150, 100, 180, 135, 120, 120, 100, 240, 100];
graphicsOptSet = [true, false, true, true, true];
graphicsOptName = ["Smooth Edges", "Parallax BG", "Efx", "Ground Covering", "Shaded Hills"];
secretCodes = ["MYGOODIES", "CARTLEMMY"];
revKeyMap = [38, 40, 37, 39, 16, 90, 17];
altRevKeyMap = [87, 83, 65, 68, -1, -1, -1];
super();
addFrameScript(0, frame1, 4, frame5);
stage.quality = StageQuality.HIGH;
}
public function destroy(){
gameMenu.showMenu(((lifes < 0)) ? 4 : 5);
gameMenu.visible = true;
Mouse.show();
gameRunning = false;
}
private function update(_arg1=null):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
sfx.played = 0;
if (inv > 0){
inv--;
};
if (continueTimer > 0){
continueTimer--;
};
if (doubleKeyPressCnt > 0){
doubleKeyPressCnt--;
};
if (!gameRunning){
updateGameMenu();
};
if (atCheckPoint){
atCheckPoint = (gamePaused = ((bonusIsAccumulating) || (pressKeyToContinue)));
ticker++;
if ((((ticker & 1)) && (!(pressKeyToContinue)))){
bonusIsAccumulating = false;
_local2 = ("Points" + ((Math.floor(((ticker % 16) / 8)) * 4) + 1));
sfx.playSFX(_local2, 100, theObjects.objClips[theObjects.truckObjNum].mc.aX);
if (time > 0){
if (time < 5){
timeBonus = (timeBonus + (time * 100));
points = (points + (time * 100));
time = 0;
} else {
time = (time - 5);
timeBonus = (timeBonus + 500);
points = (points + 500);
};
statusArea.statusArea.timeDisp.text = formatMinSec(time);
statusArea.statusArea.pointsDisp.text = points;
bonusIsAccumulating = true;
} else {
if (accuracyBonusEarned > 0){
if (accuracyBonusEarned < 100){
points = (points + accuracyBonusEarned);
accuracyBonus = (accuracyBonus + accuracyBonusEarned);
accuracyBonusEarned = 0;
} else {
accuracyBonusEarned = (accuracyBonusEarned - 100);
accuracyBonus = (accuracyBonus + 100);
points = (points + 100);
};
statusArea.statusArea.pointsDisp.text = points;
bonusIsAccumulating = true;
};
};
statusMessage(((((("Stage " + curCheckPoint) + " Complete\n\nTime Bonus: ") + timeBonus) + "\nAccuracy Bonus: ") + accuracyBonus), false);
};
if (((!(bonusIsAccumulating)) && (!(pressKeyToContinue)))){
pressKeyToContinue = true;
lastCheckPointPoints = points;
hits = 0;
shots = 0;
time = checkPointTimes[curCheckPoint];
statusMessage((((statusArea.statusArea.messageBox.title.text + "\n") + statusArea.statusArea.messageBox.messageArea.text) + "\n\nPress any Key to Continue"), false);
};
};
if (!((gamePaused) || (!(gameRunning)))){
if (nextStage){
inv = 2;
theObjects.objClips[theObjects.truckObjNum].mc.moveTruckTo((theObjects.objClips[theObjects.truckObjNum].mc.aX + 1000));
};
ticker++;
if (((((ticker % 25) == 0)) && (!(lostLifeSet)))){
time--;
if (time < 0){
time = 0;
} else {
if (time <= 10){
sfx.playSFX("CountDown", 100);
};
};
statusArea.statusArea.timeDisp.text = formatMinSec(time);
statusArea.statusArea.pointsDisp.text = points;
};
if (lostLifeSet){
} else {
if (wp < 100){
wp = (wp + (0.5 * (havePowerUp[1]) ? 1.5 : 1));
};
if (bp < 100){
bp = (bp + (0.125 * (havePowerUp[5]) ? 9 : 1));
};
if (hp < 100){
hp = (hp + (0.02 * (havePowerUp[3]) ? 1.25 : 1));
};
if ((((hp < 0)) && (!(lostLifeSet)))){
lifeLost("Your buggy has been destroyed", true);
};
if ((((time == 0)) && (!(lostLifeSet)))){
lifeLost("You have run out of time", false, true);
};
};
statusArea.hpMeter.setMeter(0, hp, 100);
statusArea.wpMeter.setMeter(0.5, wp, 100);
statusArea.bpMeter.setMeter(4, bp, 100);
};
mouseCrosshair.x = stage.mouseX;
mouseCrosshair.y = stage.mouseY;
if (keyIsDown[3]){
control_rot = 0.022;
} else {
if (keyIsDown[2]){
control_rot = -0.022;
} else {
control_rot = 0;
};
};
if (keyIsDown[0]){
lr = 1;
} else {
if (keyIsDown[1]){
lr = -1;
} else {
lr = 0;
};
};
if (keyIsDown[5]){
if (Math.abs(lr)){
braking = 1;
lr = (lr * 0.5);
} else {
braking = 0.5;
};
} else {
braking = 1;
};
if (((((keyIsDown[6]) && (!(theObjects.objClips[theObjects.truckObjNum].mc.upsideDown)))) && ((bp > 1)))){
bp = (bp - 2);
if (!vBoost){
sfx.startLoop("BuggyVBoost", 100, theObjects.objClips[theObjects.truckObjNum].mc.aX);
};
vBoost = 2;
} else {
if (vBoost){
sfx.stopLoop("BuggyVBoost");
};
vBoost = 0;
};
screenPosXTarg = Math.min(0.95, Math.max(0.05, ((stage.stageWidth - stage.mouseX) / stage.stageWidth)));
screenPosYTarg = Math.min(0.95, Math.max(0.05, ((stage.stageHeight - stage.mouseY) / stage.stageHeight)));
screenPosX = (screenPosX - ((screenPosX - screenPosXTarg) / 20));
screenPosY = (screenPosY - ((screenPosY - screenPosYTarg) / 20));
scrollX = ((theObjects.objClips[theObjects.truckObjNum].mc.aX - ((stage.stageWidth * screenPosX) * zoom)) - theObjects.objClips[theObjects.truckObjNum].mc.scrollOffX);
scrollY = ((theObjects.objClips[theObjects.truckObjNum].mc.aY - ((stage.stageHeight * screenPosY) * zoom)) - theObjects.objClips[theObjects.truckObjNum].mc.scrollOffY);
theParralaxBG.update(scrollX, scrollY, zoom);
theBackground.update(scrollX, scrollY, zoom);
theObjects.update(scrollX, scrollY, zoom);
mouseMapX = (scrollX + (stage.mouseX * zoom));
mouseMapY = (scrollY + (stage.mouseY * zoom));
weapRate = (weapRate + (havePowerUp[1]) ? 2 : 1);
if (((((mouseButtonDN) && ((weapRate > 7)))) && ((wp > 5)))){
weapRate = 0;
_local3 = (theObjects.objClips[theObjects.truckObjNum].mc.gunX + theObjects.objClips[theObjects.truckObjNum].mc.vX);
_local4 = (theObjects.objClips[theObjects.truckObjNum].mc.gunY + theObjects.objClips[theObjects.truckObjNum].mc.vY);
_local5 = Math.atan2((mouseMapY - _local4), (mouseMapX - _local3));
theObjects.stageObject(10, (_local3 + (Math.cos(_local5) * 80)), (_local4 + (Math.sin(_local5) * 80)), _local5);
shots++;
statusArea.updateAcc(shots, hits);
wp = (wp - 5);
};
}
public function checkPointReached(_arg1:Number){
if (lostLifeSet){
return;
};
lastCheckPointX = _arg1;
var _local2:* = 0;
while (_local2 < 6) {
lastCheckPointPowerUps[_local2] = havePowerUp[_local2];
_local2++;
};
theObjects.objClips[theObjects.truckObjNum].mc.moveTruckTo(_arg1);
atCheckPoint = true;
Mouse.show();
mouseCrosshair.visible = false;
accuracyBonusEarned = Math.round(((shots / hits) * 2000));
statusArea.statusArea.messageBox.visible = true;
statusArea.statusArea.levelCompleted.visible = true;
statusArea.statusArea.btn_mc.visible = true;
var _local3:* = 0;
while (_local3 < 6) {
havePowerUp[_local3] = false;
_local3++;
};
statusArea.updatePowerUps(havePowerUp);
statusArea.hpMeter.visible = false;
statusArea.wpMeter.visible = false;
statusArea.bpMeter.visible = false;
bonusIsAccumulating = true;
ticker = 0;
timeBonus = 0;
accuracyBonus = 0;
hp = 100;
nextStage = false;
curCheckPoint++;
statusArea.statusArea.stageNum.text = ("Stage " + (curCheckPoint + 1));
}
public function init(){
var _local2:*;
editMode = false;
stage.quality = (graphicsOptSet[0]) ? StageQuality.HIGH : StageQuality.MEDIUM;
gravity = 0.3;
vBoost = 0;
screenPosX = (screenPosY = (screenPosXTarg = (screenPosYTarg = 0.5)));
checkPointCnt = 0;
atCheckPoint = false;
pressKeyToContinue = false;
lifes = 5;
accuracyBonus = 0;
accuracyBonusEarned = 0;
timeBonus = 0;
bonusIsAccumulating = false;
lastCheckPointX = 0;
lastCheckPointPoints = 0;
curCheckPoint = 0;
startObjectNum = 1;
hp = 100;
wp = 100;
bp = 100;
zoom = 2.5;
hits = 0;
shots = 0;
points = 0;
time = 100;
ticker = 0;
maxEnemyDist = (maxEnemyDistSmooth = 0);
control_rot = 0;
braking = 0;
lr = 0;
weapRate = 0;
mouseButtonDN = false;
keyMap = new Array(128);
altKeyMap = new Array(128);
var _local1:* = 0;
while (_local1 < 128) {
keyMap[_local1] = 0;
altKeyMap[_local1] = 0;
_local2 = 0;
while (_local2 < revKeyMap.length) {
if (revKeyMap[_local2] == _local1){
keyMap[_local1] = (_local2 + 1);
};
if (altRevKeyMap[_local2] == _local1){
altKeyMap[_local1] = (_local2 + 1);
};
_local2++;
};
_local1++;
};
keyIsDown = new Array(revKeyMap.length);
tips = ["Pay attention to the signs, they can be of help.", "When you are in the air point your nose up for more air, or down for less.", "To do a sudden stop do not press the forward or reverse keys when you hit the brakes.", "You will not get bonus stunt points if you land in the water.", "Land on both tires for a bonus.", "When in the air, follow the path of gold bonus crosses.", "Slowing down can be a good thing in certain places.", "Nose down to the bouncy bonus, but pull up at the last moment."];
sfx = new bteSoundFX(this, stage);
engineSfx = new bteEngineSoundFX(this);
globalSettings = new bteGlobalSettings();
theObjects = new bteObjects(this, stage);
levelData = new bteLevelData(theObjects);
levelData.initLevel(0);
thefarBG = new farBG();
this.addChild(thefarBG);
thefarBG.x = (stage.stageWidth / 2);
thefarBG.y = (stage.stageHeight / 2);
swx2 = (stage.stageWidth * 2);
shx2 = (stage.stageHeight * 2);
theParralaxBG = new bteParralaxBG(stage, levelData, this);
this.addChild(theParralaxBG);
this.addChild(theObjects);
theBackground = new bteBackground(stage, levelData, this);
this.addChild(theBackground);
efx = new bteEffects(this);
this.addChild(efx);
theFGObjects = new MovieClip();
this.addChild(theFGObjects);
editMenu = new bteNullEditMenu(this, stage);
statusArea = new bteStatus(this, stage);
this.addChild(statusArea);
statusArea.statusArea.messageBox.visible = (statusArea.statusArea.pausedMessage.visible = (gamePaused = false));
mouseCrosshair = new CrossHair();
this.addChild(mouseCrosshair);
gameMenu = new bteMenu(this, stage);
gameMenu.menuArea.btnSubmitScore.gameID = 0;
this.addChild(gameMenu);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyEventDN);
stage.addEventListener(KeyboardEvent.KEY_UP, keyEventUP);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseEventDN);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseEventUP);
theObjects.objClips[theObjects.truckObjNum].mc.initLevel();
initPowerups();
}
public function maingame(){
init();
}
public function showNormalMessage(_arg1:String, _arg2:Boolean, _arg3:Boolean){
}
public function lifeLost(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
lostLifeSet = true;
streak = 0;
statusArea.statusArea.messageBox.visible = true;
statusMessage((_arg1 + "\n\nPress any Key to Continue"));
theObjects.objClips[theObjects.truckObjNum].mc.disabled = true;
pressKeyToContinue = true;
if (!_arg3){
theObjects.objClips[theObjects.truckObjNum].mc.explode(_arg2);
};
lifes--;
continueTimer = 30;
if (lifes < 0){
trace("ITs Work");
gameOver();
} else {
statusArea.statusArea.lifesDisp.text = lifes;
};
}
function gameOver(){
trace("Game Over");
statusMessage((((lifes < 0)) ? "Game Over" : "You've Won!" + "\n\nPress any Key to Continue"));
gameMenu.menuArea.yourScoreDisp.yourScore.text = (gameMenu.menuArea.btnSubmitScore.Score = (cheater) ? 0 : points);
continueTimer = 60;
gameIsOver = true;
Mouse.show();
theObjects.removeAllObjects();
}
private function keyEventDN(_arg1:KeyboardEvent){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
if ((((continueTimer > 0)) || (!(gameRunning)))){
return;
};
if (lostLifeSet){
hp = (wp = (bp = 100));
points = lastCheckPointPoints;
_local3 = 0;
while (_local3 < 6) {
havePowerUp[_local3] = lastCheckPointPowerUps[_local3];
_local3++;
};
trace((havePowerUp + " dddddddddd"));
statusArea.updatePowerUps(havePowerUp);
theObjects.objClips[theObjects.truckObjNum].mc.moveTruckTo(lastCheckPointX);
theObjects.objClips[theObjects.truckObjNum].mc.fix();
time = checkPointTimes[curCheckPoint];
theObjects.nextInQueue = startObjectNum;
theObjects.removeAllObjects();
lostLifeSet = false;
};
if (gameIsOver){
destroy();
trace("level destroy");
};
if (pressKeyToContinue){
trace("level Completed");
if (!gameIsOver){
Mouse.hide();
mouseCrosshair.visible = true;
};
statusArea.statusArea.levelCompleted.visible = false;
statusArea.statusArea.btn_mc.visible = false;
statusArea.statusArea.messageBox.visible = (pressKeyToContinue = false);
statusArea.hpMeter.visible = true;
statusArea.wpMeter.visible = true;
statusArea.bpMeter.visible = true;
if (curCheckPoint == 9){
gameOver();
};
};
if ((((secretCodeChose >= 0)) && ((_arg1.keyCode == secretCodes[secretCodeChose].charCodeAt(secretCodeCnt))))){
secretCodeCnt++;
if (secretCodeCnt >= secretCodes[secretCodeChose].length){
switch (secretCodeChose){
case 0:
_local4 = 0;
while (_local4 < 6) {
havePowerUp[_local4] = true;
_local4++;
};
statusArea.updatePowerUps(havePowerUp);
break;
};
cheater = true;
secretCodeChose = -1;
secretCodeCnt = -1;
};
} else {
secretCodeChose = -1;
secretCodeCnt = -1;
};
switch (_arg1.keyCode){
case 80:
gamePaused = !(gamePaused);
statusArea.statusArea.pausedMessage.visible = gamePaused;
break;
case 74:
break;
case 77:
secretCodeChose = 0;
secretCodeCnt = 1;
break;
case 189:
zoom = (zoom * 1.1);
zoom = Math.min(zoom, 2.5);
break;
case 187:
zoom = (zoom / 1.1);
zoom = Math.max(zoom, 1);
break;
case 96:
break;
case 32:
if (havePowerUp[4]){
_local5 = (theObjects.objClips[theObjects.truckObjNum].mc.aX + theObjects.objClips[theObjects.truckObjNum].mc.vX);
_local6 = (theObjects.objClips[theObjects.truckObjNum].mc.aY + theObjects.objClips[theObjects.truckObjNum].mc.vY);
_local7 = Math.atan2(((stage.mouseY * zoom) - (_local6 - scrollY)), ((stage.mouseX * zoom) - (_local5 - scrollX)));
theObjects.stageObject(11, _local5, _local6, _local7);
havePowerUp[4] = false;
statusArea.updatePowerUps(havePowerUp);
};
break;
};
var _local2:* = ((keyMap[_arg1.keyCode] | altKeyMap[_arg1.keyCode]) - 1);
if (((keyIsDown[_local2]) || ((_local2 == -1)))){
return (false);
};
keyIsDown[_local2] = true;
switch (_local2){
case 4:
if (theObjects.objClips[theObjects.truckObjNum].mc.grounded){
theObjects.objClips[theObjects.truckObjNum].mc.boostRelease = theObjects.objClips[theObjects.truckObjNum].mc.boostCharge;
theObjects.objClips[theObjects.truckObjNum].mc.boostCharge = 0;
};
break;
};
if ((((doubleKeyPressCnt > 0)) && ((doubleKeyPress == _local2)))){
doubleKeyPress = 0;
doubleKeyPressCnt = 0;
switch (_local2){
case 1:
theObjects.objClips[theObjects.truckObjNum].mc.groundSlam();
break;
};
} else {
doubleKeyPress = _local2;
doubleKeyPressCnt = 8;
};
}
private function updateGameMenu(){
}
function initPowerups(){
var _local1:* = 0;
while (_local1 < 6) {
lastCheckPointPowerUps[_local1] = (havePowerUp[_local1] = false);
_local1++;
};
statusArea.updatePowerUps(havePowerUp);
}
private function mouseEventUP(_arg1:MouseEvent){
mouseButtonDN = false;
}
private function mouseEventDN(_arg1:MouseEvent){
if (!gameRunning){
return;
};
mouseButtonDN = true;
}
function frame1(){
stop();
Mmc = new addmc();
addChild(Mmc);
}
function frame5(){
stop();
maingame();
}
public function pointsChange(_arg1:int){
points = (points + _arg1);
statusArea.statusArea.pointsDisp.text = points;
}
public function startGame(){
gameMenu.visible = false;
Mouse.hide();
gameRunning = true;
initPowerups();
gameIsOver = false;
pressKeyToContinue = false;
lifes = 5;
points = 0;
lastCheckPointX = levelData.startX;
theObjects.objClips[theObjects.truckObjNum].mc.moveTruckTo(lastCheckPointX);
theObjects.objClips[theObjects.truckObjNum].mc.fix();
time = checkPointTimes[curCheckPoint];
theObjects.nextInQueue = 1;
theObjects.removeAllObjects();
curCheckPoint = 0;
inv = 0;
statusArea.statusArea.timeDisp.text = formatMinSec(time);
statusArea.statusArea.pointsDisp.text = points;
statusArea.statusArea.stageNum.text = ("Level " + (curCheckPoint + 1));
}
private function formatMinSec(_arg1:Number){
var _local2:* = (_arg1 % 60);
var _local3:* = ((_arg1 - _local2) / 60);
if (String(_local2).length == 1){
return (((_local3 + ":0") + _local2));
};
return (((_local3 + ":") + _local2));
}
private function keyEventUP(_arg1:KeyboardEvent){
var _local2:* = ((keyMap[_arg1.keyCode] | altKeyMap[_arg1.keyCode]) - 1);
if (_local2 == -1){
return (false);
};
keyIsDown[_local2] = false;
}
public function giveBonus(_arg1:String, _arg2:Number){
}
function statusMessage(_arg1:String, _arg2:Boolean=true){
var _local3:Array = _arg1.split("\n");
statusArea.statusArea.messageBox.title.text = _local3.shift().toUpperCase();
_arg1 = _local3.join("\n");
statusArea.statusArea.messageBox.messageArea.text = _arg1;
var _local4:* = statusArea.statusArea.messageBox.messageArea.getTextFormat();
_local4.align = (_arg2) ? "center" : "left";
statusArea.statusArea.messageBox.messageArea.setTextFormat(_local4);
statusArea.statusArea.messageBox.BG.height = (statusArea.statusArea.messageBox.messageArea.textHeight + 62);
}
}
}//package
Section 71
//imgBigBomb (imgBigBomb)
package {
import flash.display.*;
public dynamic class imgBigBomb extends MovieClip {
}
}//package
Section 72
//menubg (menubg)
package {
import flash.media.*;
public dynamic class menubg extends Sound {
}
}//package
Section 73
//menuButton (menuButton)
package {
import flash.display.*;
import flash.text.*;
public dynamic class menuButton extends MovieClip {
public var t:TextField;
}
}//package
Section 74
//menuMC (menuMC)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class menuMC extends MovieClip {
public var titleGraphics:MovieClip;
public var allbtns:MovieClip;
public var playmore:menuButton;
public var onoff_btn:MovieClip;
public var theBackButton:menuButton;
public var btnSubmitScore:MovieClip;
public var yourScoreDisp:MovieClip;
public var menuHighScores:MovieClip;
public var menuInstructions:MovieClip;
public var menuGameOver:MovieClip;
public var logo:MovieClip;
public var menuGameWon:MovieClip;
public var menuMain:MovieClip;
public var menuOptions:MovieClip;
public function menuMC(){
addFrameScript(0, frame1);
}
public function gotoURL2(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.gamebusted.com/"), "_blank");
}
function frame1(){
theBackButton.t.text = "BACK";
theBackButton.buttonMode = true;
playmore.t.text = "More Games";
playmore.buttonMode = true;
playmore.addEventListener(MouseEvent.CLICK, gotoURL2);
}
}
}//package
Section 75
//Meter (Meter)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Meter extends MovieClip {
public var txt:TextField;
public var meterBar:MovieClip;
public function Meter(){
addFrameScript(0, frame1);
}
public function hsl2rgbA(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:* = ((_arg3)>0.5) ? ((_arg3 + _arg2) - (_arg3 * _arg2)) : (_arg3 * (_arg2 + 1));
var _local5:* = ((_arg3 * 2) - _local4);
var _local6:* = hToC(_local5, _local4, (_arg1 + (1 / 3)));
var _local7:* = hToC(_local5, _local4, _arg1);
var _local8:* = hToC(_local5, _local4, (_arg1 - (1 / 3)));
return ((((Math.floor((_local6 * 0xFF)) * 65536) + (Math.floor((_local7 * 0xFF)) * 0x0100)) + Math.floor((_local8 * 0xFF))));
}
public function setMeter(_arg1:Number, _arg2:Number, _arg3:Number=1){
_arg2 = (Math.max(0, Math.min(1, (_arg2 / _arg3))) * 170);
meterBar.graphics.clear();
meterBar.graphics.beginFill(hsl2rgbA((_arg1 / 6), 1, 0.4));
meterBar.graphics.moveTo(0, 0);
meterBar.graphics.lineTo(_arg2, 0);
meterBar.graphics.lineTo(_arg2, 16);
meterBar.graphics.lineTo(0, 16);
meterBar.graphics.endFill();
meterBar.graphics.beginFill(hsl2rgbA((_arg1 / 6), 1, 0.6));
meterBar.graphics.moveTo(0, 0);
meterBar.graphics.lineTo(_arg2, 0);
meterBar.graphics.lineTo(_arg2, 6);
meterBar.graphics.lineTo(0, 6);
meterBar.graphics.endFill();
}
public function hToC(_arg1, _arg2, _arg3){
if (_arg3 < 0){
_arg3 = (_arg3 + 1);
};
if (_arg3 > 1){
_arg3--;
};
if (_arg3 < (1 / 6)){
return ((_arg1 + (((_arg2 - _arg1) * _arg3) * 6)));
};
if (_arg3 < (1 / 2)){
return (_arg2);
};
if (_arg3 < (2 / 3)){
return ((_arg1 + (((_arg2 - _arg1) * ((2 / 3) - _arg3)) * 6)));
};
return (_arg1);
}
function frame1(){
}
}
}//package
Section 76
//MobikTreadImg (MobikTreadImg)
package {
import flash.display.*;
public dynamic class MobikTreadImg extends MovieClip {
}
}//package
Section 77
//objAerovizImg (objAerovizImg)
package {
import flash.display.*;
public dynamic class objAerovizImg extends MovieClip {
}
}//package
Section 78
//objAevikImg (objAevikImg)
package {
import flash.display.*;
public dynamic class objAevikImg extends MovieClip {
public var turret:MovieClip;
public var body:MovieClip;
}
}//package
Section 79
//ObjectMobikImg (ObjectMobikImg)
package {
import flash.display.*;
public dynamic class ObjectMobikImg extends MovieClip {
public var turret:MovieClip;
public var tread:MobikTreadImg;
}
}//package
Section 80
//ObjectStatik2Img (ObjectStatik2Img)
package {
import flash.display.*;
public dynamic class ObjectStatik2Img extends MovieClip {
public var turret:MovieClip;
}
}//package
Section 81
//ObjectStatikImg (ObjectStatikImg)
package {
import flash.display.*;
public dynamic class ObjectStatikImg extends MovieClip {
public var turret:MovieClip;
}
}//package
Section 82
//ObjectTranzikImg (ObjectTranzikImg)
package {
import flash.display.*;
public dynamic class ObjectTranzikImg extends MovieClip {
}
}//package
Section 83
//objGeophisBodyImg (objGeophisBodyImg)
package {
import flash.display.*;
public dynamic class objGeophisBodyImg extends MovieClip {
}
}//package
Section 84
//objGeophisImg (objGeophisImg)
package {
import flash.display.*;
public dynamic class objGeophisImg extends MovieClip {
}
}//package
Section 85
//objGeophisTailImg (objGeophisTailImg)
package {
import flash.display.*;
public dynamic class objGeophisTailImg extends MovieClip {
}
}//package
Section 86
//objPlasmaImg (objPlasmaImg)
package {
import flash.display.*;
public dynamic class objPlasmaImg extends MovieClip {
}
}//package
Section 87
//objRedSlimeImg (objRedSlimeImg)
package {
import flash.display.*;
public dynamic class objRedSlimeImg extends MovieClip {
}
}//package
Section 88
//objSlimeImg (objSlimeImg)
package {
import flash.display.*;
public dynamic class objSlimeImg extends MovieClip {
}
}//package
Section 89
//objTruckImg (objTruckImg)
package {
import flash.display.*;
public dynamic class objTruckImg extends MovieClip {
}
}//package
Section 90
//objTruckTire (objTruckTire)
package {
import flash.display.*;
public dynamic class objTruckTire extends MovieClip {
}
}//package
Section 91
//OptionButton (OptionButton)
package {
import flash.display.*;
public dynamic class OptionButton extends MovieClip {
public var optCB:MovieClip;
public var cbLabel:menuButton;
}
}//package
Section 92
//PowerUp (PowerUp)
package {
import flash.display.*;
public dynamic class PowerUp extends MovieClip {
}
}//package
Section 93
//sfxAeroviz1 (sfxAeroviz1)
package {
import flash.media.*;
public dynamic class sfxAeroviz1 extends Sound {
}
}//package
Section 94
//sfxAeroviz2 (sfxAeroviz2)
package {
import flash.media.*;
public dynamic class sfxAeroviz2 extends Sound {
}
}//package
Section 95
//sfxAeroviz3 (sfxAeroviz3)
package {
import flash.media.*;
public dynamic class sfxAeroviz3 extends Sound {
}
}//package
Section 96
//sfxAeroviz4 (sfxAeroviz4)
package {
import flash.media.*;
public dynamic class sfxAeroviz4 extends Sound {
}
}//package
Section 97
//sfxAerovizDeath (sfxAerovizDeath)
package {
import flash.media.*;
public dynamic class sfxAerovizDeath extends Sound {
}
}//package
Section 98
//sfxAerovizHit (sfxAerovizHit)
package {
import flash.media.*;
public dynamic class sfxAerovizHit extends Sound {
}
}//package
Section 99
//sfxAerovizSuck (sfxAerovizSuck)
package {
import flash.media.*;
public dynamic class sfxAerovizSuck extends Sound {
}
}//package
Section 100
//sfxBigBomb (sfxBigBomb)
package {
import flash.media.*;
public dynamic class sfxBigBomb extends Sound {
}
}//package
Section 101
//sfxBuggyEngine (sfxBuggyEngine)
package {
import flash.media.*;
public dynamic class sfxBuggyEngine extends Sound {
}
}//package
Section 102
//sfxBuggyLand (sfxBuggyLand)
package {
import flash.media.*;
public dynamic class sfxBuggyLand extends Sound {
}
}//package
Section 103
//sfxBuggyVBoost (sfxBuggyVBoost)
package {
import flash.media.*;
public dynamic class sfxBuggyVBoost extends Sound {
}
}//package
Section 104
//sfxCountDown (sfxCountDown)
package {
import flash.media.*;
public dynamic class sfxCountDown extends Sound {
}
}//package
Section 105
//sfxEnemyPhaser (sfxEnemyPhaser)
package {
import flash.media.*;
public dynamic class sfxEnemyPhaser extends Sound {
}
}//package
Section 106
//sfxExplosion1 (sfxExplosion1)
package {
import flash.media.*;
public dynamic class sfxExplosion1 extends Sound {
}
}//package
Section 107
//sfxExplosion2 (sfxExplosion2)
package {
import flash.media.*;
public dynamic class sfxExplosion2 extends Sound {
}
}//package
Section 108
//sfxExplosion3 (sfxExplosion3)
package {
import flash.media.*;
public dynamic class sfxExplosion3 extends Sound {
}
}//package
Section 109
//sfxExplosion4 (sfxExplosion4)
package {
import flash.media.*;
public dynamic class sfxExplosion4 extends Sound {
}
}//package
Section 110
//sfxGeo1 (sfxGeo1)
package {
import flash.media.*;
public dynamic class sfxGeo1 extends Sound {
}
}//package
Section 111
//sfxGeo2 (sfxGeo2)
package {
import flash.media.*;
public dynamic class sfxGeo2 extends Sound {
}
}//package
Section 112
//sfxGeo3 (sfxGeo3)
package {
import flash.media.*;
public dynamic class sfxGeo3 extends Sound {
}
}//package
Section 113
//sfxGeo4 (sfxGeo4)
package {
import flash.media.*;
public dynamic class sfxGeo4 extends Sound {
}
}//package
Section 114
//sfxGeo5 (sfxGeo5)
package {
import flash.media.*;
public dynamic class sfxGeo5 extends Sound {
}
}//package
Section 115
//sfxGeo6 (sfxGeo6)
package {
import flash.media.*;
public dynamic class sfxGeo6 extends Sound {
}
}//package
Section 116
//sfxGeo7 (sfxGeo7)
package {
import flash.media.*;
public dynamic class sfxGeo7 extends Sound {
}
}//package
Section 117
//sfxGeoDeath1 (sfxGeoDeath1)
package {
import flash.media.*;
public dynamic class sfxGeoDeath1 extends Sound {
}
}//package
Section 118
//sfxGeoDeath2 (sfxGeoDeath2)
package {
import flash.media.*;
public dynamic class sfxGeoDeath2 extends Sound {
}
}//package
Section 119
//sfxGeoEnterUG (sfxGeoEnterUG)
package {
import flash.media.*;
public dynamic class sfxGeoEnterUG extends Sound {
}
}//package
Section 120
//sfxGeoExitUG1 (sfxGeoExitUG1)
package {
import flash.media.*;
public dynamic class sfxGeoExitUG1 extends Sound {
}
}//package
Section 121
//sfxGeoExitUG2 (sfxGeoExitUG2)
package {
import flash.media.*;
public dynamic class sfxGeoExitUG2 extends Sound {
}
}//package
Section 122
//sfxGeoExitUG3 (sfxGeoExitUG3)
package {
import flash.media.*;
public dynamic class sfxGeoExitUG3 extends Sound {
}
}//package
Section 123
//sfxGeoExitUG4 (sfxGeoExitUG4)
package {
import flash.media.*;
public dynamic class sfxGeoExitUG4 extends Sound {
}
}//package
Section 124
//sfxGeoUG1 (sfxGeoUG1)
package {
import flash.media.*;
public dynamic class sfxGeoUG1 extends Sound {
}
}//package
Section 125
//sfxGeoUG2 (sfxGeoUG2)
package {
import flash.media.*;
public dynamic class sfxGeoUG2 extends Sound {
}
}//package
Section 126
//sfxGeoUG3 (sfxGeoUG3)
package {
import flash.media.*;
public dynamic class sfxGeoUG3 extends Sound {
}
}//package
Section 127
//sfxGeoUG4 (sfxGeoUG4)
package {
import flash.media.*;
public dynamic class sfxGeoUG4 extends Sound {
}
}//package
Section 128
//sfxGeoUG5 (sfxGeoUG5)
package {
import flash.media.*;
public dynamic class sfxGeoUG5 extends Sound {
}
}//package
Section 129
//sfxGeoUG6 (sfxGeoUG6)
package {
import flash.media.*;
public dynamic class sfxGeoUG6 extends Sound {
}
}//package
Section 130
//sfxGeoUG7 (sfxGeoUG7)
package {
import flash.media.*;
public dynamic class sfxGeoUG7 extends Sound {
}
}//package
Section 131
//sfxMetalHit1 (sfxMetalHit1)
package {
import flash.media.*;
public dynamic class sfxMetalHit1 extends Sound {
}
}//package
Section 132
//sfxMetalHit2 (sfxMetalHit2)
package {
import flash.media.*;
public dynamic class sfxMetalHit2 extends Sound {
}
}//package
Section 133
//sfxMetalHit3 (sfxMetalHit3)
package {
import flash.media.*;
public dynamic class sfxMetalHit3 extends Sound {
}
}//package
Section 134
//sfxMetalHit4 (sfxMetalHit4)
package {
import flash.media.*;
public dynamic class sfxMetalHit4 extends Sound {
}
}//package
Section 135
//sfxMobikEngine (sfxMobikEngine)
package {
import flash.media.*;
public dynamic class sfxMobikEngine extends Sound {
}
}//package
Section 136
//sfxPhaser (sfxPhaser)
package {
import flash.media.*;
public dynamic class sfxPhaser extends Sound {
}
}//package
Section 137
//sfxPhaserHitGround (sfxPhaserHitGround)
package {
import flash.media.*;
public dynamic class sfxPhaserHitGround extends Sound {
}
}//package
Section 138
//sfxPoints1 (sfxPoints1)
package {
import flash.media.*;
public dynamic class sfxPoints1 extends Sound {
}
}//package
Section 139
//sfxPoints2 (sfxPoints2)
package {
import flash.media.*;
public dynamic class sfxPoints2 extends Sound {
}
}//package
Section 140
//sfxPoints3 (sfxPoints3)
package {
import flash.media.*;
public dynamic class sfxPoints3 extends Sound {
}
}//package
Section 141
//sfxPoints4 (sfxPoints4)
package {
import flash.media.*;
public dynamic class sfxPoints4 extends Sound {
}
}//package
Section 142
//sfxPoints5 (sfxPoints5)
package {
import flash.media.*;
public dynamic class sfxPoints5 extends Sound {
}
}//package
Section 143
//sfxPoints6 (sfxPoints6)
package {
import flash.media.*;
public dynamic class sfxPoints6 extends Sound {
}
}//package
Section 144
//sfxPoints7 (sfxPoints7)
package {
import flash.media.*;
public dynamic class sfxPoints7 extends Sound {
}
}//package
Section 145
//sfxPoints8 (sfxPoints8)
package {
import flash.media.*;
public dynamic class sfxPoints8 extends Sound {
}
}//package
Section 146
//sfxPowerUp (sfxPowerUp)
package {
import flash.media.*;
public dynamic class sfxPowerUp extends Sound {
}
}//package
Section 147
//sfxRocks1 (sfxRocks1)
package {
import flash.media.*;
public dynamic class sfxRocks1 extends Sound {
}
}//package
Section 148
//sfxRocks2 (sfxRocks2)
package {
import flash.media.*;
public dynamic class sfxRocks2 extends Sound {
}
}//package
Section 149
//sfxRocks3 (sfxRocks3)
package {
import flash.media.*;
public dynamic class sfxRocks3 extends Sound {
}
}//package
Section 150
//sfxRocks4 (sfxRocks4)
package {
import flash.media.*;
public dynamic class sfxRocks4 extends Sound {
}
}//package
Section 151
//sfxRocks5 (sfxRocks5)
package {
import flash.media.*;
public dynamic class sfxRocks5 extends Sound {
}
}//package
Section 152
//sfxRollover (sfxRollover)
package {
import flash.media.*;
public dynamic class sfxRollover extends Sound {
}
}//package
Section 153
//sfxRumble1 (sfxRumble1)
package {
import flash.media.*;
public dynamic class sfxRumble1 extends Sound {
}
}//package
Section 154
//sfxRumble2 (sfxRumble2)
package {
import flash.media.*;
public dynamic class sfxRumble2 extends Sound {
}
}//package
Section 155
//sfxRumble3 (sfxRumble3)
package {
import flash.media.*;
public dynamic class sfxRumble3 extends Sound {
}
}//package
Section 156
//sfxRumble4 (sfxRumble4)
package {
import flash.media.*;
public dynamic class sfxRumble4 extends Sound {
}
}//package
Section 157
//sfxRumble5 (sfxRumble5)
package {
import flash.media.*;
public dynamic class sfxRumble5 extends Sound {
}
}//package
Section 158
//sfxSlimeDeath (sfxSlimeDeath)
package {
import flash.media.*;
public dynamic class sfxSlimeDeath extends Sound {
}
}//package
Section 159
//sfxSlimeHit (sfxSlimeHit)
package {
import flash.media.*;
public dynamic class sfxSlimeHit extends Sound {
}
}//package
Section 160
//sfxSlimeHit2 (sfxSlimeHit2)
package {
import flash.media.*;
public dynamic class sfxSlimeHit2 extends Sound {
}
}//package
Section 161
//sfxSlimeHit3 (sfxSlimeHit3)
package {
import flash.media.*;
public dynamic class sfxSlimeHit3 extends Sound {
}
}//package
Section 162
//sfxSlimeHit4 (sfxSlimeHit4)
package {
import flash.media.*;
public dynamic class sfxSlimeHit4 extends Sound {
}
}//package
Section 163
//sfxSlimeWheel (sfxSlimeWheel)
package {
import flash.media.*;
public dynamic class sfxSlimeWheel extends Sound {
}
}//package
Section 164
//sfxSpark1 (sfxSpark1)
package {
import flash.media.*;
public dynamic class sfxSpark1 extends Sound {
}
}//package
Section 165
//sfxSpark2 (sfxSpark2)
package {
import flash.media.*;
public dynamic class sfxSpark2 extends Sound {
}
}//package
Section 166
//sfxSpark3 (sfxSpark3)
package {
import flash.media.*;
public dynamic class sfxSpark3 extends Sound {
}
}//package
Section 167
//sfxSpark4 (sfxSpark4)
package {
import flash.media.*;
public dynamic class sfxSpark4 extends Sound {
}
}//package
Section 168
//sfxSpark5 (sfxSpark5)
package {
import flash.media.*;
public dynamic class sfxSpark5 extends Sound {
}
}//package
Section 169
//sfxStreak (sfxStreak)
package {
import flash.media.*;
public dynamic class sfxStreak extends Sound {
}
}//package
Section 170
//sfxTinyExplosion1 (sfxTinyExplosion1)
package {
import flash.media.*;
public dynamic class sfxTinyExplosion1 extends Sound {
}
}//package
Section 171
//sfxTinyExplosion2 (sfxTinyExplosion2)
package {
import flash.media.*;
public dynamic class sfxTinyExplosion2 extends Sound {
}
}//package
Section 172
//sfxTinyExplosion3 (sfxTinyExplosion3)
package {
import flash.media.*;
public dynamic class sfxTinyExplosion3 extends Sound {
}
}//package
Section 173
//sfxTinyExplosion4 (sfxTinyExplosion4)
package {
import flash.media.*;
public dynamic class sfxTinyExplosion4 extends Sound {
}
}//package
Section 174
//staticBGImg (staticBGImg)
package {
import flash.display.*;
public dynamic class staticBGImg extends MovieClip {
}
}//package
Section 175
//Statusarea (Statusarea)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Statusarea extends MovieClip {
public var lifesDisp:TextField;
public var messageBox:MovieClip;
public var timeDisp:TextField;
public var pausedMessage:MovieClip;
public var debugGraphic:MovieClip;
public var btn_mc:MovieClip;
public var pointsDisp:TextField;
public var levelCompleted:MovieClip;
public var stageNum:TextField;
public var logo:MovieClip;
public var controls:MovieClip;
public var accuracy:TextField;
}
}//package
Section 176
//surfaceTiles (surfaceTiles)
package {
import flash.display.*;
public dynamic class surfaceTiles extends MovieClip {
}
}//package