Section 1
//biker1Anim_61 (FD2__fla.biker1Anim_61)
package FD2__fla {
import flash.display.*;
public dynamic class biker1Anim_61 extends MovieClip {
public function biker1Anim_61(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 2
//bikerAnim2_63 (FD2__fla.bikerAnim2_63)
package FD2__fla {
import flash.display.*;
public dynamic class bikerAnim2_63 extends MovieClip {
public function bikerAnim2_63(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 3
//Bio_T_102 (FD2__fla.Bio_T_102)
package FD2__fla {
import flash.display.*;
public dynamic class Bio_T_102 extends MovieClip {
public function Bio_T_102(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 4
//e1Anims_20 (FD2__fla.e1Anims_20)
package FD2__fla {
import flash.display.*;
public dynamic class e1Anims_20 extends MovieClip {
public function e1Anims_20(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 5
//enemy2Anims_27 (FD2__fla.enemy2Anims_27)
package FD2__fla {
import flash.display.*;
public dynamic class enemy2Anims_27 extends MovieClip {
public function enemy2Anims_27(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 6
//enemy3Anims_34 (FD2__fla.enemy3Anims_34)
package FD2__fla {
import flash.display.*;
public dynamic class enemy3Anims_34 extends MovieClip {
public function enemy3Anims_34(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 7
//enemy4Anims_41 (FD2__fla.enemy4Anims_41)
package FD2__fla {
import flash.display.*;
public dynamic class enemy4Anims_41 extends MovieClip {
public function enemy4Anims_41(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 8
//enemy5Anims_48 (FD2__fla.enemy5Anims_48)
package FD2__fla {
import flash.display.*;
public dynamic class enemy5Anims_48 extends MovieClip {
public function enemy5Anims_48(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 9
//fd1_button_16 (FD2__fla.fd1_button_16)
package FD2__fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.*;
public dynamic class fd1_button_16 extends MovieClip {
public var link:String;
public function fd1_button_16(){
addFrameScript(0, frame1);
}
function frame1(){
link = "http://www.maxgames.com/game/frontline-defense.html";
this.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package FD2__fla
Section 10
//flag1_133 (FD2__fla.flag1_133)
package FD2__fla {
import flash.display.*;
public dynamic class flag1_133 extends MovieClip {
public function flag1_133(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 11
//Flame_T_104 (FD2__fla.Flame_T_104)
package FD2__fla {
import flash.display.*;
public dynamic class Flame_T_104 extends MovieClip {
public function Flame_T_104(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 12
//HellFire_T_100 (FD2__fla.HellFire_T_100)
package FD2__fla {
import flash.display.*;
public dynamic class HellFire_T_100 extends MovieClip {
public function HellFire_T_100(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 13
//jeepanim1_57 (FD2__fla.jeepanim1_57)
package FD2__fla {
import flash.display.*;
public dynamic class jeepanim1_57 extends MovieClip {
public function jeepanim1_57(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 14
//jeepanim2_59 (FD2__fla.jeepanim2_59)
package FD2__fla {
import flash.display.*;
public dynamic class jeepanim2_59 extends MovieClip {
public function jeepanim2_59(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 15
//laserG_T_98 (FD2__fla.laserG_T_98)
package FD2__fla {
import flash.display.*;
public dynamic class laserG_T_98 extends MovieClip {
public function laserG_T_98(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 16
//Level_0002_231 (FD2__fla.Level_0002_231)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0002_231 extends MovieClip {
public function Level_0002_231(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 17
//Level_0003_232 (FD2__fla.Level_0003_232)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0003_232 extends MovieClip {
public function Level_0003_232(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 18
//Level_0004_234 (FD2__fla.Level_0004_234)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0004_234 extends MovieClip {
public function Level_0004_234(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 19
//Level_0005_235 (FD2__fla.Level_0005_235)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0005_235 extends MovieClip {
public function Level_0005_235(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 20
//Level_0006_236 (FD2__fla.Level_0006_236)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0006_236 extends MovieClip {
public function Level_0006_236(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 21
//Level_0007_237 (FD2__fla.Level_0007_237)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0007_237 extends MovieClip {
public function Level_0007_237(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 22
//Level_0008_238 (FD2__fla.Level_0008_238)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0008_238 extends MovieClip {
public function Level_0008_238(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 23
//Level_0009_239 (FD2__fla.Level_0009_239)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0009_239 extends MovieClip {
public function Level_0009_239(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 24
//Level_0010_240 (FD2__fla.Level_0010_240)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0010_240 extends MovieClip {
public function Level_0010_240(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 25
//Level_0011_241 (FD2__fla.Level_0011_241)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0011_241 extends MovieClip {
public function Level_0011_241(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 26
//Level_0012_242 (FD2__fla.Level_0012_242)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0012_242 extends MovieClip {
public function Level_0012_242(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 27
//Level_0013_243 (FD2__fla.Level_0013_243)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0013_243 extends MovieClip {
public function Level_0013_243(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 28
//Level_0014_244 (FD2__fla.Level_0014_244)
package FD2__fla {
import flash.display.*;
public dynamic class Level_0014_244 extends MovieClip {
public function Level_0014_244(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 29
//Level_Bonus_01_245 (FD2__fla.Level_Bonus_01_245)
package FD2__fla {
import flash.display.*;
public dynamic class Level_Bonus_01_245 extends MovieClip {
public function Level_Bonus_01_245(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 30
//Level_Bonus_02_248 (FD2__fla.Level_Bonus_02_248)
package FD2__fla {
import flash.display.*;
public dynamic class Level_Bonus_02_248 extends MovieClip {
public function Level_Bonus_02_248(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 31
//Level_Bonus_03_250 (FD2__fla.Level_Bonus_03_250)
package FD2__fla {
import flash.display.*;
public dynamic class Level_Bonus_03_250 extends MovieClip {
public function Level_Bonus_03_250(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 32
//Level_Bonus_04_251 (FD2__fla.Level_Bonus_04_251)
package FD2__fla {
import flash.display.*;
public dynamic class Level_Bonus_04_251 extends MovieClip {
public function Level_Bonus_04_251(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package FD2__fla
Section 33
//lvlUpanim_83 (FD2__fla.lvlUpanim_83)
package FD2__fla {
import flash.display.*;
public dynamic class lvlUpanim_83 extends MovieClip {
public function lvlUpanim_83(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package FD2__fla
Section 34
//MachineG_T_106 (FD2__fla.MachineG_T_106)
package FD2__fla {
import flash.display.*;
public dynamic class MachineG_T_106 extends MovieClip {
public function MachineG_T_106(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 35
//MainTimeline (FD2__fla.MainTimeline)
package FD2__fla {
import flash.display.*;
public dynamic class MainTimeline extends MovieClip {
public function MainTimeline(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package FD2__fla
Section 36
//maxBut1_224 (FD2__fla.maxBut1_224)
package FD2__fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.*;
public dynamic class maxBut1_224 extends MovieClip {
public var link:String;
public function maxBut1_224(){
addFrameScript(0, frame1);
}
function frame1(){
link = "http://www.maxgames.com/";
addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package FD2__fla
Section 37
//MaxButMenu_136 (FD2__fla.MaxButMenu_136)
package FD2__fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.*;
public dynamic class MaxButMenu_136 extends MovieClip {
public var link:String;
public function MaxButMenu_136(){
addFrameScript(0, frame1);
}
function frame1(){
link = "http://www.maxgames.com/";
addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package FD2__fla
Section 38
//MaxGames_LOAD_Loader_1 (FD2__fla.MaxGames_LOAD_Loader_1)
package FD2__fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.external.*;
public dynamic class MaxGames_LOAD_Loader_1 extends MovieClip {
public var link:String;
public var loadLeft:TextField;
public var playB:SimpleButton;
public var loadBar:MovieClip;
public var sitelink:SimpleButton;
public function MaxGames_LOAD_Loader_1(){
addFrameScript(0, frame1, 20, frame21, 25, frame26, 38, frame39, 39, frame40);
}
public function playRoot(_arg1:MouseEvent){
MovieClip(parent).gotoAndStop(3);
}
public function loading(_arg1:Event):void{
if (loaderInfo){
if ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) >= 1){
removeEventListener(Event.ENTER_FRAME, loading);
play();
} else {
loadLeft.text = String((Math.ceil(((loaderInfo.bytesTotal - loaderInfo.bytesLoaded) / 100000)) / 10));
loadBar.scaleX = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
};
};
}
function frame1(){
stop();
MovieClip(parent).stop();
addEventListener(Event.ENTER_FRAME, loading);
link = "http://www.maxgames.com/";
sitelink.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
function frame26(){
}
function frame21(){
playB.addEventListener(MouseEvent.CLICK, playRoot, false, 0, true);
}
function frame40(){
stop();
}
function frame39(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package FD2__fla
Section 39
//MaxGames_MAXLOGOINTRO1_110 (FD2__fla.MaxGames_MAXLOGOINTRO1_110)
package FD2__fla {
import flash.display.*;
public dynamic class MaxGames_MAXLOGOINTRO1_110 extends MovieClip {
public function MaxGames_MAXLOGOINTRO1_110(){
addFrameScript(0, frame1, 217, frame218);
}
function frame218(){
MovieClip(parent).gotoAndStop(4);
}
function frame1(){
MovieClip(root).stop();
}
}
}//package FD2__fla
Section 40
//Missile_T_88 (FD2__fla.Missile_T_88)
package FD2__fla {
import flash.display.*;
public dynamic class Missile_T_88 extends MovieClip {
public function Missile_T_88(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 41
//paper1_254 (FD2__fla.paper1_254)
package FD2__fla {
import flash.display.*;
public dynamic class paper1_254 extends MovieClip {
public function paper1_254(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 42
//plasFire_T_108 (FD2__fla.plasFire_T_108)
package FD2__fla {
import flash.display.*;
public dynamic class plasFire_T_108 extends MovieClip {
public function plasFire_T_108(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 43
//Rifle_T_90 (FD2__fla.Rifle_T_90)
package FD2__fla {
import flash.display.*;
public dynamic class Rifle_T_90 extends MovieClip {
public function Rifle_T_90(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 44
//Rockn3_129 (FD2__fla.Rockn3_129)
package FD2__fla {
import flash.display.*;
public dynamic class Rockn3_129 extends MovieClip {
public function Rockn3_129(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 45
//Rocky34_128 (FD2__fla.Rocky34_128)
package FD2__fla {
import flash.display.*;
public dynamic class Rocky34_128 extends MovieClip {
public function Rocky34_128(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 46
//Shotgun_T_96 (FD2__fla.Shotgun_T_96)
package FD2__fla {
import flash.display.*;
public dynamic class Shotgun_T_96 extends MovieClip {
public function Shotgun_T_96(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 47
//Sniper_T_92 (FD2__fla.Sniper_T_92)
package FD2__fla {
import flash.display.*;
public dynamic class Sniper_T_92 extends MovieClip {
public function Sniper_T_92(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 48
//soldier1_b_51 (FD2__fla.soldier1_b_51)
package FD2__fla {
import flash.display.*;
public dynamic class soldier1_b_51 extends MovieClip {
public function soldier1_b_51(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 49
//soldier1_dd_52 (FD2__fla.soldier1_dd_52)
package FD2__fla {
import flash.display.*;
public dynamic class soldier1_dd_52 extends MovieClip {
public function soldier1_dd_52(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 50
//soldier1_du_50 (FD2__fla.soldier1_du_50)
package FD2__fla {
import flash.display.*;
public dynamic class soldier1_du_50 extends MovieClip {
public function soldier1_du_50(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 51
//soldier1_f_53 (FD2__fla.soldier1_f_53)
package FD2__fla {
import flash.display.*;
public dynamic class soldier1_f_53 extends MovieClip {
public function soldier1_f_53(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 52
//soldier1_s_49 (FD2__fla.soldier1_s_49)
package FD2__fla {
import flash.display.*;
public dynamic class soldier1_s_49 extends MovieClip {
public function soldier1_s_49(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 53
//soldier2_b_30 (FD2__fla.soldier2_b_30)
package FD2__fla {
import flash.display.*;
public dynamic class soldier2_b_30 extends MovieClip {
public function soldier2_b_30(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 54
//soldier2_dd_31 (FD2__fla.soldier2_dd_31)
package FD2__fla {
import flash.display.*;
public dynamic class soldier2_dd_31 extends MovieClip {
public function soldier2_dd_31(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 55
//soldier2_f_32 (FD2__fla.soldier2_f_32)
package FD2__fla {
import flash.display.*;
public dynamic class soldier2_f_32 extends MovieClip {
public function soldier2_f_32(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 56
//soldier2_S_28 (FD2__fla.soldier2_S_28)
package FD2__fla {
import flash.display.*;
public dynamic class soldier2_S_28 extends MovieClip {
public function soldier2_S_28(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 57
//soldier2_ud_29 (FD2__fla.soldier2_ud_29)
package FD2__fla {
import flash.display.*;
public dynamic class soldier2_ud_29 extends MovieClip {
public function soldier2_ud_29(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 58
//soldier3b_44 (FD2__fla.soldier3b_44)
package FD2__fla {
import flash.display.*;
public dynamic class soldier3b_44 extends MovieClip {
public function soldier3b_44(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 59
//soldier3dd_45 (FD2__fla.soldier3dd_45)
package FD2__fla {
import flash.display.*;
public dynamic class soldier3dd_45 extends MovieClip {
public function soldier3dd_45(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 60
//soldier3du_43 (FD2__fla.soldier3du_43)
package FD2__fla {
import flash.display.*;
public dynamic class soldier3du_43 extends MovieClip {
public function soldier3du_43(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 61
//soldier3f_46 (FD2__fla.soldier3f_46)
package FD2__fla {
import flash.display.*;
public dynamic class soldier3f_46 extends MovieClip {
public function soldier3f_46(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 62
//soldier3s_42 (FD2__fla.soldier3s_42)
package FD2__fla {
import flash.display.*;
public dynamic class soldier3s_42 extends MovieClip {
public function soldier3s_42(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 63
//soldier4b_23 (FD2__fla.soldier4b_23)
package FD2__fla {
import flash.display.*;
public dynamic class soldier4b_23 extends MovieClip {
public function soldier4b_23(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 64
//soldier4dd_24 (FD2__fla.soldier4dd_24)
package FD2__fla {
import flash.display.*;
public dynamic class soldier4dd_24 extends MovieClip {
public function soldier4dd_24(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 65
//soldier4du_22 (FD2__fla.soldier4du_22)
package FD2__fla {
import flash.display.*;
public dynamic class soldier4du_22 extends MovieClip {
public function soldier4du_22(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 66
//soldier4f_25 (FD2__fla.soldier4f_25)
package FD2__fla {
import flash.display.*;
public dynamic class soldier4f_25 extends MovieClip {
public function soldier4f_25(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 67
//soldier4s_21 (FD2__fla.soldier4s_21)
package FD2__fla {
import flash.display.*;
public dynamic class soldier4s_21 extends MovieClip {
public function soldier4s_21(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 68
//soldier5b_37 (FD2__fla.soldier5b_37)
package FD2__fla {
import flash.display.*;
public dynamic class soldier5b_37 extends MovieClip {
public function soldier5b_37(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 69
//soldier5dd_38 (FD2__fla.soldier5dd_38)
package FD2__fla {
import flash.display.*;
public dynamic class soldier5dd_38 extends MovieClip {
public function soldier5dd_38(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 70
//soldier5du_36 (FD2__fla.soldier5du_36)
package FD2__fla {
import flash.display.*;
public dynamic class soldier5du_36 extends MovieClip {
public function soldier5du_36(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 71
//soldier5f_39 (FD2__fla.soldier5f_39)
package FD2__fla {
import flash.display.*;
public dynamic class soldier5f_39 extends MovieClip {
public function soldier5f_39(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 72
//soldier5s_35 (FD2__fla.soldier5s_35)
package FD2__fla {
import flash.display.*;
public dynamic class soldier5s_35 extends MovieClip {
public function soldier5s_35(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 73
//tank1Anim_65 (FD2__fla.tank1Anim_65)
package FD2__fla {
import flash.display.*;
public dynamic class tank1Anim_65 extends MovieClip {
public function tank1Anim_65(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 74
//tank2Anim_67 (FD2__fla.tank2Anim_67)
package FD2__fla {
import flash.display.*;
public dynamic class tank2Anim_67 extends MovieClip {
public function tank2Anim_67(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 75
//tank3anim_69 (FD2__fla.tank3anim_69)
package FD2__fla {
import flash.display.*;
public dynamic class tank3anim_69 extends MovieClip {
public function tank3anim_69(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 76
//tree2_127 (FD2__fla.tree2_127)
package FD2__fla {
import flash.display.*;
public dynamic class tree2_127 extends MovieClip {
public function tree2_127(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package FD2__fla
Section 77
//bio_1 (bio_1)
package {
import flash.media.*;
public dynamic class bio_1 extends Sound {
}
}//package
Section 78
//bioCloud1 (bioCloud1)
package {
import flash.display.*;
public dynamic class bioCloud1 extends BitmapData {
public function bioCloud1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 79
//bioFX (bioFX)
package {
import flash.display.*;
public dynamic class bioFX extends BitmapData {
public function bioFX(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 80
//BlockSquare (BlockSquare)
package {
import flash.display.*;
public class BlockSquare extends Sprite {
public function BlockSquare(){
var _local1:Game;
var _local2:*;
var _local3:*;
super();
_local1 = Game(parent);
_local2 = Math.floor((x / _local1.gridSize));
_local3 = Math.floor((y / _local1.gridSize));
_local1.setGrid(_local2, _local3, 2);
parent.removeChild(this);
}
}
}//package
Section 81
//blood1 (blood1)
package {
import flash.display.*;
public dynamic class blood1 extends BitmapData {
public function blood1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 82
//bloodSplatter (bloodSplatter)
package {
import flash.display.*;
public dynamic class bloodSplatter extends BitmapData {
public function bloodSplatter(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 83
//blueFlash (blueFlash)
package {
import flash.display.*;
public dynamic class blueFlash extends BitmapData {
public function blueFlash(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 84
//bot_1 (bot_1)
package {
import flash.display.*;
public class bot_1 extends Enemy {
public var soldier:MovieClip;
public function bot_1(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 0.8;
baseSpeed = speed;
bMetal = true;
health = 1000;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 85
//BuyButton (BuyButton)
package {
import flash.display.*;
import flash.events.*;
public class BuyButton extends Sprite {
public function BuyButton(){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
}
public function clicked(_arg1:MouseEvent):void{
shopItem(parent).buy();
}
}
}//package
Section 86
//clickLayer (clickLayer)
package {
import flash.display.*;
import flash.events.*;
public class clickLayer extends Sprite {
public var game:Game;
public function clickLayer(){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
game = Game(parent);
}
private function clicked(_arg1:MouseEvent):void{
game.Selected = null;
}
}
}//package
Section 87
//clickLayerShoot (clickLayerShoot)
package {
import flash.display.*;
import flash.events.*;
public class clickLayerShoot extends Sprite {
public var game:Game;
public function clickLayerShoot(){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
game = Game(parent);
}
private function clicked(_arg1:MouseEvent):void{
game.Selected.Fire();
}
}
}//package
Section 88
//clickObject (clickObject)
package {
import flash.display.*;
import flash.events.*;
public class clickObject extends Sprite {
public function clickObject(){
addEventListener(MouseEvent.MOUSE_UP, clicked, false, 0, true);
}
private function clicked(_arg1:MouseEvent):void{
Tower(parent).clicked();
}
}
}//package
Section 89
//confirmationPage (confirmationPage)
package {
import flash.display.*;
public dynamic class confirmationPage extends MovieClip {
}
}//package
Section 90
//continueButton (continueButton)
package {
import flash.events.*;
public class continueButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function continueButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.baseSpeed = 1;
parent.visible = false;
}
}
}//package
Section 91
//crater1 (crater1)
package {
import flash.display.*;
public dynamic class crater1 extends BitmapData {
public function crater1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 92
//creditsButton (creditsButton)
package {
import flash.events.*;
public class creditsButton extends gameButton {
override public function clicked(_arg1:MouseEvent):void{
game.getFrame(2);
}
}
}//package
Section 93
//damageButton (damageButton)
package {
public class damageButton extends ugButton {
public function damageButton(){
uType = "damage";
}
}
}//package
Section 94
//DamageType (DamageType)
package {
public class DamageType {
var poison:Number;// = 0
var rad:Number;// = 0
var burn:Number;// = 0
var freeze:Number;// = 0
public function DamageType(_arg1, _arg2, _arg3, _arg4){
burn = 0;
rad = 0;
poison = 0;
freeze = 0;
super();
burn = _arg1;
rad = _arg2;
poison = _arg3;
freeze = _arg4;
}
}
}//package
Section 95
//Decal (Decal)
package {
import flash.display.*;
import flash.geom.*;
public class Decal extends Sprite {
var blood:BitmapData;
var gs:int;
var hs:int;
var clearRec:Rectangle;
var crater:BitmapData;
var icet:BitmapData;
var canvas:BitmapData;
var sandt:BitmapData;
var rockt:BitmapData;
var DisplayScreen:Bitmap;
var grass:BitmapData;
var items:Array;
var patht:BitmapData;
var game:Game;
var scorch:BitmapData;
public function Decal(){
items = new Array();
super();
game = Game(parent);
game.decalFX = this;
gs = game.gridSize;
hs = (gs * 0.5);
scorch = new scorch1(128, 32);
crater = new crater1(128, 32);
blood = new blood1(128, 32);
patht = new pathGrids(0x0300, 48);
rockt = new rockGrid(0x0300, 48);
icet = new iceGrid(0x0300, 48);
sandt = new sandGrid(0x0300, 48);
this.mouseEnabled = false;
canvas = new BitmapData(800, 600, true, 0);
clearRec = new Rectangle(0, 0, 800, 600);
DisplayScreen = new Bitmap(canvas);
addChild(DisplayScreen);
}
public function Splat(_arg1, _arg2){
var _local3:*;
var _local4:*;
_arg1 = (_arg1 + (-4 + (Math.random() * 8)));
_arg2 = (_arg2 + (-4 + (Math.random() * 8)));
_local3 = (Math.random() * 3.9);
_local4 = new Rectangle((Math.floor(_local3) * 16), 0, 16, 16);
canvas.copyPixels(blood, _local4, new Point((_arg1 - 8), (_arg2 - 8)), null, null, true);
}
public function Crater(_arg1, _arg2){
var _local3:*;
var _local4:*;
_arg1 = (_arg1 + (-4 + (Math.random() * 8)));
_arg2 = (_arg2 + (-4 + (Math.random() * 8)));
_local3 = (Math.random() * 3.9);
_local4 = new Rectangle((Math.floor(_local3) * 32), 0, 32, 32);
canvas.copyPixels(crater, _local4, new Point((_arg1 - 16), (_arg2 - 16)), null, null, true);
}
public function checkGrid(_arg1, _arg2):int{
if ((((((((_arg1 < 0)) || ((_arg1 > 29)))) || ((_arg2 < 0)))) || ((_arg2 > 25)))){
return (0);
};
return (int(game.levelArray[_arg1][_arg2]));
}
public function drawPath(_arg1:String):void{
var _local2:BitmapData;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:int;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
if (_arg1 == "forest"){
_local2 = patht;
} else {
if (_arg1 == "ice"){
_local2 = icet;
} else {
if (_arg1 == "sand"){
_local2 = sandt;
} else {
if (_arg1 == "rocky"){
_local2 = rockt;
};
};
};
};
_local3 = game.levelArray.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = game.levelArray[_local4].length;
_local6 = 0;
while (_local6 < _local5) {
if (game.levelArray[_local4][_local6] == 1){
_local7 = 0;
if (checkGrid(_local4, (_local6 - 1)) != 1){
_local7 = (_local7 + 1);
};
if (checkGrid(_local4, (_local6 + 1)) != 1){
_local7 = (_local7 + 4);
};
if (checkGrid((_local4 - 1), _local6) != 1){
_local7 = (_local7 + 8);
};
if (checkGrid((_local4 + 1), _local6) != 1){
_local7 = (_local7 + 2);
};
_local8 = ((_local4 * gs) + hs);
_local9 = ((_local6 * gs) + hs);
_local10 = _local7;
_local11 = new Rectangle((1 + (Math.floor(_local10) * 48)), 1, 48, 48);
canvas.copyPixels(_local2, _local11, new Point((_local8 - 24), (_local9 - 24)), null, null, true);
};
_local6++;
};
_local4++;
};
}
public function Scorch(_arg1, _arg2){
var _local3:*;
var _local4:*;
_arg1 = (_arg1 + (-4 + (Math.random() * 8)));
_arg2 = (_arg2 + (-4 + (Math.random() * 8)));
_local3 = (Math.random() * 3.9);
_local4 = new Rectangle((Math.floor(_local3) * 32), 0, 32, 32);
canvas.copyPixels(scorch, _local4, new Point((_arg1 - 16), (_arg2 - 16)), null, null, true);
}
}
}//package
Section 96
//dTool (dTool)
package {
import flash.display.*;
import flash.text.*;
public dynamic class dTool extends MovieClip {
public var desc:TextField;
public function dTool(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package
Section 97
//empEx (empEx)
package {
import flash.display.*;
public dynamic class empEx extends BitmapData {
public function empEx(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 98
//EndTile (EndTile)
package {
public class EndTile extends GameActor {
public function EndTile(){
SetGrid();
game.endPoints.push(this);
visible = false;
}
}
}//package
Section 99
//Enemy (Enemy)
package {
import flash.display.*;
public class Enemy extends Sprite {
public var gy:int;
public var upperTemp:Number;// = 200
private var hv:healthView;
public var coreTemp:Number;// = 35
public var rad:Number;// = 0
public var poison:Number;// = 0
public var oldAng:Number;// = 1000
public var pth:Array;
public var baseTemp:Number;// = 35
public var traveled:Number;// = 0
public var freezeAnim:MovieClip;
public var speed:Number;// = 1
public var health:Number;// = 50
public var cold_resistance:Number;// = 1
public var endPoint:EndTile;
public var bEnemy:Boolean;// = true
public var fxTick:int;// = 0
public var freeze:Number;// = 0
public var radius:int;// = 8
public var ty:int;
public var tx:int;
public var bFrozen:Boolean;
public var radiation_resistance:Number;// = 1
public var vx:Number;
public var vy:Number;
public var sValue:int;// = 100
public var lowerTemp:Number;// = -200
public var cValue:int;// = 10
public var burn:Number;// = 0
public var bMetal:Boolean;// = false
public var poison_resistance:Number;// = 1
public var ang:Number;
public var bDead:Boolean;// = false
public var heat_resistance:Number;// = 1
public var gx:int;
public var game:Game;
public var baseSpeed:Number;
public function Enemy(){
health = 50;
speed = 1;
cValue = 10;
sValue = 100;
radius = 8;
oldAng = 1000;
baseTemp = 35;
bEnemy = true;
bDead = false;
traveled = 0;
burn = 0;
poison = 0;
rad = 0;
freeze = 0;
bMetal = false;
fxTick = 0;
coreTemp = 35;
upperTemp = 200;
lowerTemp = -200;
heat_resistance = 1;
cold_resistance = 1;
poison_resistance = 1;
radiation_resistance = 1;
super();
mouseEnabled = false;
hv = new healthView();
addChild(hv);
hv.y = -20;
hv.update(Math.floor(health));
}
public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
setAngle();
};
};
};
}
public function makeFX():void{
var _local1:*;
fxTick++;
if (fxTick > 4){
fxTick = 0;
if (burn > 0){
_local1 = new renderSprite(game, game.SpritePool.flame, 16, x, (y - 8), (-0.2 + (Math.random() * 0.4)), (-(Math.random()) * 0.2), 8, 0.1, 8, 0, null, null, 1, true);
};
if (poison > 0){
_local1 = new renderSprite(game, game.SpritePool.poison, 16, x, (y - 8), (-0.2 + (Math.random() * 0.4)), (-(Math.random()) * 0.5), 8, 0.2, 8);
};
if (rad > 0){
_local1 = new renderSprite(game, game.SpritePool.rad, 16, x, (y - 8), (-0.2 + (Math.random() * 0.4)), (-(Math.random()) * 0.5), 8, 0.2, 8, 0, null, null, 1, true);
};
if (freeze > 0){
_local1 = new renderSprite(game, game.SpritePool.freeze, 16, x, (y - 8), (-0.2 + (Math.random() * 0.4)), (-(Math.random()) * 0.5), 8, 0.1, 8, 0, null, null, 1, true);
};
};
}
public function getDir():void{
var _local1:*;
var _local2:*;
if (pth == null){
pth = game.path.findPath(gx, gy, endPoint.gx, endPoint.gy);
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local1 = (tx - x);
_local2 = (ty - y);
ang = Math.atan2(_local2, _local1);
vx = Math.cos(ang);
vy = Math.sin(ang);
setAngle();
if (bMetal){
baseTemp = 200;
coreTemp = 200;
upperTemp = 500;
lowerTemp = 0;
cValue = 20;
};
} else {
if ((((pth.length <= 0)) && (!(bDead)))){
bDead = true;
game.levelHealth = (game.levelHealth - health);
game.killEnemy(this);
};
};
}
public function drawPath():void{
var _local1:MovieClip;
var _local2:*;
var _local3:*;
_local1 = MovieClip(parent);
_local2 = pth.length;
_local1.graphics.lineStyle(2, 0);
_local1.graphics.moveTo(x, y);
_local3 = (_local2 - 1);
while (_local3 >= 0) {
_local1.graphics.lineTo(((pth[(_local3 - 1)] * 24) + 12), ((pth[_local3] * 24) + 12));
_local3--;
_local3--;
};
}
public function deathFX():void{
}
public function SetGrid():void{
gx = Math.floor((x / game.gridSize));
gy = Math.floor((y / game.gridSize));
}
public function setAngle():void{
}
public function damageFX():void{
if (coreTemp > baseTemp){
coreTemp = (coreTemp - 0.02);
};
if (coreTemp < baseTemp){
coreTemp = (coreTemp + 0.02);
};
if (burn > 0){
burn--;
freeze = 0;
health = (health - 0.5);
};
if (freeze > 0){
freeze--;
};
if (rad > 0){
rad--;
health = (health - 0.3);
};
if (poison > 0){
if (bMetal){
poison = 0;
} else {
poison--;
health = (health - 0.5);
};
};
if (((bFrozen) && ((freeze <= 0)))){
unFreeze();
};
if (freeze > 0){
speed = 0;
} else {
if (poison > 0){
speed = (baseSpeed * 0.6);
} else {
if (rad > 0){
if (bMetal){
speed = (baseSpeed * 0.4);
} else {
speed = (baseSpeed * 0.6);
};
} else {
if (burn > 0){
if (!bMetal){
speed = (baseSpeed * 1.2);
};
} else {
speed = baseSpeed;
};
};
};
};
if (health <= 0){
if (bFrozen){
unFreeze();
};
deathFX();
game.killEnemy(this);
game.player.funds = (game.player.funds + cValue);
};
makeFX();
}
public function Tick(_arg1:Number):void{
SetGrid();
getDir();
Move(_arg1);
damageFX();
hv.update(Math.floor(health));
}
public function findPath():void{
pth = game.path.findPath(gx, gy, endPoint.gx, endPoint.gy);
}
public function unFreeze():void{
visible = true;
parent.removeChild(freezeAnim);
bFrozen = false;
freezeAnim = null;
}
public function takeDamage(_arg1, _arg2:DamageType, _arg3:Tower=null):void{
health = (health - _arg1);
rad = (rad + (_arg2.rad * radiation_resistance));
coreTemp = (coreTemp + (_arg2.burn * heat_resistance));
poison = (poison + (_arg2.poison * poison_resistance));
coreTemp = (coreTemp - (_arg2.freeze * cold_resistance));
if (_arg3 != null){
_arg3.exp = (_arg3.exp + Math.floor(_arg1));
};
if (coreTemp > upperTemp){
burn = coreTemp;
};
if (coreTemp < lowerTemp){
freeze = Math.abs((coreTemp * 0.2));
if (!bFrozen){
bFrozen = true;
dofreeze();
};
};
if (health <= 0){
if (bFrozen){
unFreeze();
};
deathFX();
game.killEnemy(this);
game.player.funds = (game.player.funds + cValue);
game.levelScore = (game.levelScore + (cValue * 2));
};
}
public function snapToGrid():void{
SetGrid();
x = ((gx * game.gridSize) + (game.gridSize * 0.5));
y = ((gy * game.gridSize) + (game.gridSize * 0.5));
}
public function dofreeze():void{
bFrozen = true;
if (!bMetal){
visible = false;
freezeAnim = new FrozenSoldier();
} else {
freezeAnim = new FrozenVehicle();
};
freezeAnim.x = x;
freezeAnim.y = (y + 3);
freezeAnim.gotoAndStop(Math.floor((Math.random() * 5)));
parent.addChild(freezeAnim);
}
}
}//package
Section 100
//enemy1 (enemy1)
package {
import flash.display.*;
public class enemy1 extends Enemy {
public var soldier:MovieClip;
public function enemy1(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
heat_resistance = 0.8;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.4, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.2, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.3, 8);
game.decalFX.Splat(x, y);
game.Soundbox.playHit("splat");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 101
//enemy2 (enemy2)
package {
import flash.display.*;
public class enemy2 extends Enemy {
public var soldier:MovieClip;
public function enemy2(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 0.8;
baseSpeed = speed;
radiation_resistance = 0.6;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.2, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.3, 8);
game.decalFX.Splat(x, y);
game.Soundbox.playHit("splat");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 102
//enemy3 (enemy3)
package {
import flash.display.*;
public class enemy3 extends Enemy {
public var soldier:MovieClip;
public function enemy3(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.2, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.3, 8);
game.decalFX.Splat(x, y);
game.Soundbox.playHit("splat");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 103
//enemy4 (enemy4)
package {
import flash.display.*;
public class enemy4 extends Enemy {
public var soldier:MovieClip;
public function enemy4(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
poison_resistance = 0.3;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.2, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.3, 8);
game.decalFX.Splat(x, y);
game.Soundbox.playHit("splat");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 104
//enemy5 (enemy5)
package {
import flash.display.*;
public class enemy5 extends Enemy {
public var soldier:MovieClip;
public function enemy5(_arg1:Game, _arg2:EndTile){
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
bMetal = true;
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.5, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.2, 8);
_local1 = new renderSprite(game, game.SpritePool.bloodSplat, 16, x, y, (-1 + (Math.random() * 2)), (-(Math.random()) * 2), 8, 0.3, 8);
game.decalFX.Splat(x, y);
game.Soundbox.playHit("splat");
}
override public function setAngle():void{
soldier.gotoAndStop((Math.round(((180 + ((ang * 180) / Math.PI)) / 45)) + 1));
}
}
}//package
Section 105
//explosion_1 (explosion_1)
package {
import flash.media.*;
public dynamic class explosion_1 extends Sound {
}
}//package
Section 106
//explosion_2 (explosion_2)
package {
import flash.media.*;
public dynamic class explosion_2 extends Sound {
}
}//package
Section 107
//explosion1 (explosion1)
package {
import flash.display.*;
public dynamic class explosion1 extends BitmapData {
public function explosion1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 108
//fExplode (fExplode)
package {
import flash.display.*;
public dynamic class fExplode extends BitmapData {
public function fExplode(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 109
//ffButton (ffButton)
package {
import flash.events.*;
public class ffButton extends gameButton {
public function ffButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
game.baseSpeed = 2;
}
public function tick(_arg1:Event):void{
if (game.baseSpeed > 1){
gotoAndStop(1);
} else {
gotoAndStop(2);
};
}
}
}//package
Section 110
//flame_1 (flame_1)
package {
import flash.media.*;
public dynamic class flame_1 extends Sound {
}
}//package
Section 111
//flame1 (flame1)
package {
import flash.display.*;
public dynamic class flame1 extends BitmapData {
public function flame1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 112
//flamer (flamer)
package {
import flash.display.*;
public dynamic class flamer extends BitmapData {
public function flamer(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 113
//FrameController (FrameController)
package {
import flash.display.*;
import flash.events.*;
public class FrameController extends Sprite {
var targetFrame:int;
var owner:Game;
var bRunning:Boolean;// = false
public function FrameController(){
bRunning = false;
super();
owner = Game(parent);
owner.frameController = this;
addEventListener(Event.ENTER_FRAME, tick);
alpha = 0;
visible = false;
mouseEnabled = false;
}
private function tick(_arg1:Event):void{
if (bRunning){
if (owner.currentFrame != targetFrame){
if (alpha < 1){
alpha = (alpha + 0.02);
} else {
owner.gotoAndStop(targetFrame);
};
} else {
if (alpha > 0){
alpha = (alpha - 0.02);
} else {
visible = false;
bRunning = false;
alpha = 0;
owner.arrived(targetFrame);
};
};
};
}
public function getFrame(_arg1:int):void{
targetFrame = _arg1;
bRunning = true;
visible = true;
}
}
}//package
Section 114
//freeze1 (freeze1)
package {
import flash.display.*;
public dynamic class freeze1 extends BitmapData {
public function freeze1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 115
//FrozenSoldier (FrozenSoldier)
package {
import flash.display.*;
public dynamic class FrozenSoldier extends MovieClip {
}
}//package
Section 116
//FrozenVehicle (FrozenVehicle)
package {
import flash.display.*;
public dynamic class FrozenVehicle extends MovieClip {
}
}//package
Section 117
//FxLayer (FxLayer)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class FxLayer extends Sprite {
private var clearRec:Rectangle;
public var sparks:Array;
private var bcanvas:BitmapData;
public var Canvas:MovieClip;
public var tracers:Array;
private var tbcanvas:Bitmap;
public var beams:Array;
public var Canvas2:MovieClip;
public var game:Game;
public function FxLayer(){
sparks = new Array();
tracers = new Array();
beams = new Array();
super();
mouseEnabled = false;
game = Game(parent);
clearRec = new Rectangle(0, 0, 640, 480);
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
}
private function renderTracer(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local2 = _arg1.wgt;
_local3 = ((_arg1.x + _arg1.ex) * 0.5);
_local4 = ((_arg1.y + _arg1.ey) * 0.5);
_local5 = ((_arg1.x + _local3) * 0.5);
_local6 = ((_arg1.y + _local4) * 0.5);
_local7 = ((_arg1.ex + _local3) * 0.5);
_local8 = ((_arg1.ey + _local4) * 0.5);
Canvas.graphics.lineStyle((_local2 * Math.random()), 16764023, (_arg1.life * 0.04));
Canvas.graphics.moveTo(_arg1.x, _arg1.y);
Canvas.graphics.lineTo(_local5, _local6);
Canvas.graphics.lineStyle((_local2 * Math.random()), 16764023, (_arg1.life * 0.01));
Canvas.graphics.lineTo(_local3, _local4);
Canvas.graphics.lineStyle((_local2 * Math.random()), 16777079, (_arg1.life * 0.03));
Canvas.graphics.lineTo(_local7, _local8);
Canvas.graphics.lineStyle((_local2 * Math.random()), 16764023, (_arg1.life * 0.05));
Canvas.graphics.lineTo(_arg1.ex, _arg1.ey);
}
public function removeBeam(_arg1:lightning):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = beams.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = beams[_local3];
if (_local4 == _arg1){
beams.splice(_local3, 1);
};
_local3++;
};
}
public function removeTracer(_arg1:Tracer):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = tracers.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = tracers[_local3];
if (_local4 == _arg1){
tracers.splice(_local3, 1);
};
_local3++;
};
}
private function renderBeam(_arg1:lightning):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Number;
var _local8:Number;
var _local9:*;
_local2 = (_arg1.life / 100);
_local3 = _arg1.sx;
_local4 = _arg1.sy;
_local5 = _arg1.vx;
_local6 = _arg1.vy;
Canvas2.graphics.lineStyle((1 + _local2), 0xFFFFFF, (_local2 + 0.1));
Canvas2.graphics.moveTo(_local3, _local4);
_local9 = 0;
while (_local9 < 9) {
_local2 = (_local2 - 0.05);
Canvas.graphics.lineStyle((3 + (_local2 * 2)), 0xFFFFFF, (_local2 + 0.8));
_local7 = (-6 + (Math.random() * 12));
_local8 = (-6 + (Math.random() * 12));
_local8 = (_local8 - (Math.sin((_local9 * 0.5)) * 5));
_local3 = (_local3 + _local5);
_local4 = (_local4 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
Canvas2.graphics.lineTo(_local3, _local4);
_local9++;
};
Canvas2.graphics.lineTo(_arg1.ex, _arg1.ey);
}
public function Tick(_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
Canvas.graphics.clear();
Canvas2.graphics.clear();
_local2 = sparks.length;
_local3 = 0;
while (_local3 < _local2) {
_local8 = sparks[_local3];
if (_local8 != undefined){
renderSpark(_local8);
_local8.Tick();
};
_local3++;
};
_local4 = tracers.length;
_local5 = 0;
while (_local5 < _local4) {
_local8 = tracers[_local5];
if (_local8 != undefined){
renderTracer(_local8);
_local8.Tick();
};
_local5++;
};
_local6 = beams.length;
_local7 = 0;
while (_local7 < _local6) {
_local9 = beams[_local7];
if (_local9 != undefined){
renderBeam(_local9);
_local9.Tick();
};
_local7++;
};
}
public function removeSpark(_arg1:Spark):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = sparks.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = sparks[_local3];
if (_local4 == _arg1){
sparks.splice(_local3, 1);
};
_local3++;
};
}
private function renderSpark(_arg1):void{
Canvas.graphics.lineStyle(1, 16777164, (_arg1.life / 10));
Canvas.graphics.moveTo(_arg1.x, _arg1.y);
Canvas.graphics.lineTo((_arg1.x - _arg1.vx), (_arg1.y - _arg1.vy));
}
}
}//package
Section 118
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import mochi.as3.*;
public class Game extends MovieClip {
private const gameWidth:int = 25;
public const firstLevelFrame:int = 10;
public const lastLevelFrame:int = 40;
private const gameHeight:int = 25;
var Enemies:Array;
var spawners:Array;
var WaveControl:waveController;
public var hud1:Hud;
var path:PathFinder;
var gridSize:int;// = 32
var Soundbox:soundManager;
public var instruction:instructionManager;
var Options:GameOptions;
var SpritePool:spritePool;
var renderElements:Array;
var Towers:Array;
var Selected:Tower;
var bLoggedIn:Boolean;// = false
public var fx:FxLayer;
var levelType:String;// = "forest"
var player:Player;
var frameController:FrameController;
var mainTick:Timer;
var levelHealth:Number;// = 1000
var playerName:String;
var levelArray:Array;
var decalFX:Decal;
var lastTick:Number;
var _mochiads_game_id:String;// = "5aee4720b3a35b97"
var levelScore:Number;// = 0
var gameSpeed:Number;
public var level:MovieClip;
var Projectiles:Array;
var currentLevel:int;
var endPoints:Array;
public var pausePage:PausePage;
var bFirstPlay:Boolean;// = false
var startPoints:Array;
var game:Game;
var baseSpeed:Number;// = 1
public function Game(){
gridSize = 32;
Towers = new Array();
startPoints = new Array();
endPoints = new Array();
Enemies = new Array();
Projectiles = new Array();
renderElements = new Array();
spawners = new Array();
levelHealth = 1000;
levelType = "forest";
levelScore = 0;
bLoggedIn = false;
bFirstPlay = false;
_mochiads_game_id = "5aee4720b3a35b97";
baseSpeed = 1;
super();
addFrameScript(9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 26, frame27, 28, frame29, 30, frame31);
mouseEnabled = false;
gotoAndStop(1);
game = this;
SpritePool = new spritePool();
player = new Player(false, this);
Soundbox = new soundManager(this);
mainTick = new Timer(24, 0);
mainTick.addEventListener(TimerEvent.TIMER, tick, false, 0, true);
path = new PathFinder(this);
WaveControl = new waveController(this);
Soundbox.playbgm();
}
public function createEnemy(_arg1:String, _arg2:int):void{
var _local3:*;
var _local4:StartTile;
var _local5:EndTile;
_local4 = getRandomStart();
_local5 = getRandomEnd();
switch (_arg1){
case "enemy1":
_local3 = new enemy1(this, _local5);
break;
case "enemy2":
_local3 = new enemy2(this, _local5);
break;
case "enemy3":
_local3 = new enemy3(this, _local5);
break;
case "enemy4":
_local3 = new enemy4(this, _local5);
break;
case "enemy5":
_local3 = new enemy5(this, _local5);
break;
case "bot_1":
_local3 = new bot_1(this, _local5);
break;
case "Jeep1":
_local3 = new Jeep1(this, _local5);
break;
case "Jeep2":
_local3 = new Jeep2(this, _local5);
break;
case "Jeep3":
_local3 = new Jeep3(this, _local5);
break;
case "Jeep4":
_local3 = new Jeep4(this, _local5);
break;
case "Tank1":
_local3 = new Tank1(this, _local5);
break;
case "Tank2":
_local3 = new Tank2(this, _local5);
break;
case "Tank3":
_local3 = new Tank3(this, _local5);
break;
default:
break;
};
_local3.x = _local4.x;
_local3.y = _local4.y;
level.addChild(_local3);
Enemies.push(_local3);
_local3.health = (_local3.health * (1 + (_arg2 * 0.1)));
}
public function createNewWave():void{
var _local1:waveSpawner;
var _local2:*;
_local2 = Math.random();
}
private function getRandomStart():StartTile{
var _local1:Number;
var _local2:int;
_local1 = (startPoints.length - 0.01);
_local2 = Math.floor((Math.random() * _local1));
return (startPoints[_local2]);
}
public function killSpawner(_arg1):void{
var _local2:*;
var _local3:*;
_local2 = spawners.length;
_local3 = 0;
while (_local3 < _local2) {
if (spawners[_local3] == _arg1){
spawners.splice(_local3, 1);
break;
};
_local3++;
};
}
public function startLevel():void{
hidePaused();
lastTick = getTimer();
mainTick.start();
}
function frame10(){
WaveControl.addWave("enemy3", 4, 15, 300);
WaveControl.addWave("enemy3", 4, 15, 300);
WaveControl.addWave("enemy3", 5, 15, 300);
WaveControl.addWave("enemy4", 15, 15, 800);
WaveControl.addWave("enemy4", 8, 15, 500);
WaveControl.addWave("enemy4", 8, 15, 500);
WaveControl.addWave("enemy2", 7, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 1000);
WaveControl.addWave("enemy1", 8, 15, 1000);
WaveControl.addWave("enemy1", 8, 15, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("Jeep4", 3, 45, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("Jeep3", 5, 45, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy1", 12, 15, 500);
WaveControl.addWave("enemy5", 12, 15, 500);
WaveControl.addWave("Jeep1", 5, 45, 50);
decalFX.drawPath("forest");
}
function frame14(){
WaveControl.addWave("enemy4", 4, 15, 500);
WaveControl.addWave("enemy2", 4, 15, 500);
WaveControl.addWave("enemy3", 4, 15, 800);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 100);
decalFX.drawPath("ice");
}
public function killTower(_arg1):void{
var _local2:*;
var _local3:*;
_local2 = Towers.length;
_local3 = 0;
while (_local3 < _local2) {
if (Towers[_local3] == _arg1){
Towers.splice(_local3, 1);
level.removeChild(_arg1);
break;
};
_local3++;
};
}
function frame15(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 100);
decalFX.drawPath("sand");
}
function frame16(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 30);
decalFX.drawPath("forest");
}
function frame18(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 30);
decalFX.drawPath("sand");
}
function frame12(){
WaveControl.addWave("enemy3", 2, 15, 1000);
WaveControl.addWave("enemy1", 2, 15, 1000);
WaveControl.addWave("enemy4", 4, 15, 1000);
WaveControl.addWave("enemy2", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy3", 6, 15, 1000);
WaveControl.addWave("enemy2", 6, 10, 1000);
WaveControl.addWave("enemy4", 6, 15, 1000);
WaveControl.addWave("enemy5", 8, 20, 1000);
WaveControl.addWave("enemy1", 8, 15, 1000);
WaveControl.addWave("enemy2", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 50);
decalFX.drawPath("sand");
}
private function getRandomEnd():EndTile{
var _local1:Number;
var _local2:int;
_local1 = (endPoints.length - 0.01);
_local2 = Math.floor((Math.random() * _local1));
return (endPoints[_local2]);
}
public function sortActors():void{
var _local1:uint;
var _local2:*;
var _local3:*;
_local1 = level.numChildren;
_local2 = 0;
while (_local2 < (_local1 - 1)) {
_local3 = (_local2 + 1);
while (_local3 < _local1) {
if (level.getChildAt(_local2).y > level.getChildAt(_local3).y){
level.swapChildrenAt(_local2, _local3);
};
_local3++;
};
_local2++;
};
}
function frame11(){
WaveControl.addWave("enemy3", 2, 15, 1000);
WaveControl.addWave("enemy1", 2, 15, 1000);
WaveControl.addWave("enemy4", 4, 15, 1000);
WaveControl.addWave("enemy2", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy3", 6, 15, 1000);
WaveControl.addWave("enemy2", 6, 10, 1000);
WaveControl.addWave("enemy4", 6, 15, 1000);
WaveControl.addWave("enemy5", 8, 20, 1000);
WaveControl.addWave("enemy1", 8, 15, 1000);
WaveControl.addWave("enemy2", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 50);
decalFX.drawPath("sand");
}
function frame17(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 30);
decalFX.drawPath("forest");
}
public function arrived(_arg1):void{
if ((((_arg1 >= firstLevelFrame)) && ((_arg1 <= lastLevelFrame)))){
startLevel();
Soundbox.playNoise();
Soundbox.stopbgm();
} else {
Soundbox.playbgm();
Soundbox.stopNoise();
};
}
function frame23(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy3", 20, 15, 1000);
WaveControl.addWave("enemy2", 18, 15, 700);
WaveControl.addWave("enemy1", 19, 15, 1000);
WaveControl.addWave("Jeep3", 8, 45, 2000);
WaveControl.addWave("Tank3", 2, 65, 3000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Tank3", 2, 65, 3000);
WaveControl.addWave("Tank1", 4, 65, 3000);
WaveControl.addWave("Tank2", 4, 65, 3000);
WaveControl.addWave("Tank3", 4, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("enemy3", 45, 15, 10);
decalFX.drawPath("sand");
}
function frame24(){
decalFX.drawPath("sand");
}
function frame25(){
WaveControl.addWave("enemy4", 2, 15, 300);
WaveControl.addWave("enemy2", 2, 15, 300);
WaveControl.addWave("enemy3", 4, 15, 400);
WaveControl.addWave("enemy4", 4, 20, 400);
WaveControl.addWave("enemy5", 4, 20, 500);
WaveControl.addWave("enemy1", 6, 15, 500);
WaveControl.addWave("enemy4", 6, 10, 500);
WaveControl.addWave("enemy5", 6, 15, 500);
WaveControl.addWave("enemy3", 8, 20, 600);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 800);
WaveControl.addWave("Jeep3", 5, 45, 800);
WaveControl.addWave("enemy2", 8, 25, 25);
WaveControl.addWave("enemy1", 8, 20, 1000);
WaveControl.addWave("Jeep2", 4, 45, 800);
WaveControl.addWave("enemy3", 12, 15, 800);
WaveControl.addWave("enemy4", 12, 20, 800);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 800);
WaveControl.addWave("Jeep1", 5, 45, 2000);
WaveControl.addWave("Tank1", 2, 45, 25);
}
function frame13(){
WaveControl.addWave("Jeep1", 2, 15, 1000);
WaveControl.addWave("enemy1", 2, 15, 1000);
WaveControl.addWave("enemy4", 4, 15, 1000);
WaveControl.addWave("enemy2", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy3", 6, 15, 1000);
WaveControl.addWave("enemy2", 6, 10, 1000);
WaveControl.addWave("enemy4", 6, 15, 1000);
WaveControl.addWave("enemy5", 8, 20, 1000);
WaveControl.addWave("enemy1", 8, 15, 1000);
WaveControl.addWave("enemy2", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 50);
decalFX.drawPath("sand");
}
function frame21(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy3", 20, 15, 1000);
WaveControl.addWave("enemy2", 18, 15, 700);
WaveControl.addWave("enemy1", 19, 15, 1000);
WaveControl.addWave("Jeep3", 8, 45, 2000);
WaveControl.addWave("Tank3", 2, 65, 3000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 40);
decalFX.drawPath("rocky");
}
function frame22(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy3", 20, 15, 1000);
WaveControl.addWave("enemy2", 18, 15, 700);
WaveControl.addWave("enemy1", 19, 15, 1000);
WaveControl.addWave("Jeep3", 8, 45, 2000);
WaveControl.addWave("Tank3", 2, 65, 3000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("bot_1", 3, 45, 4000);
WaveControl.addWave("Tank3", 2, 65, 30);
decalFX.drawPath("sand");
}
function frame19(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy3", 20, 15, 1000);
WaveControl.addWave("enemy2", 18, 15, 700);
WaveControl.addWave("enemy1", 19, 15, 1000);
WaveControl.addWave("Jeep3", 8, 45, 2000);
WaveControl.addWave("Tank3", 2, 65, 30);
decalFX.drawPath("forest");
}
function frame29(){
WaveControl.addWave("enemy4", 2, 15, 300);
WaveControl.addWave("enemy2", 2, 15, 300);
WaveControl.addWave("enemy3", 4, 15, 400);
WaveControl.addWave("enemy4", 4, 20, 400);
WaveControl.addWave("enemy5", 4, 20, 500);
WaveControl.addWave("enemy1", 6, 15, 500);
WaveControl.addWave("enemy4", 6, 10, 500);
WaveControl.addWave("enemy5", 6, 15, 500);
WaveControl.addWave("enemy3", 8, 20, 600);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 800);
WaveControl.addWave("Jeep3", 5, 45, 800);
WaveControl.addWave("enemy4", 6, 10, 500);
WaveControl.addWave("enemy5", 6, 15, 500);
WaveControl.addWave("enemy3", 8, 20, 600);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 25);
WaveControl.addWave("enemy1", 8, 20, 1000);
WaveControl.addWave("Jeep2", 4, 45, 800);
WaveControl.addWave("enemy3", 12, 15, 800);
WaveControl.addWave("enemy4", 12, 20, 800);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 800);
WaveControl.addWave("Jeep1", 5, 45, 1000);
WaveControl.addWave("Tank2", 2, 45, 800);
WaveControl.addWave("Jeep2", 5, 45, 1000);
WaveControl.addWave("Tank1", 2, 45, 800);
WaveControl.addWave("Jeep2", 5, 45, 800);
WaveControl.addWave("Tank3", 2, 45, 25);
}
function frame20(){
WaveControl.addWave("enemy4", 2, 15, 1000);
WaveControl.addWave("enemy2", 2, 15, 1000);
WaveControl.addWave("enemy3", 4, 15, 1000);
WaveControl.addWave("enemy4", 4, 20, 1000);
WaveControl.addWave("enemy5", 4, 20, 1000);
WaveControl.addWave("enemy1", 6, 15, 1000);
WaveControl.addWave("enemy4", 6, 10, 1000);
WaveControl.addWave("enemy5", 6, 15, 1000);
WaveControl.addWave("enemy3", 8, 20, 1000);
WaveControl.addWave("enemy2", 8, 15, 1000);
WaveControl.addWave("enemy1", 7, 10, 1000);
WaveControl.addWave("enemy5", 8, 15, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("Jeep3", 3, 55, 2000);
WaveControl.addWave("enemy1", 10, 15, 1000);
WaveControl.addWave("enemy5", 12, 20, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy3", 5, 25, 15);
WaveControl.addWave("enemy2", 7, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 1000);
WaveControl.addWave("Jeep3", 5, 45, 2000);
WaveControl.addWave("enemy3", 12, 15, 1000);
WaveControl.addWave("enemy4", 12, 20, 1000);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 1000);
WaveControl.addWave("Jeep1", 3, 45, 2000);
WaveControl.addWave("enemy3", 14, 15, 1000);
WaveControl.addWave("enemy5", 13, 15, 1000);
WaveControl.addWave("enemy2", 7, 15, 200);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("enemy1", 13, 15, 1000);
WaveControl.addWave("enemy4", 14, 15, 1000);
WaveControl.addWave("enemy2", 10, 15, 1000);
WaveControl.addWave("enemy3", 15, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy4", 10, 15, 1000);
WaveControl.addWave("enemy2", 7, 30, 15);
WaveControl.addWave("enemy1", 7, 30, 1000);
WaveControl.addWave("Jeep3", 3, 95, 50);
WaveControl.addWave("Jeep4", 3, 95, 1000);
WaveControl.addWave("enemy1", 16, 15, 1000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy3", 20, 30, 1000);
WaveControl.addWave("enemy4", 17, 20, 1000);
WaveControl.addWave("Jeep1", 7, 45, 2000);
WaveControl.addWave("enemy4", 10, 40, 25);
WaveControl.addWave("enemy5", 10, 40, 1000);
WaveControl.addWave("Jeep3", 3, 45, 2000);
WaveControl.addWave("enemy3", 10, 20, 100);
WaveControl.addWave("Jeep2", 2, 45, 1000);
WaveControl.addWave("enemy1", 18, 15, 1000);
WaveControl.addWave("enemy2", 17, 15, 1000);
WaveControl.addWave("Jeep4", 5, 45, 1000);
WaveControl.addWave("enemy5", 15, 15, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy2", 14, 15, 1000);
WaveControl.addWave("enemy4", 15, 15, 1000);
WaveControl.addWave("enemy5", 16, 15, 1000);
WaveControl.addWave("Jeep2", 4, 45, 1000);
WaveControl.addWave("Tank2", 2, 65, 3000);
WaveControl.addWave("enemy4", 10, 35, 20);
WaveControl.addWave("enemy5", 10, 35, 1000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep2", 7, 45, 2500);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("enemy3", 20, 15, 1000);
WaveControl.addWave("enemy2", 18, 15, 700);
WaveControl.addWave("enemy1", 19, 15, 1000);
WaveControl.addWave("Jeep3", 8, 45, 2000);
WaveControl.addWave("Tank3", 2, 65, 3000);
WaveControl.addWave("Jeep3", 7, 45, 2000);
WaveControl.addWave("Jeep4", 7, 45, 1000);
WaveControl.addWave("Jeep2", 7, 45, 1000);
WaveControl.addWave("Tank1", 2, 65, 3000);
WaveControl.addWave("bot_1", 3, 45, 40);
decalFX.drawPath("sand");
}
function frame27(){
WaveControl.addWave("enemy4", 2, 15, 300);
WaveControl.addWave("enemy2", 2, 15, 300);
WaveControl.addWave("enemy3", 4, 15, 400);
WaveControl.addWave("enemy4", 4, 20, 400);
WaveControl.addWave("enemy5", 4, 20, 500);
WaveControl.addWave("enemy1", 6, 15, 500);
WaveControl.addWave("enemy4", 6, 10, 500);
WaveControl.addWave("enemy5", 6, 15, 500);
WaveControl.addWave("enemy3", 8, 20, 600);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 800);
WaveControl.addWave("Jeep3", 5, 45, 800);
WaveControl.addWave("enemy2", 8, 25, 25);
WaveControl.addWave("enemy1", 8, 20, 1000);
WaveControl.addWave("Jeep2", 4, 45, 800);
WaveControl.addWave("enemy3", 12, 15, 800);
WaveControl.addWave("enemy4", 12, 20, 800);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 800);
WaveControl.addWave("Jeep1", 5, 45, 1000);
WaveControl.addWave("Tank3", 2, 45, 800);
WaveControl.addWave("Tank2", 2, 45, 800);
WaveControl.addWave("Tank1", 2, 45, 25);
}
public function showPaused():void{
pausePage.visible = true;
}
function frame31(){
WaveControl.addWave("enemy4", 2, 15, 300);
WaveControl.addWave("enemy2", 2, 15, 300);
WaveControl.addWave("enemy3", 4, 15, 400);
WaveControl.addWave("enemy4", 4, 20, 400);
WaveControl.addWave("enemy5", 4, 20, 500);
WaveControl.addWave("enemy1", 6, 15, 500);
WaveControl.addWave("enemy4", 6, 10, 500);
WaveControl.addWave("enemy5", 6, 15, 500);
WaveControl.addWave("enemy3", 8, 20, 600);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 800);
WaveControl.addWave("Jeep3", 5, 45, 800);
WaveControl.addWave("enemy2", 8, 15, 600);
WaveControl.addWave("enemy1", 7, 10, 600);
WaveControl.addWave("enemy5", 8, 15, 600);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("Jeep3", 3, 55, 800);
WaveControl.addWave("enemy1", 10, 15, 800);
WaveControl.addWave("enemy5", 10, 20, 800);
WaveControl.addWave("enemy4", 10, 15, 800);
WaveControl.addWave("enemy3", 8, 25, 15);
WaveControl.addWave("enemy2", 8, 25, 1000);
WaveControl.addWave("enemy1", 12, 20, 800);
WaveControl.addWave("Jeep3", 5, 45, 800);
WaveControl.addWave("enemy2", 8, 25, 25);
WaveControl.addWave("enemy1", 8, 20, 1000);
WaveControl.addWave("Jeep2", 4, 45, 800);
WaveControl.addWave("enemy3", 12, 15, 800);
WaveControl.addWave("enemy4", 12, 20, 800);
WaveControl.addWave("enemy5", 10, 15, 1000);
WaveControl.addWave("enemy1", 12, 15, 800);
WaveControl.addWave("Jeep1", 5, 45, 1000);
WaveControl.addWave("Tank2", 2, 45, 800);
WaveControl.addWave("Jeep2", 5, 45, 1000);
WaveControl.addWave("Tank1", 2, 45, 800);
WaveControl.addWave("Jeep2", 5, 45, 800);
WaveControl.addWave("Tank3", 2, 45, 25);
}
public function stopLevel():void{
mainTick.stop();
}
public function killEnemy(_arg1:Enemy):void{
var _local2:*;
var _local3:*;
_local2 = Enemies.length;
_arg1.x = -50;
_arg1.y = -50;
_local3 = (_local2 - 1);
while (_local3 > -1) {
if (Enemies[_local3] == _arg1){
Enemies.splice(_local3, 1);
level.removeChild(_arg1);
break;
};
_local3--;
};
}
public function setGrid(_arg1, _arg2, _arg3):void{
levelArray[_arg1][_arg2] = _arg3;
}
public function Update(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
_local3 = Enemies.length;
_local4 = 0;
while (_local4 < _local3) {
_local2 = Enemies[_local4];
if (_local2 != undefined){
_local2.Tick(_arg1);
};
_local4++;
};
_local5 = Projectiles.length;
_local6 = 0;
while (_local6 < _local5) {
_local2 = Projectiles[_local6];
if (_local2 != undefined){
_local2.Tick(_arg1);
};
_local6++;
};
_local7 = Towers.length;
_local8 = 0;
while (_local8 < _local7) {
_local2 = Towers[_local8];
if (_local2 != undefined){
_local2.Tick(_arg1);
};
_local8++;
};
_local9 = spawners.length;
_local10 = 0;
while (_local10 < _local9) {
_local2 = spawners[_local10];
if (_local2 != undefined){
_local2.Tick(_arg1);
};
_local10++;
};
WaveControl.Tick(_arg1);
_local11 = renderElements.length;
_local12 = 0;
while (_local12 < _local11) {
_local2 = renderElements[_local12];
if (_local2 != undefined){
_local2.Tick(_arg1);
};
_local12++;
};
}
public function hidePaused():void{
pausePage.visible = false;
pausePage.alpha = 1;
}
public function inRange(_arg1:Tower, _arg2:Enemy):Boolean{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
_local5 = ((_local3 * _local3) + (_local4 * _local4));
_local6 = (_arg1.Range + (_arg1.Range * _arg1.RLevel));
_local7 = ((_arg1.Range + (_arg1.Range * _arg1.RLevel)) * _local6);
if (_local5 <= _local7){
return (true);
};
return (false);
}
public function buildTower(_arg1, _arg2):void{
var _local3:Tower;
if ((((Selected == null)) || ((Selected.bHeld == false)))){
player.funds = (player.funds - _arg2);
switch (_arg1){
case "tower1":
_local3 = new tower1(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower2":
_local3 = new tower2(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower3":
_local3 = new tower3(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower4":
_local3 = new tower4(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower5":
_local3 = new tower5(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower6":
_local3 = new tower6(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower7":
_local3 = new tower7(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower8":
_local3 = new tower8(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower9":
_local3 = new tower9(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower10":
_local3 = new tower10(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "tower11":
_local3 = new tower11(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "suptower1":
_local3 = new supportTower_1(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "suptower2":
_local3 = new supportTower_2(this);
level.addChild(_local3);
Towers.push(_local3);
break;
case "suptower3":
_local3 = new supportTower_3(this);
level.addChild(_local3);
Towers.push(_local3);
break;
default:
break;
};
_local3.select();
_local3.saleValue = (_arg2 * 0.5);
};
}
public function tick(_arg1:TimerEvent):void{
var _local2:*;
_local2 = getTimer();
gameSpeed = ((_local2 - lastTick) * 0.08);
lastTick = _local2;
gameSpeed = (gameSpeed * baseSpeed);
if (gameSpeed > 8){
gameSpeed = 8;
};
Update(gameSpeed);
sortActors();
}
public function getFrame(_arg1):void{
frameController.getFrame(_arg1);
}
public function killSprite(_arg1):void{
var _local2:*;
var _local3:*;
_local2 = renderElements.length;
_local3 = 0;
while (_local3 < _local2) {
if (renderElements[_local3] == _arg1){
renderElements.splice(_local3, 1);
break;
};
_local3++;
};
}
public function getLevel(_arg1):void{
newLevel(gameWidth, gameHeight);
WaveControl.resetWC();
frameController.getFrame(((_arg1 + firstLevelFrame) - 1));
currentLevel = _arg1;
levelScore = 0;
levelHealth = 1000;
baseSpeed = 1;
player.funds = player.startFunds;
}
private function newLevel(_arg1, _arg2):void{
var _local3:*;
var _local4:*;
levelArray = new Array();
_local3 = 0;
while (_local3 < _arg1) {
levelArray[_local3] = new Array();
_local4 = 0;
while (_local4 < _arg2) {
levelArray[_local3].push(0);
_local4++;
};
_local3++;
};
Selected = null;
startPoints = new Array();
levelHealth = 1000;
endPoints = new Array();
Towers = new Array();
Enemies = new Array();
Projectiles = new Array();
renderElements = new Array();
spawners = new Array();
}
public function getGrid(_arg1, _arg2):int{
return (int(levelArray[_arg1][_arg2]));
}
public function getEnemy(_arg1:Tower, _arg2:String):Enemy{
var _local3:*;
var _local4:Enemy;
var _local5:Enemy;
var _local6:*;
_local3 = Enemies.length;
_local4 = null;
_local5 = null;
_local6 = 0;
while (_local6 < _local3) {
_local5 = Enemies[_local6];
if (inRange(_arg1, _local5)){
if (_local4 == null){
_local4 = _local5;
} else {
if ((((_arg2 == "near")) && ((_local5.traveled > _local4.traveled)))){
_local4 = _local5;
} else {
if ((((_arg2 == "far")) && ((_local5.traveled < _local4.traveled)))){
_local4 = _local5;
} else {
if ((((_arg2 == "strong")) && ((_local5.health > _local4.health)))){
_local4 = _local5;
} else {
if ((((_arg2 == "weak")) && ((_local5.health < _local4.health)))){
_local4 = _local5;
} else {
if ((((_arg2 == "heat")) && ((_local5.coreTemp > _local4.coreTemp)))){
if (_local5.coreTemp > 120){
_local4 = _local5;
};
} else {
if ((((_arg2 == "cold")) && ((_local5.coreTemp < _local4.coreTemp)))){
if (!_local5.bMetal){
_local4 = _local5;
};
};
};
};
};
};
};
};
};
_local6++;
};
return (_local4);
}
public function killProjectile(_arg1, _arg2:Boolean=false):void{
var _local3:*;
var _local4:*;
_local3 = Projectiles.length;
_local4 = 0;
while (_local4 < _local3) {
if (Projectiles[_local4] == _arg1){
if (!_arg2){
decalFX.Crater(_arg1.x, _arg1.y);
};
Projectiles.splice(_local4, 1);
break;
};
_local4++;
};
}
}
}//package
Section 119
//GameActor (GameActor)
package {
import flash.display.*;
public class GameActor extends Sprite {
public var gy:int;
public var vx:Number;
public var vy:Number;
public var gx:int;
public var game:Game;
public function GameActor(){
game = Game(parent.parent);
}
public function SetGrid():void{
gx = Math.floor((x / game.gridSize));
gy = Math.floor((y / game.gridSize));
}
public function Tick(_arg1:Number):void{
}
}
}//package
Section 120
//gameButton (gameButton)
package {
import flash.display.*;
import flash.events.*;
public class gameButton extends MovieClip {
var bScale:Boolean;
var game:Game;
public function gameButton(){
super();
try {
game = Game(parent);
} catch(error:Error) {
game = Game(parent.parent);
};
gotoAndStop(1);
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
addEventListener(MouseEvent.ROLL_OVER, over, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, out, false, 0, true);
}
public function clicked(_arg1:MouseEvent):void{
}
public function out(_arg1:MouseEvent):void{
if (bScale){
scaleX = 1;
scaleY = 1;
} else {
gotoAndStop(1);
};
}
public function over(_arg1:MouseEvent):void{
if (bScale){
scaleX = 1.1;
scaleY = 1.1;
} else {
gotoAndStop(2);
};
}
}
}//package
Section 121
//GameOptions (GameOptions)
package {
public class GameOptions {
public function GameOptions(_arg1:Boolean){
}
}
}//package
Section 122
//healthView (healthView)
package {
import flash.display.*;
import flash.text.*;
public class healthView extends MovieClip {
public var healthText:TextField;
public function update(_arg1:Number):void{
healthText.text = String(_arg1);
}
}
}//package
Section 123
//Hud (Hud)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Hud extends Sprite {
public var rf:TextField;
public var rg:TextField;
public var dg:TextField;
public var fundText:TextField;
public var hbar:MovieClip;
public var ucost:TextField;
public var livesText:TextField;
public var scoreText:TextField;
public var countText:TextField;
public var wavesText:TextField;
var game:Game;
public function Hud(){
mouseEnabled = false;
game = Game(parent);
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
}
public function Tick(_arg1:Event):void{
fundText.text = String(game.player.funds);
livesText.text = String(Math.floor(game.levelHealth));
hbar.scaleX = (game.levelHealth * 0.001);
scoreText.text = String(game.levelScore);
countText.text = String(Math.floor((game.WaveControl.nextSpawn / 100)));
wavesText.text = String(((("Wave: " + game.WaveControl.currentWave) + "/") + game.WaveControl.numWaves));
if (game.Selected != null){
rg.text = String((game.Selected.Range + (game.Selected.Range * game.Selected.RLevel)));
dg.text = String((game.Selected.Damage + (game.Selected.Damage * game.Selected.DLevel)));
rf.text = String((game.Selected.RoF + (game.Selected.RoF * game.Selected.RoFLevel)));
ucost.text = String(Math.floor((game.Selected.saleValue * 0.5)));
};
}
}
}//package
Section 124
//iced1 (iced1)
package {
import flash.display.*;
public dynamic class iced1 extends BitmapData {
public function iced1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 125
//iceGrid (iceGrid)
package {
import flash.display.*;
public dynamic class iceGrid extends BitmapData {
public function iceGrid(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 126
//instruction (instruction)
package {
import flash.display.*;
import flash.text.*;
public class instruction extends Sprite {
public var ins2:TextField;
public var clButton:okButton;
public var ins:TextField;
var game:Game;
public function instruction(_arg1, _arg2:String, _arg3:String, _arg4:Boolean=true){
game = _arg1.game;
mouseEnabled = false;
ins.text = _arg2;
ins2.text = _arg3;
game.baseSpeed = 0;
if (_arg4){
clButton.visible = false;
};
}
public function close():void{
game.baseSpeed = 1;
parent.removeChild(this);
}
}
}//package
Section 127
//instructionManager (instructionManager)
package {
import flash.display.*;
import flash.events.*;
public class instructionManager extends Sprite {
var inList:Array;
public var bblock:MovieClip;
var fg:instruction;
var game:Game;
public function instructionManager(){
var _local1:*;
super();
inList = new Array();
_local1 = 0;
while (_local1 < 10) {
inList.push(0);
_local1++;
};
game = Game(parent);
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
public function tick(_arg1:Event):void{
if ((((game.Towers.length <= 0)) && ((inList[0] == 0)))){
inList[0] = 1;
fg = new instruction(this, "Welcome back General. Before we move on I guess we should cover some of the basic's. Over to your right you'll find your command panel, this can be used to buy,sell , upgrade, and manage your defense towers", "To begin purchase one of the available towers from the command panel <note: A Large selection of towers are available from the war-mart>");
addChild(fg);
} else {
if ((((game.Towers.length > 0)) && ((inList[1] == 0)))){
inList[1] = 1;
fg.close();
fg = new instruction(this, "Ok now you have purchased a tower you need to place it somewhere on the battle field. Notice the ring around your new tower? that indicates how far your tower can see.", "Place the tower where it will have a good view of the path that the enemy will follow. Enemies start in areas marked with a green flag and escape at exits marked with a red flag");
addChild(fg);
} else {
if (((((!((game.Selected == null))) && ((game.Selected.bHeld == false)))) && ((inList[2] == 0)))){
fg.close();
inList[2] = 1;
fg = new instruction(this, "Awesome! If you have any funds left you can buy more towers or perhaps upgrade the one you have.", "To upgrade select a tower on the battle field and use the plus buttons next to the stat you wish to upgrade. When your ready hit the ok button below and try out your defenses!", false);
addChild(fg);
} else {
if ((((((game.Enemies.length <= 0)) && ((game.levelScore > 0)))) && ((inList[3] == 0)))){
inList[3] = 1;
fg = new instruction(this, "Well done General, that showed em! They were just basic soldiers, but some have resistance to certain damage types, for example black soldiers wear kevlar suits and only take half damage from bullets", "Be careful not to let to many enemy reach the exits though, any health they have left is deducted from your own. Reach zero and it's game over. Click ok to continue..", false);
addChild(fg);
} else {
if ((((game.Enemies.length >= 10)) && ((inList[4] == 0)))){
inList[4] = 1;
fg = new instruction(this, "Sometimes you'll discover that your defenses are not upto the task and will need a helping hand. Thankfully you have the abilty to call in a support strike at any location on the battlefield.", "This abilty however needs to be charged and can only be used when the support strike button turns green. Click ok to continue and try using it now..", false);
addChild(fg);
} else {
if ((((((game.Enemies.length <= 3)) && ((inList[4] == 1)))) && ((inList[5] == 0)))){
inList[5] = 1;
fg = new instruction(this, "Well you seemed to survive that one so I'll guess you got the hang of it... From here on in I'll give you more control of the game.", "You can now use the buttons at the bottom of the command panel to send waves, fast forward, and pause the game... Well that covers the basic's, Good Luck General!", false);
addChild(fg);
} else {
if ((((inList[5] == 1)) && ((game.baseSpeed > 0)))){
removeEventListener(Event.ENTER_FRAME, tick);
game.removeChild(this);
};
};
};
};
};
};
};
}
public function close():void{
parent.removeChild(this);
}
}
}//package
Section 128
//Jeep1 (Jeep1)
package {
import flash.display.*;
public class Jeep1 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Jeep1(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 0.9;
baseSpeed = speed;
bMetal = true;
health = 150;
radiation_resistance = 0.8;
heat_resistance = 0.7;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle >= 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle <= -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.floor(((desiredAngle + 180) * 0.2)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 129
//Jeep2 (Jeep2)
package {
import flash.display.*;
public class Jeep2 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Jeep2(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
bMetal = true;
health = 200;
heat_resistance = 0.8;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 130
//Jeep3 (Jeep3)
package {
import flash.display.*;
public class Jeep3 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Jeep3(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 1.2;
baseSpeed = speed;
bMetal = true;
health = 150;
heat_resistance = 0.7;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 131
//Jeep4 (Jeep4)
package {
import flash.display.*;
public class Jeep4 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Jeep4(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 1.3;
baseSpeed = speed;
bMetal = true;
health = 120;
heat_resistance = 0.9;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 132
//laser_1 (laser_1)
package {
import flash.media.*;
public dynamic class laser_1 extends Sound {
}
}//package
Section 133
//laserB (laserB)
package {
import flash.display.*;
public dynamic class laserB extends BitmapData {
public function laserB(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 134
//Level_0001 (Level_0001)
package {
import flash.display.*;
public dynamic class Level_0001 extends MovieClip {
public function Level_0001(){
addFrameScript(0, frame1);
}
function frame1(){
Game(parent).level = this;
}
}
}//package
Section 135
//LevelButton (LevelButton)
package {
import flash.events.*;
public class LevelButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function LevelButton(){
unlocked = false;
super();
}
public function init():void{
if (game.player.Levels[(levelNumber - 1)] > 0){
unlocked = true;
} else {
gotoAndStop(3);
};
}
override public function clicked(_arg1:MouseEvent):void{
if (unlocked){
game.getLevel(levelNumber);
};
}
override public function out(_arg1:MouseEvent):void{
if (unlocked){
gotoAndStop(1);
};
}
override public function over(_arg1:MouseEvent):void{
if (unlocked){
gotoAndStop(2);
};
}
}
}//package
Section 136
//LevelButton_1 (LevelButton_1)
package {
import flash.text.*;
public class LevelButton_1 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_1(){
levelNumber = 1;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 137
//LevelButton_10 (LevelButton_10)
package {
import flash.text.*;
public class LevelButton_10 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_10(){
levelNumber = 10;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 138
//LevelButton_11 (LevelButton_11)
package {
import flash.text.*;
public class LevelButton_11 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_11(){
levelNumber = 11;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 139
//LevelButton_12 (LevelButton_12)
package {
import flash.text.*;
public class LevelButton_12 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_12(){
levelNumber = 12;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 140
//LevelButton_13 (LevelButton_13)
package {
import flash.text.*;
public class LevelButton_13 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_13(){
levelNumber = 13;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 141
//LevelButton_14 (LevelButton_14)
package {
import flash.text.*;
public class LevelButton_14 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_14(){
levelNumber = 14;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 142
//LevelButton_16 (LevelButton_16)
package {
import flash.text.*;
public class LevelButton_16 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_16(){
levelNumber = 16;
lvlText.text = "Sniper Elite: Mission 1";
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 143
//LevelButton_18 (LevelButton_18)
package {
import flash.text.*;
public class LevelButton_18 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_18(){
levelNumber = 18;
lvlText.text = "Sniper Elite: Mission 2";
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 144
//LevelButton_2 (LevelButton_2)
package {
import flash.text.*;
public class LevelButton_2 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_2(){
levelNumber = 2;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 145
//LevelButton_20 (LevelButton_20)
package {
import flash.text.*;
public class LevelButton_20 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_20(){
levelNumber = 20;
lvlText.text = "Sniper Elite: Mission 3";
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 146
//LevelButton_22 (LevelButton_22)
package {
import flash.text.*;
public class LevelButton_22 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_22(){
levelNumber = 22;
lvlText.text = "Sniper Elite: Mission 4";
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 147
//LevelButton_3 (LevelButton_3)
package {
import flash.text.*;
public class LevelButton_3 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_3(){
levelNumber = 3;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 148
//LevelButton_4 (LevelButton_4)
package {
import flash.text.*;
public class LevelButton_4 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_4(){
levelNumber = 4;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 149
//LevelButton_5 (LevelButton_5)
package {
import flash.text.*;
public class LevelButton_5 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_5(){
levelNumber = 5;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 150
//LevelButton_6 (LevelButton_6)
package {
import flash.text.*;
public class LevelButton_6 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_6(){
levelNumber = 6;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 151
//LevelButton_7 (LevelButton_7)
package {
import flash.text.*;
public class LevelButton_7 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_7(){
levelNumber = 7;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 152
//LevelButton_8 (LevelButton_8)
package {
import flash.text.*;
public class LevelButton_8 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_8(){
levelNumber = 8;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 153
//LevelButton_9 (LevelButton_9)
package {
import flash.text.*;
public class LevelButton_9 extends LevelButton {
public var lvlText:TextField;
public var scoreText:TextField;
public function LevelButton_9(){
levelNumber = 9;
lvlText.text = String(levelNumber);
scoreText.text = String(game.player.Levels[levelNumber]);
init();
}
}
}//package
Section 154
//levelMenuButton (levelMenuButton)
package {
import flash.events.*;
public class levelMenuButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function levelMenuButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.getFrame(3);
}
}
}//package
Section 155
//lightning (lightning)
package {
public class lightning {
public var vx:Number;
public var vy:Number;
public var sx:Number;
public var sy:Number;
public var Tgt:Enemy;
public var game:Game;
public var ex:Number;
public var ey:Number;
public var life:Number;
public var vLen:Number;
public function lightning(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7=null){
var _local8:*;
var _local9:*;
var _local10:*;
super();
game = _arg6;
sx = _arg1;
sy = _arg2;
ex = _arg3;
ey = _arg4;
life = _arg5;
_local8 = (sx - ex);
_local9 = (sy - ey);
_local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
vx = -((_local8 / 10));
vy = -((_local9 / 10));
game.fx.beams.push(this);
}
public function Tick():void{
life = (life - 3);
if (life <= 0){
game.fx.removeBeam(this);
};
}
}
}//package
Section 156
//lvlUp (lvlUp)
package {
import flash.display.*;
public dynamic class lvlUp extends MovieClip {
}
}//package
Section 157
//ManualTower (ManualTower)
package {
public class ManualTower extends Tower {
var bCanFire:Boolean;// = false
public function ManualTower(){
bCanFire = false;
super();
mouseEnabled = false;
}
override public function clicked():void{
}
public function testRadial(_arg1, _arg2, _arg3:Enemy):Boolean{
var _local4:*;
var _local5:*;
var _local6:Boolean;
var _local7:*;
var _local8:*;
_local4 = (_arg1 - _arg3.x);
_local5 = (_arg2 - _arg3.y);
_local6 = false;
_local7 = ((_arg3.radius * _arg3.radius) + (_arg3.radius * _arg3.radius));
_local8 = ((_local4 * _local4) + (_local5 * _local5));
if (_local8 <= _local7){
_local6 = true;
};
return (_local6);
}
override public function Tick(_arg1:Number):void{
loading = (loading + (RoF * _arg1));
aim();
if ((((loading >= 100)) && ((game.player.funds >= 0)))){
bCanFire = true;
};
}
}
}//package
Section 158
//Manualtower1 (Manualtower1)
package {
import flash.display.*;
public class Manualtower1 extends ManualTower {
public var turret:MovieClip;
public function Manualtower1(_arg1:Game=null){
Damage = 300;
RoF = 8;
Range = 120;
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
game.Selected = this;
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = (stage.mouseX - x);
_local2 = (stage.mouseY - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:Enemy;
var _local13:*;
var _local14:*;
bCanFire = false;
game.player.funds = (game.player.funds - 1);
_local1 = (stage.mouseX - x);
_local2 = (stage.mouseY - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
eTarget = null;
_local6 = false;
_local7 = stage.mouseX;
_local8 = stage.mouseY;
_local9 = 10;
while (_local6 == false) {
_local12 = checkHit(_local7, _local8);
if (_local12 != null){
_local6 = true;
eTarget = _local12;
};
_local7 = (_local7 - (_local4 * 0.25));
_local8 = (_local8 - (_local5 * 0.25));
--_local9;
if (_local9 <= 0){
_local7 = stage.mouseX;
_local8 = stage.mouseY;
_local6 = true;
};
};
_local10 = new renderSprite(game, game.SpritePool.mFlash, 16, ((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 25) + (_local4 * 0.1)), 0, 0, 8, 1, 8, 0, null, null, 1, true);
_local11 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 25) + (_local4 * 0.1)), _local7, _local8, 6, game, 2);
if (eTarget != null){
if (eTarget.bMetal){
_local13 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage(((Damage + (Damage * DLevel)) * 0.5), new DamageType(5, 0, 0, 0), this);
} else {
_local14 = new renderSprite(game, game.SpritePool.bloodSplat, 16, eTarget.x, eTarget.y, (_local4 * 0.05), (_local5 * 0.05), 8, 0.5, 8);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(2, 0, 0, 0), this);
};
} else {
_local13 = new Spark(_local7, _local8, 20, game);
_local13 = new Spark(_local7, _local8, 20, game);
_local13 = new Spark(_local7, _local8, 20, game);
};
game.Soundbox.playShot("sniper");
}
function checkHit(_arg1, _arg2):Enemy{
var _local3:*;
var _local4:Enemy;
var _local5:*;
_local3 = game.Enemies.length;
_local4 = null;
_local5 = 0;
while (_local5 < _local3) {
if (testRadial(_arg1, _arg2, game.Enemies[_local5])){
_local4 = game.Enemies[_local5];
break;
};
_local5++;
};
return (_local4);
}
}
}//package
Section 159
//marchBGM (marchBGM)
package {
import flash.media.*;
public dynamic class marchBGM extends Sound {
}
}//package
Section 160
//Mart (Mart)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Mart extends MovieClip {
var basketItem:shopItem;
public var DTool:dTool;
public var CRED:TextField;
var selectedItem:shopItem;
public var confScreen:confirmationPage;
var game:Game;
public function Mart(){
gotoAndStop(1);
game = Game(parent);
CRED.text = String(game.player.credits);
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
hideConfirm();
}
public function showConfirm():void{
confScreen.visible = true;
}
public function hideConfirm():void{
confScreen.visible = false;
}
public function selectItem(_arg1:shopItem):void{
selectedItem = _arg1;
}
public function tick(_arg1:Event):void{
if (selectedItem != null){
DTool.desc.text = selectedItem.itemDesc;
};
CRED.text = String(game.player.credits);
}
public function buyItem(_arg1:shopItem):void{
showConfirm();
basketItem = _arg1;
}
public function purchaseBasketItem():void{
hideConfirm();
game.player.addCredit(-(basketItem.itemCost));
game.player.buyItem(basketItem.itemID, basketItem.type);
basketItem.checkItem();
}
}
}//package
Section 161
//mCancelButton (mCancelButton)
package {
import flash.display.*;
import flash.events.*;
public class mCancelButton extends Sprite {
public function mCancelButton(){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
}
public function clicked(_arg1:MouseEvent):void{
Mart(parent.parent).hideConfirm();
}
}
}//package
Section 162
//mech_1 (mech_1)
package {
import flash.media.*;
public dynamic class mech_1 extends Sound {
}
}//package
Section 163
//mg_1 (mg_1)
package {
import flash.media.*;
public dynamic class mg_1 extends Sound {
}
}//package
Section 164
//mg_2 (mg_2)
package {
import flash.media.*;
public dynamic class mg_2 extends Sound {
}
}//package
Section 165
//Missile (Missile)
package {
import flash.display.*;
public class Missile extends MovieClip {
public var PI:Number;
public var explosion:Number;
public var blastSize:int;// = 40
public var game:Game;
public var damageType:DamageType;
public var fxCount:int;// = 0
public var speed:Number;
public var tgt:Enemy;
public var damage:int;
public var grid:int;
public var msl:MovieClip;
public var radius:Number;// = 6
public var dType:DamageType;
public var vx:Number;
public var vy:Number;
public var who:Tower;
private var alive:Boolean;// = true
public var gx:int;
public var gy:int;
public function Missile(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0, _arg6:int=0, _arg7:Enemy=null, _arg8:Number=1, _arg9:DamageType=null, _arg10:Number=30, _arg11:Tower=null){
radius = 6;
blastSize = 40;
fxCount = 0;
alive = true;
super();
PI = Math.PI;
game = _arg1;
x = _arg2;
y = _arg3;
vx = _arg4;
vy = _arg5;
damage = _arg6;
dType = _arg9;
tgt = _arg7;
speed = _arg8;
grid = game.gridSize;
game.Projectiles.push(this);
explosion = _arg10;
who = _arg11;
}
private function collide():void{
var _local1:*;
var _local2:RadialBlast;
if (alive){
alive = false;
parent.removeChild(this);
_local1 = new renderSprite(game, game.SpritePool.fireX, 64, x, y, 0, 0, 16, 0.5, 16, 0, null, null, 1, true, null);
_local1 = new renderSprite(game, game.SpritePool.explosion, 64, x, y, 0, -1, 16, 0.5, 16, 0, null, null, 1, true, null);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
_local2 = new RadialBlast(game, x, y, 55, damage, dType, who);
game.killProjectile(this);
};
}
private function setVelocity():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if ((((tgt.health > 0)) && ((tgt.x > 0)))){
_local1 = (tgt.x - x);
_local2 = (tgt.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
vx = ((_local1 / _local3) * speed);
vy = ((_local2 / _local3) * speed);
_local4 = ((Math.atan2(vy, vx) * 180) / PI);
msl.gotoAndStop(Math.round(((_local4 + 180) / 5)));
} else {
_local5 = new renderSprite(game, game.SpritePool.fireX, 64, x, y, 0, 0, 16, 0.5, 16, 0, null, null, 1, true, null);
_local5 = new renderSprite(game, game.SpritePool.explosion, 64, x, y, 0, -1, 16, 0.5, 16, 0, null, null, 1, true, null);
_local5 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.killProjectile(this);
parent.removeChild(this);
};
}
private function testRadial():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = (x - tgt.x);
_local2 = (y - tgt.y);
_local3 = (radius * radius);
_local4 = ((_local1 * _local1) + (_local2 * _local2));
if (_local4 <= _local3){
collide();
};
}
public function Tick(_arg1):void{
var _local2:*;
if (alive){
x = (x + (vx * _arg1));
y = (y + (vy * _arg1));
setGrid();
setVelocity();
testCollision();
fxCount++;
if (fxCount >= 4){
fxCount = 0;
_local2 = new renderSprite(game, game.SpritePool.trail, 16, (x - (vx * 3)), ((y - (vy * 3)) - 6), 0, 0, 10, 0.5, 10);
};
};
}
private function testCollision():void{
if ((((tgt.gx >= (gx - 1))) && ((tgt.gx <= (gx + 1))))){
if ((((tgt.gy >= (gy - 1))) && ((tgt.gy <= (gy + 1))))){
testRadial();
};
};
}
private function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
}
}//package
Section 166
//missile_1 (missile_1)
package {
import flash.media.*;
public dynamic class missile_1 extends Sound {
}
}//package
Section 167
//mmButton (mmButton)
package {
import flash.events.*;
public class mmButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function mmButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.getFrame(1);
}
}
}//package
Section 168
//mono1 (mono1)
package {
import flash.display.*;
public dynamic class mono1 extends MovieClip {
public function mono1(){
addFrameScript(0, frame1);
}
function frame1(){
mouseEnabled = false;
}
}
}//package
Section 169
//moveButton (moveButton)
package {
import flash.events.*;
public class moveButton extends gameButton {
public function moveButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
if (alpha >= 1){
game.Selected.relocate();
};
}
public function tick(_arg1:Event):void{
if (((!((game.Selected == null))) && ((game.player.funds >= 10)))){
alpha = 1;
} else {
alpha = 0.5;
};
}
}
}//package
Section 170
//mPurchaseButton (mPurchaseButton)
package {
import flash.display.*;
import flash.events.*;
public class mPurchaseButton extends Sprite {
public function mPurchaseButton(){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
}
public function clicked(_arg1:MouseEvent):void{
Mart(parent.parent).purchaseBasketItem();
}
}
}//package
Section 171
//mtrail (mtrail)
package {
import flash.display.*;
public dynamic class mtrail extends BitmapData {
public function mtrail(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 172
//muteButton (muteButton)
package {
import flash.events.*;
public class muteButton extends gameButton {
public function muteButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
game.Soundbox.mute();
}
public function tick(_arg1:Event):void{
if (game.Soundbox.bMute){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
}
}
}//package
Section 173
//muzzleFlash (muzzleFlash)
package {
import flash.display.*;
public dynamic class muzzleFlash extends BitmapData {
public function muzzleFlash(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 174
//NoiseBG (NoiseBG)
package {
import flash.media.*;
public dynamic class NoiseBG extends Sound {
}
}//package
Section 175
//okButton (okButton)
package {
import flash.display.*;
import flash.events.*;
public class okButton extends MovieClip {
var ins:instruction;
public function okButton(){
ins = instruction(parent);
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
}
public function clicked(_arg1:MouseEvent):void{
ins.close();
}
}
}//package
Section 176
//PathFinder (PathFinder)
package {
public class PathFinder {
var game:Game;
public function PathFinder(_arg1:Game){
game = _arg1;
}
public function getArray(_arg1, _arg2):int{
if ((((((((_arg1 < 0)) || ((_arg1 > 29)))) || ((_arg2 < 0)))) || ((_arg2 > 25)))){
return (0);
};
return (int(game.levelArray[_arg1][_arg2]));
}
public function findPath(_arg1, _arg2, _arg3, _arg4){
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:Number;
var _local10:*;
_local5 = {};
_local6 = [];
_local5.unchecked = [];
_local5.done = false;
_local7 = (Math.abs((_arg1 - _arg3)) + Math.abs((_arg2 - _arg4)));
_local5.name = ((("cell_" + _arg2) + "_") + _arg1);
_local5[_local5.name] = {x:_arg1, y:_arg2, visited:true, px:null, py:null, cost:_local7};
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
while (_local5.unchecked.length > 0) {
_local8 = _local5.unchecked.shift();
_local9 = 0;
if ((((_local8.x == _arg3)) && ((_local8.y == _arg4)))){
while (_local8.px != null) {
_local6[_local6.length] = _local8.x;
_local6[_local6.length] = _local8.y;
_local8 = _local5[((("cell_" + _local8.py) + "_") + _local8.px)];
};
_local5.done = true;
break;
} else {
_local8.visited = true;
_local10 = false;
if (getArray((_local8.x + 1), _local8.y) == 1){
_local9 = (Math.abs(((_local8.x + 1) - _arg3)) + Math.abs((_local8.y - _arg4)));
_local5.name = ((("cell_" + _local8.y) + "_") + (_local8.x + 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x + 1), y:_local8.y, visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if (getArray((_local8.x - 1), _local8.y) == 1){
_local9 = (Math.abs(((_local8.x - 1) - _arg3)) + Math.abs((_local8.y - _arg4)));
_local5.name = ((("cell_" + _local8.y) + "_") + (_local8.x - 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x - 1), y:_local8.y, visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if (getArray(_local8.x, (_local8.y + 1)) == 1){
_local9 = (Math.abs((_local8.x - _arg3)) + Math.abs(((_local8.y + 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y + 1)) + "_") + _local8.x);
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:_local8.x, y:(_local8.y + 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if (getArray(_local8.x, (_local8.y - 1)) == 1){
_local9 = (Math.abs((_local8.x - _arg3)) + Math.abs(((_local8.y - 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y - 1)) + "_") + _local8.x);
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:_local8.x, y:(_local8.y - 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if ((((((getArray((_local8.x + 1), (_local8.y + 1)) == 1)) && ((getArray(_local8.x, (_local8.y + 1)) == 1)))) && ((getArray((_local8.x + 1), _local8.y) == 1)))){
_local9 = (Math.abs(((_local8.x + 1) - _arg3)) + Math.abs(((_local8.y + 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y + 1)) + "_") + (_local8.x + 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x + 1), y:(_local8.y + 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if ((((((getArray((_local8.x - 1), (_local8.y - 1)) == 1)) && ((getArray(_local8.x, (_local8.y - 1)) == 1)))) && ((getArray((_local8.x - 1), _local8.y) == 1)))){
_local9 = (Math.abs(((_local8.x - 1) - _arg3)) + Math.abs(((_local8.y - 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y - 1)) + "_") + (_local8.x - 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x - 1), y:(_local8.y - 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if ((((((getArray((_local8.x - 1), (_local8.y + 1)) == 1)) && ((getArray(_local8.x, (_local8.y + 1)) == 1)))) && ((getArray((_local8.x - 1), _local8.y) == 1)))){
_local9 = (Math.abs(((_local8.x - 1) - _arg3)) + Math.abs(((_local8.y + 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y + 1)) + "_") + (_local8.x - 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x - 1), y:(_local8.y + 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
_local10 = false;
if ((((((getArray((_local8.x + 1), (_local8.y - 1)) == 1)) && ((getArray(_local8.x, (_local8.y - 1)) == 1)))) && ((getArray((_local8.x + 1), _local8.y) == 1)))){
_local9 = (Math.abs(((_local8.x + 1) - _arg3)) + Math.abs(((_local8.y - 1) - _arg4)));
_local5.name = ((("cell_" + (_local8.y - 1)) + "_") + (_local8.x + 1));
if (_local5[_local5.name] == undefined){
_local5[_local5.name] = {x:(_local8.x + 1), y:(_local8.y - 1), visited:false, px:_local8.x, py:_local8.y, cost:_local9};
if (_local10 == false){
_local5.unchecked[_local5.unchecked.length] = _local5[_local5.name];
};
};
};
};
};
if (_local5.done){
return (_local6);
};
return (undefined);
}
}
}//package
Section 177
//pathGrids (pathGrids)
package {
import flash.display.*;
public dynamic class pathGrids extends BitmapData {
public function pathGrids(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 178
//PathTile (PathTile)
package {
import flash.display.*;
public class PathTile extends Sprite {
public function PathTile(){
var _local1:Game;
var _local2:*;
var _local3:*;
super();
_local1 = Game(parent);
_local2 = Math.floor((x / _local1.gridSize));
_local3 = Math.floor((y / _local1.gridSize));
_local1.setGrid(_local2, _local3, 1);
parent.removeChild(this);
}
}
}//package
Section 179
//PauseButton (PauseButton)
package {
import flash.events.*;
public class PauseButton extends gameButton {
public function PauseButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
game.baseSpeed = 0;
game.showPaused();
}
public function tick(_arg1:Event):void{
if (game.baseSpeed > 0){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
}
}
}//package
Section 180
//PausePage (PausePage)
package {
import flash.display.*;
public dynamic class PausePage extends MovieClip {
}
}//package
Section 181
//PlayButton (PlayButton)
package {
import flash.events.*;
public class PlayButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function PlayButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.getFrame(3);
}
}
}//package
Section 182
//Player (Player)
package {
import flash.net.*;
public class Player {
public var startFunds:int;// = 500
public var Levels:Array;
public var funds:int;// = 500
public var credits:int;// = 0
public var GameData:SharedObject;
public var Towers:Array;
public var game:Game;
public function Player(_arg1:Boolean, _arg2:Game){
funds = 500;
startFunds = 500;
credits = 0;
super();
game = _arg2;
GameData = SharedObject.getLocal("FD-2-32-317", "/", false);
if (GameData.data.bPlayed == 1){
LoadData();
} else {
createNewData();
};
}
public function saveLevel(_arg1:int, _arg2:int):void{
if (int(Levels[_arg1]) < _arg2){
Levels[_arg1] = _arg2;
saveData();
};
}
public function addStartFunds(_arg1:int):void{
startFunds = (startFunds + _arg1);
saveData();
}
public function LoadData():void{
var _local1:*;
GameData.data.bPlayed = 1;
credits = int(GameData.data.credits);
startFunds = int(GameData.data.stFunds);
Towers = new Array();
Levels = new Array();
_local1 = 0;
while (_local1 < 20) {
Towers.push(int(GameData.data[("Tower" + _local1)]));
_local1++;
};
_local1 = 0;
while (_local1 < 40) {
Levels.push(int(GameData.data[("Level" + _local1)]));
_local1++;
};
funds = startFunds;
}
public function saveData():void{
var _local1:*;
GameData.data.bPlayed = 1;
GameData.data.credits = credits;
GameData.data.stFunds = startFunds;
_local1 = 0;
while (_local1 < 20) {
GameData.data[("Tower" + _local1)] = int(Towers[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < 40) {
GameData.data[("Level" + _local1)] = int(Levels[_local1]);
_local1++;
};
}
public function createNewData():void{
var _local1:*;
credits = 1000;
Towers = new Array();
Levels = new Array();
_local1 = 0;
while (_local1 < 20) {
Towers.push(0);
_local1++;
};
Towers[2] = 1;
Towers[3] = 1;
Towers[4] = 1;
Towers[13] = 1;
_local1 = 0;
while (_local1 < 40) {
Levels.push(0);
_local1++;
};
Levels[0] = 1;
saveData();
}
public function unlockTower(_arg1:int):void{
Towers[_arg1] = 1;
saveData();
}
public function buyItem(_arg1:int, _arg2:String){
if (_arg2 == "tower"){
unlockTower(_arg1);
};
if (_arg2 == "bonus"){
addStartFunds(_arg1);
};
if (_arg2 == "level"){
Levels[(_arg1 - 1)] = 1;
saveData();
};
}
public function addCredit(_arg1){
credits = (credits + _arg1);
GameData.data.credits = credits;
}
}
}//package
Section 183
//poison1 (poison1)
package {
import flash.display.*;
public dynamic class poison1 extends BitmapData {
public function poison1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 184
//poison2 (poison2)
package {
import flash.display.*;
public dynamic class poison2 extends BitmapData {
public function poison2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 185
//pshell1 (pshell1)
package {
import flash.display.*;
public dynamic class pshell1 extends BitmapData {
public function pshell1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 186
//quitButton (quitButton)
package {
import flash.events.*;
public class quitButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function quitButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.levelHealth = 0;
}
}
}//package
Section 187
//rad1 (rad1)
package {
import flash.display.*;
public dynamic class rad1 extends BitmapData {
public function rad1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 188
//RadialBlast (RadialBlast)
package {
public class RadialBlast {
public var who:Tower;
public var game:Game;
public var radius:Number;
public var damage:Number;
public var x:Number;
public var y:Number;
public var dType:DamageType;
public function RadialBlast(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:DamageType, _arg7:Tower=null){
game = _arg1;
x = _arg2;
y = _arg3;
radius = (_arg4 * 2);
dType = _arg6;
damage = _arg5;
who = _arg7;
blast();
}
private function inRange(_arg1):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = false;
_local3 = (x - _arg1.x);
_local4 = (y - _arg1.y);
_local5 = ((_local3 * _local3) + (_local4 * _local4));
_local6 = (radius * radius);
if (_local5 <= _local6){
_local2 = true;
};
return (_local2);
}
private function blast():void{
var _local1:*;
var _local2:Enemy;
var _local3:*;
_local1 = game.Enemies.length;
_local3 = 0;
while (_local3 < _local1) {
_local2 = Enemy(game.Enemies[_local3]);
if (_local2 != null){
if (inRange(_local2)){
_local2.takeDamage(damage, dType, who);
};
};
_local3++;
};
}
}
}//package
Section 189
//RadialCloud (RadialCloud)
package {
public class RadialCloud {
public var Rate:Number;// = 10
private var counter:Number;// = 0
public var dType:DamageType;
public var y:Number;
public var radius:Number;
public var Type:String;
public var Life:int;// = 100
public var damage:Number;
public var game:Game;
public var who:Tower;
public var x:Number;
public function RadialCloud(_arg1:Game, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:DamageType, _arg7:Tower=null, _arg8:String="", _arg9:int=100, _arg10:Number=10){
Rate = 10;
Life = 100;
counter = 0;
super();
game = _arg1;
x = _arg2;
y = _arg3;
radius = (_arg4 * 2);
dType = _arg6;
damage = _arg5;
who = _arg7;
Type = _arg8;
Life = _arg9;
Rate = _arg10;
game.Projectiles.push(this);
}
private function inRange(_arg1):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = false;
_local3 = (x - _arg1.x);
_local4 = (y - _arg1.y);
_local5 = ((_local3 * _local3) + (_local4 * _local4));
_local6 = (radius * radius);
if (_local5 <= _local6){
_local2 = true;
};
return (_local2);
}
private function blast():void{
var _local1:*;
var _local2:Enemy;
var _local3:*;
_local1 = game.Enemies.length;
_local3 = 0;
while (_local3 < _local1) {
_local2 = Enemy(game.Enemies[_local3]);
if (_local2 != null){
if (inRange(_local2)){
_local2.takeDamage(0, dType, who);
};
};
_local3++;
};
}
public function Tick(_arg1):void{
var _local2:*;
var _local3:*;
Life = (Life - _arg1);
counter = (counter + _arg1);
if (Life <= 0){
game.killProjectile(this, true);
};
if (counter >= Rate){
counter = 0;
blast();
};
if (Math.random() > 0.7){
if (Type == "fire"){
_local2 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.2 + (Math.random() * 0.4)), -((Math.random() * 0.5)), 10, 0.1, 10, 0, null, null, 1, true);
} else {
_local3 = new renderSprite(game, game.SpritePool.bioCloud, 32, x, y, (-0.2 + (Math.random() * 0.4)), -((Math.random() * 0.3)), 10, 0.1, 10, 0, null, null, 1, false);
};
};
}
}
}//package
Section 190
//RangeButton (RangeButton)
package {
public class RangeButton extends ugButton {
public function RangeButton(){
uType = "range";
}
}
}//package
Section 191
//RangeRing (RangeRing)
package {
import flash.display.*;
import flash.events.*;
public class RangeRing extends MovieClip {
public var sRing:MovieClip;
var game:Game;
public function RangeRing(){
mouseEnabled = false;
visible = false;
game = Game(parent);
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
}
public function Tick(_arg1:Event):void{
var _local2:*;
if (game.Selected != null){
x = game.Selected.x;
y = game.Selected.y;
_local2 = (game.Selected.Range + (game.Selected.Range * game.Selected.RLevel));
sRing.scaleX = (_local2 / 100);
sRing.scaleY = sRing.scaleX;
visible = true;
if (game.Selected.bHeld){
if (game.Selected.bBlocked){
sRing.gotoAndStop(2);
} else {
sRing.gotoAndStop(1);
};
} else {
sRing.gotoAndStop(1);
};
} else {
visible = false;
};
}
}
}//package
Section 192
//reloader (reloader)
package {
import flash.display.*;
public dynamic class reloader extends MovieClip {
}
}//package
Section 193
//Renderer (Renderer)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class Renderer extends Sprite {
var clearRec:Rectangle;
var canvas:BitmapData;
var glowScreen:Bitmap;
var gcanvas:BitmapData;
var DisplayScreen:Bitmap;
var items:Array;
var game:Game;
public function Renderer(){
items = new Array();
super();
mouseEnabled = false;
game = Game(parent);
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
this.mouseEnabled = false;
canvas = new BitmapData(800, 480, true, 0);
gcanvas = new BitmapData(800, 480, true, 0);
clearRec = new Rectangle(0, 0, 800, 480);
DisplayScreen = new Bitmap(canvas);
glowScreen = new Bitmap(gcanvas);
glowScreen.blendMode = "add";
addChild(DisplayScreen);
addChild(glowScreen);
}
private function render(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:int, _arg5:int, _arg6:Boolean, _arg7:Boolean, _arg8:Number):void{
var _local9:Rectangle;
var _local10:Point;
var _local11:Point;
_local9 = new Rectangle((_arg5 * _arg4), 0, _arg4, _arg4);
if (!_arg7){
_local10 = new Point((_arg2 - (_arg4 * 0.5)), (_arg3 - (_arg4 * 0.5)));
if (!_arg6){
canvas.copyPixels(_arg1, _local9, _local10, null, null, true);
} else {
gcanvas.copyPixels(_arg1, _local9, _local10, null, null, true);
};
} else {
_local10 = new Point((_arg2 - (_arg4 * 0.5)), ((_arg3 - _arg8) - (_arg4 * 0.5)));
_local11 = new Point((_arg2 - (_arg4 * 0.5)), (_arg3 - (_arg4 * 0.5)));
canvas.copyPixels(_arg1, _local9, _local10, null, null, true);
canvas.copyPixels(game.SpritePool.shadow, _local9, _local11, null, null, true);
};
}
public function Tick(_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:*;
canvas.fillRect(clearRec, 0);
gcanvas.fillRect(clearRec, 0);
_local2 = game.renderElements.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = game.renderElements[_local3];
render(_local4.bmp, _local4.x, _local4.y, _local4.bSize, _local4.frame, _local4.glow, _local4.shadow, _local4.z);
_local3++;
};
}
}
}//package
Section 194
//renderSprite (renderSprite)
package {
import flash.display.*;
public class renderSprite {
public var y:Number;
public var bSize:int;
public var bmp:BitmapData;
public var bPoison:Boolean;// = false
public var radius:Number;// = 6
public var glow:Boolean;
public var bSupport:Boolean;// = false
public var game:Game;
public var shadow:Boolean;// = false
public var bFire:Boolean;// = false
public var vx:Number;
public var vy:Number;
public var vz:Number;// = 0
public var dType:DamageType;
public var grid:int;
public var speed:Number;
public var bTrail:Boolean;// = false
public var numFrames:int;
public var bDie:Boolean;// = false
public var who:Tower;
public var tFrame:Number;// = 0
public var bProj:Boolean;
public var tgt:Enemy;
public var fRate:Number;
public var frame:int;
public var damage:int;
public var gx:int;
public var gy:int;
public var lifeSpan:int;
public var x:Number;
public var z:Number;// = 0
public var life:Number;// = 0
public function renderSprite(_arg1:Game, _arg2:BitmapData, _arg3:int, _arg4:Number, _arg5:Number, _arg6:Number=0, _arg7:Number=0, _arg8:int=0, _arg9:Number=1, _arg10:int=100, _arg11:int=0, _arg12:DamageType=null, _arg13:Enemy=null, _arg14:Number=1, _arg15:Boolean=false, _arg16:Tower=null, _arg17:Boolean=false, _arg18:Boolean=false, _arg19:Boolean=false){
var _local20:*;
var _local21:*;
var _local22:*;
vz = 0;
z = 0;
radius = 6;
tFrame = 0;
life = 0;
bDie = false;
shadow = false;
bTrail = false;
bSupport = false;
bFire = false;
bPoison = false;
super();
game = _arg1;
bmp = _arg2;
bSize = _arg3;
x = _arg4;
y = _arg5;
vx = _arg6;
vy = _arg7;
numFrames = _arg8;
fRate = _arg9;
lifeSpan = _arg10;
damage = _arg11;
dType = _arg12;
tgt = _arg13;
speed = _arg14;
glow = _arg15;
bSupport = _arg19;
if (damage >= 1){
bProj = true;
};
grid = game.gridSize;
game.renderElements.push(this);
who = _arg16;
if (_arg17){
shadow = _arg17;
if (!bSupport){
_local20 = ((tgt.x + (tgt.vx * 40)) - x);
_local21 = ((tgt.y + (tgt.vy * 40)) - y);
_local22 = Math.sqrt(((_local20 * _local20) + (_local21 * _local21)));
vz = (_local22 * (speed * 0.018));
} else {
vz = -0.5;
z = 450;
};
};
bTrail = _arg18;
}
public function destroyed():void{
game = null;
bmp = null;
dType = null;
tgt = null;
}
public function Tick(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
x = (x + (vx * _arg1));
y = (y + (vy * _arg1));
if (shadow){
z = (z + (vz * _arg1));
vz = (vz - (0.09 * _arg1));
if (bTrail){
if (Math.random() > 0.5){
_local2 = new renderSprite(game, game.SpritePool.trail, 16, x, (y - z), 0, -0.1, 10, 0.2, 10);
};
};
if (z < 0){
_local3 = new RadialBlast(game, x, y, 40, (damage * 0.5), dType, who);
if (bFire){
_local5 = new RadialCloud(game, x, y, 20, 0, new DamageType(100, 0, 0, 0), null, "fire", 500, 10);
game.decalFX.Crater(x, y);
} else {
if (bPoison){
_local5 = new RadialCloud(game, x, y, 20, 0, new DamageType(0, 0, 20, 0), null, "poison", 1000, 20);
game.decalFX.Crater(x, y);
};
};
_local4 = new renderSprite(game, game.SpritePool.explosion, 64, x, y, 0, -0.1, 16, 0.5, 16, 0, null, null, 1, true, null);
game.Soundbox.playHit("explode");
bDie = true;
game.killSprite(this);
destroyed();
};
} else {
if (bTrail){
if (Math.random() > 0.5){
_local2 = new renderSprite(game, game.SpritePool.trail, 16, x, y, 0, -0.1, 10, 0.5, 10);
};
};
};
life = (life + (fRate * _arg1));
tFrame = (tFrame + (fRate * _arg1));
frame = Math.floor(tFrame);
if (frame >= numFrames){
tFrame = 0;
};
if (life > lifeSpan){
bDie = true;
game.killSprite(this);
};
if (bProj){
setGrid();
if (((!(shadow)) || ((vz >= -0.05)))){
setVelocity();
};
if (!shadow){
testCollision();
};
};
}
private function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
private function testCollision():void{
if (!bDie){
if ((((tgt.gx >= (gx - 1))) && ((tgt.gx <= (gx + 1))))){
if ((((tgt.gy >= (gy - 1))) && ((tgt.gy <= (gy + 1))))){
testRadial();
};
};
};
}
private function testRadial():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = (x - tgt.x);
_local2 = (y - tgt.y);
_local3 = ((radius * radius) + (tgt.radius * tgt.radius));
_local4 = ((_local1 * _local1) + (_local2 * _local2));
if (_local4 <= _local3){
collide();
};
}
private function collide():void{
tgt.takeDamage(damage, dType, who);
bDie = true;
game.killSprite(this);
destroyed();
}
private function setVelocity():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (((((!(bDie)) && ((tgt.health > 0)))) && (!(bSupport)))){
_local1 = (tgt.x - x);
_local2 = (tgt.y - y);
if (shadow){
_local1 = ((tgt.x + (tgt.vx * 25)) - x);
_local2 = ((tgt.y + (tgt.vy * 25)) - y);
};
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
vx = ((_local1 / _local3) * speed);
vy = ((_local2 / _local3) * speed);
};
}
}
}//package
Section 195
//retryButton (retryButton)
package {
import flash.events.*;
public class retryButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function retryButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.getLevel(game.currentLevel);
}
}
}//package
Section 196
//rifle_1 (rifle_1)
package {
import flash.media.*;
public dynamic class rifle_1 extends Sound {
}
}//package
Section 197
//rockGrid (rockGrid)
package {
import flash.display.*;
public dynamic class rockGrid extends BitmapData {
public function rockGrid(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 198
//RoFButton (RoFButton)
package {
public class RoFButton extends ugButton {
public function RoFButton(){
uType = "rof";
}
}
}//package
Section 199
//rundown (rundown)
package {
import flash.display.*;
import flash.text.*;
public class rundown extends MovieClip {
var exp:Number;
public var totalText:TextField;
var playerCredits:int;
public var fundsText:TextField;
var totalScore:Number;
public var livesText:TextField;
public var scoreText:TextField;
public var creditsText:TextField;
var game:Game;
public function rundown(){
game = Game(parent);
init();
}
public function init():void{
var _local1:*;
var _local2:*;
_local1 = Math.floor((game.levelHealth * 5));
_local2 = Math.floor((game.player.funds * 5));
totalScore = ((Math.floor(game.levelScore) + _local1) + _local2);
playerCredits = Math.floor((totalScore * 0.25));
livesText.text = String(Math.floor(game.levelHealth));
scoreText.text = String(Math.floor(game.levelScore));
fundsText.text = String(Math.floor(game.player.funds));
totalText.text = String(totalScore);
creditsText.text = String(playerCredits);
saveScore();
}
public function saveScore():void{
game.player.saveLevel(game.currentLevel, totalScore);
game.player.addCredit(playerCredits);
}
}
}//package
Section 200
//sandGrid (sandGrid)
package {
import flash.display.*;
public dynamic class sandGrid extends BitmapData {
public function sandGrid(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 201
//scorch1 (scorch1)
package {
import flash.display.*;
public dynamic class scorch1 extends BitmapData {
public function scorch1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 202
//sellButton (sellButton)
package {
import flash.events.*;
import flash.text.*;
public class sellButton extends gameButton {
public var price:TextField;
public function sellButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
if (alpha >= 1){
game.Selected.sell();
game.Selected = null;
};
}
public function tick(_arg1:Event):void{
if (game.Selected != null){
alpha = 1;
price.text = String(game.Selected.saleValue);
} else {
alpha = 0.5;
price.text = "000";
};
}
}
}//package
Section 203
//shadow1 (shadow1)
package {
import flash.display.*;
public dynamic class shadow1 extends BitmapData {
public function shadow1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 204
//shell1 (shell1)
package {
import flash.display.*;
public dynamic class shell1 extends BitmapData {
public function shell1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 205
//shock_1 (shock_1)
package {
import flash.media.*;
public dynamic class shock_1 extends Sound {
}
}//package
Section 206
//shopButton (shopButton)
package {
import flash.events.*;
public class shopButton extends gameButton {
var unlocked:Boolean;// = false
var levelNumber:int;
public function shopButton(){
unlocked = false;
super();
}
override public function clicked(_arg1:MouseEvent):void{
game.getFrame(5);
}
}
}//package
Section 207
//shopItem (shopItem)
package {
import flash.display.*;
import flash.events.*;
public class shopItem extends MovieClip {
var itemName:String;
var itemDesc:String;
var ownedItem:Boolean;
var itemID:int;
var mId:String;
var itemCost:int;
var bPremium:Boolean;
var type:String;// = "tower"
var owner:Mart;
var game:Game;
public function shopItem(){
type = "tower";
super();
gotoAndStop(1);
owner = Mart(parent);
game = Game(parent.parent);
addEventListener(MouseEvent.ROLL_OVER, over, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, out, false, 0, true);
}
public function checkItem():void{
var _local1:*;
if (type == "tower"){
if (game.player.Towers[itemID] == 1){
bPremium = true;
_local1 = new SoldOut();
addChild(_local1);
};
};
if (type == "level"){
if (game.player.Levels[(itemID - 1)] > 0){
bPremium = true;
_local1 = new SoldOut();
addChild(_local1);
};
};
}
public function out(_arg1:MouseEvent):void{
gotoAndStop(1);
}
public function buy():void{
if (!bPremium){
if (game.player.credits >= itemCost){
owner.buyItem(this);
};
};
}
public function over(_arg1:MouseEvent):void{
gotoAndStop(2);
owner.selectItem(this);
}
}
}//package
Section 208
//ShopItem1 (ShopItem1)
package {
import flash.text.*;
public class ShopItem1 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem1(){
itemCost = 5000;
itemName = "Flame Thrower";
itemDesc = "Set your enemies alight with the War-Mart Flame Master Pro MKII. Can also be used to raise your enemies core temperature enabling them to be seen by heat seeking missiles.";
itemID = 9;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 209
//ShopItem10 (ShopItem10)
package {
import flash.text.*;
public class ShopItem10 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem10(){
itemCost = 6000;
itemName = "Napalm Support Strike";
itemDesc = "Be the toast of your peers while you survey the toasted landscape you leave in your wake. Not only does this baby hit em hard it'll fry anything and anyone thats foolish enough to get too close";
itemID = 15;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 210
//ShopItem11 (ShopItem11)
package {
import flash.text.*;
public class ShopItem11 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem11(){
itemCost = 1000;
itemName = "Bonus Start Fund's";
itemDesc = "Having trouble making end's meet. Purchase the War-Mongers investors package and find an extra $200 in your bank to help get your army up to speed.";
itemID = 200;
type = "bonus";
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 211
//ShopItem12 (ShopItem12)
package {
import flash.text.*;
public class ShopItem12 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem12(){
itemCost = 5000;
itemName = "Sniper Mission 1";
itemDesc = "Take Control in this sniper based bonus game. What a fun way to earn extra War-Mart Credits .";
itemID = 16;
type = "level";
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 212
//ShopItem13 (ShopItem13)
package {
import flash.text.*;
public class ShopItem13 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem13(){
itemCost = 6000;
itemName = "Sniper Mission 2";
itemDesc = "Take Control in this sniper based bonus game. What a fun way to earn extra War-Mart Credits .";
itemID = 18;
type = "level";
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 213
//ShopItem14 (ShopItem14)
package {
import flash.text.*;
public class ShopItem14 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem14(){
itemCost = 8000;
itemName = "Sniper Mission 3";
itemDesc = "Take Control in this sniper based bonus game. What a fun way to earn extra War-Mart Credits .";
itemID = 20;
type = "level";
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 214
//ShopItem15 (ShopItem15)
package {
import flash.text.*;
public class ShopItem15 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem15(){
itemCost = 7000;
itemName = "Sniper Mission 04";
itemDesc = "Take Control in this sniper based bonus game. What a fun way to earn extra War-Mart Credits .";
itemID = 22;
type = "level";
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 215
//ShopItem2 (ShopItem2)
package {
import flash.text.*;
public class ShopItem2 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem2(){
itemCost = 6000;
itemName = "Bio Cannon";
itemDesc = "If putting holes in your enemy just isn't enough, why not given them a taste of our War-Mart Bio Cannon MK II, Designed to deliver a compact yet leathal dose of Bio-Chemical sludge thats guaranteed to have them praying for a quick end.. (small print: May be illegal under current international laws)";
itemID = 8;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 216
//ShopItem3 (ShopItem3)
package {
import flash.text.*;
public class ShopItem3 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem3(){
itemCost = 10000;
itemName = "Bio Mortar";
itemDesc = "If nothing pleases you more than watching your enemy staggering for safety while under the effects of our patented Bio-Chemical Sludge, why not share the fun with our new Bio Motar Cannon. Now you can watch as whole platoons are effected by just a single shot.";
itemID = 7;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 217
//ShopItem4 (ShopItem4)
package {
import flash.text.*;
public class ShopItem4 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem4(){
itemCost = 7000;
itemName = "Particle Beam Cannon";
itemDesc = "Bringing warfare into the 21st centuary with style, the WarTech Particle Beam Cannon is the pinnicle in portable particle collision technology, tired of spending time clearing the battlefield of your enemies remains? with the Particle Beam Cannon there will be very little remains left to clear";
itemID = 6;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 218
//ShopItem5 (ShopItem5)
package {
import flash.text.*;
public class ShopItem5 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem5(){
itemCost = 4000;
itemName = "Mounted Machine Gun";
itemDesc = "Speed things up a little with the 'Heckle and Klutz' Manual Mounted Machine Gun, Perfect for those 1 v 100 situations that just can't be avoided";
itemID = 10;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 219
//ShopItem6 (ShopItem6)
package {
import flash.text.*;
public class ShopItem6 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem6(){
itemCost = 9000;
itemName = "Plasma Cannon";
itemDesc = "Having trouble keeping up with enemy vehicles? Then you need the WarTech Plasma Motar Cannon. Not only does it deliver an impressive punch, it has the benificial side effect of putting a 'Chemical Spanner' in the works of enemy engines";
itemID = 11;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 220
//ShopItem7 (ShopItem7)
package {
import flash.text.*;
public class ShopItem7 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem7(){
itemCost = 8000;
itemName = "Missile Launcher";
itemDesc = "Having trouble taking down those armoured vehicles? Then you need the WarTech SOB Heat Seeking Missile Launcher. Warning: Targets may need some pre-heating for successful lock-on";
itemID = 1;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 221
//ShopItem8 (ShopItem8)
package {
import flash.text.*;
public class ShopItem8 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem8(){
itemCost = 2000;
itemName = "Shotgun Tower";
itemDesc = "Is your army complaining about lack of firepower? Then why not give treat them to the new and improved Heckle n Kluts G12 shotgun. In your face power without the price!";
itemID = 5;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 222
//ShopItem9 (ShopItem9)
package {
import flash.text.*;
public class ShopItem9 extends shopItem {
public var iName:TextField;
public var iCost:TextField;
public function ShopItem9(){
itemCost = 12000;
itemName = "Bio-Chemical Support Strike";
itemDesc = "Tired of inaccurate support engineers peppering your battlefield with stray motar strikes. Why try the new patented Bio-Chemical howitzer strike? all the benifits of the original howitzer with added contaminated real estate";
itemID = 14;
setUp();
}
public function setUp():void{
iName.text = itemName;
iCost.text = String(("$ " + itemCost));
checkItem();
}
}
}//package
Section 223
//shot2 (shot2)
package {
import flash.media.*;
public dynamic class shot2 extends Sound {
}
}//package
Section 224
//shotgun_1 (shotgun_1)
package {
import flash.media.*;
public dynamic class shotgun_1 extends Sound {
}
}//package
Section 225
//smallHit (smallHit)
package {
import flash.media.*;
public dynamic class smallHit extends Sound {
}
}//package
Section 226
//smoke1 (smoke1)
package {
import flash.display.*;
public dynamic class smoke1 extends BitmapData {
public function smoke1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 227
//sniper_1 (sniper_1)
package {
import flash.media.*;
public dynamic class sniper_1 extends Sound {
}
}//package
Section 228
//sniper_2 (sniper_2)
package {
import flash.media.*;
public dynamic class sniper_2 extends Sound {
}
}//package
Section 229
//SoldOut (SoldOut)
package {
import flash.display.*;
public dynamic class SoldOut extends MovieClip {
}
}//package
Section 230
//soundManager (soundManager)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class soundManager extends Sprite {
var game:Game;
var snShot:Sound;
var bMus:Boolean;// = false
var snd_explode:Sound;
var hs:SoundChannel;
var electroShot:Sound;
var bioShot:Sound;
var snd_mtlHit:Sound;
var sgShot:Sound;
var ds:SoundChannel;
var ms:SoundChannel;
var bMute:Boolean;// = false
var snd_bg2:Sound;
var laserShot:Sound;
var launcherShot:Sound;
var snd_hit:Sound;
var snd_splat:Sound;
var flameShot:Sound;
var snd_bg1:Sound;
var msShot:Sound;
var bgNoise:Sound;
var snd_bulletHit:Sound;
var bgMusic:Sound;
var rifleShot:Sound;
var fadeClock:Timer;
var machineGShot:Sound;
public function soundManager(_arg1){
bMute = false;
bMus = false;
super();
bgMusic = new marchBGM();
bgNoise = new NoiseBG();
game = _arg1;
fadeClock = new Timer(20, 0);
fadeClock.addEventListener(TimerEvent.TIMER, fadeout, false, 0, true);
rifleShot = new rifle_1();
sgShot = new shotgun_1();
snShot = new sniper_1();
msShot = new missile_1();
electroShot = new shock_1();
flameShot = new flame_1();
bioShot = new bio_1();
launcherShot = new mg_2();
laserShot = new laser_1();
machineGShot = new mg_1();
snd_explode = new explosion_1();
snd_splat = new splat_1();
SoundMixer.soundTransform = new SoundTransform(0.5);
}
public function mute():void{
var _local1:*;
if (bMute){
bMute = false;
SoundMixer.soundTransform = new SoundTransform(0.5);
_local1 = new SoundTransform(0.6);
if (ds != null){
ds.soundTransform = _local1;
};
if (ms != null){
ms.soundTransform = _local1;
};
} else {
bMute = true;
SoundMixer.soundTransform = new SoundTransform(0);
_local1 = new SoundTransform(0);
if (ds != null){
ds.soundTransform = _local1;
};
if (ms != null){
ms.soundTransform = _local1;
};
};
}
public function playbgm():void{
var _local1:*;
if (!bMute){
if (!bMus){
bMus = true;
_local1 = new SoundTransform(0.9);
ms = bgMusic.play(0, 3, _local1);
};
};
}
public function stopNoise():void{
var _local1:*;
if (ds != null){
_local1 = new SoundTransform(0);
ds.soundTransform = _local1;
};
}
public function fadeout(_arg1:TimerEvent):void{
var _local2:*;
if (ms.soundTransform.volume > 0.02){
_local2 = new SoundTransform((ms.soundTransform.volume - 0.01));
ms.soundTransform = _local2;
} else {
ms.stop();
bMus = false;
fadeClock.stop();
};
}
public function playShot(_arg1:String):void{
if (!bMute){
switch (_arg1){
case "rifle":
rifleShot.play();
break;
case "shotgun":
sgShot.play();
break;
case "sniper":
snShot.play();
break;
case "electro":
electroShot.play();
break;
case "flame":
flameShot.play();
break;
case "mg":
machineGShot.play();
break;
case "bio":
bioShot.play();
break;
case "missile":
msShot.play();
break;
case "laser":
laserShot.play();
break;
case "launcher":
launcherShot.play();
break;
};
};
}
public function playNoise():void{
var _local1:*;
if (!bMute){
_local1 = new SoundTransform(0.6);
ds = bgNoise.play(0, 100, _local1);
};
}
public function stopbgm():void{
fadeClock.start();
}
public function Win():void{
if (!bMute){
};
}
public function playHit(_arg1:String):void{
if (!bMute){
switch (_arg1){
case "explode":
snd_explode.play();
break;
case "splat":
snd_splat.play();
break;
};
};
}
}
}//package
Section 231
//Spark (Spark)
package {
public class Spark {
public var vx:Number;
public var vy:Number;
public var game:Game;
public var x:Number;
public var y:Number;
public var life:Number;
public var bFade:Boolean;
public function Spark(_arg1, _arg2, _arg3, _arg4, _arg5:Number=0, _arg6:Number=0, _arg7:Boolean=true){
game = _arg4;
x = _arg1;
y = _arg2;
life = _arg3;
bFade = _arg7;
if ((((_arg5 == 0)) && ((_arg6 == 0)))){
vx = (-4 + (Math.random() * 8));
vy = (-4 + (Math.random() * 4));
} else {
vx = _arg5;
vy = _arg6;
};
game.fx.sparks.push(this);
}
public function Tick():void{
life--;
x = (x + vx);
y = (y + vy);
if (bFade){
vy = (vy + 0.1);
vx = (vx * 0.99);
};
if (life <= 0){
game.fx.removeSpark(this);
};
}
}
}//package
Section 232
//splat_1 (splat_1)
package {
import flash.media.*;
public dynamic class splat_1 extends Sound {
}
}//package
Section 233
//splat_2 (splat_2)
package {
import flash.media.*;
public dynamic class splat_2 extends Sound {
}
}//package
Section 234
//spritePool (spritePool)
package {
import flash.display.*;
public class spritePool {
public var mFlash:BitmapData;
public var bloodSplat:BitmapData;
public var trail:BitmapData;
public var poison:BitmapData;
public var bioCloud:BitmapData;
public var flameShot:BitmapData;
public var explosion:BitmapData;
public var empX:BitmapData;
public var pshell:BitmapData;
public var rad:BitmapData;
public var freeze:BitmapData;
public var fireX:BitmapData;
public var shadow:BitmapData;
public var bioShot:BitmapData;
public var lBlast:BitmapData;
public var bFlash:BitmapData;
public var smoke:BitmapData;
public var shell:BitmapData;
public var flame:BitmapData;
public function spritePool(){
explosion = new explosion1(0x0400, 64);
bloodSplat = new bloodSplatter(128, 16);
mFlash = new muzzleFlash(128, 16);
bFlash = new blueFlash(128, 16);
empX = new empEx(640, 64);
fireX = new fExplode(0x0400, 64);
trail = new mtrail(160, 16);
flame = new flame1(128, 16);
rad = new freeze1(128, 16);
poison = new rad1(128, 16);
freeze = new iced1(128, 16);
lBlast = new laserB(128, 16);
flameShot = new flamer(320, 32);
bioShot = new bioFX(320, 32);
smoke = new smoke1(640, 64);
shadow = new shadow1(320, 32);
shell = new shell1(320, 32);
pshell = new pshell1(320, 32);
bioCloud = new bioCloud1(320, 32);
}
}
}//package
Section 235
//StartTile (StartTile)
package {
public class StartTile extends GameActor {
public function StartTile(){
SetGrid();
game.startPoints.push(this);
visible = false;
}
}
}//package
Section 236
//supporttower (supporttower)
package {
public class supporttower extends Tower {
public var shots:int;// = 0
public var shotLimit:int;// = 1
public function supporttower(){
shots = 0;
shotLimit = 1;
super();
}
override public function relocate():void{
}
override public function aim():void{
}
override public function dropTower():void{
SetGrid();
snapToGrid();
bHeld = false;
bBlocked = false;
game.Selected = null;
}
override public function sell():void{
}
override public function Fire():void{
}
override public function Tick(_arg1:Number):void{
if (bHeld){
x = game.mouseX;
y = game.mouseY;
if (x > 640){
x = 640;
};
snapToGrid();
bBlocked = false;
} else {
loading = (loading + ((RoF + (RoF * RoFLevel)) * _arg1));
if (loading >= 100){
loading = 0;
Fire();
shots = (shots + 1);
if (shots >= shotLimit){
loading = -10000;
game.killTower(this);
};
};
};
}
}
}//package
Section 237
//supportTower_1 (supportTower_1)
package {
import flash.display.*;
public class supportTower_1 extends supporttower {
public var turret:MovieClip;
public function supportTower_1(_arg1:Game=null){
Damage = 100;
RoF = 3;
Range = 80;
shotLimit = 6;
game = _arg1;
turret.gotoAndStop(1);
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = ((x - 60) + (Math.random() * 120));
_local2 = ((y - 60) + (Math.random() * 120));
_local3 = new renderSprite(game, game.SpritePool.shell, 32, _local1, _local2, 0, 0, 9, 0.2, 100, Damage, new DamageType(100, 0, 0, 0), null, 1.6, false, this, true, true, true);
_local3.bFire = true;
game.Soundbox.playShot("bio");
}
}
}//package
Section 238
//supportTower_2 (supportTower_2)
package {
import flash.display.*;
public class supportTower_2 extends supporttower {
public var turret:MovieClip;
public function supportTower_2(_arg1:Game=null){
Damage = 50;
RoF = 3;
Range = 60;
shotLimit = 3;
game = _arg1;
turret.gotoAndStop(1);
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = ((x - 40) + (Math.random() * 80));
_local2 = ((y - 40) + (Math.random() * 80));
_local3 = new renderSprite(game, game.SpritePool.shell, 32, _local1, _local2, 0, 0, 9, 0.2, 100, Damage, new DamageType(0, 0, 80, 0), null, 1.6, false, this, true, true, true);
_local3.bPoison = true;
game.Soundbox.playShot("bio");
}
}
}//package
Section 239
//supportTower_3 (supportTower_3)
package {
import flash.display.*;
public class supportTower_3 extends supporttower {
public var turret:MovieClip;
public function supportTower_3(_arg1:Game=null){
Damage = 50;
RoF = 8;
Range = 60;
shotLimit = 8;
game = _arg1;
turret.gotoAndStop(1);
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = ((x - 40) + (Math.random() * 80));
_local2 = ((y - 40) + (Math.random() * 80));
_local3 = new renderSprite(game, game.SpritePool.shell, 32, _local1, _local2, 0, 0, 9, 0.2, 100, Damage, new DamageType(20, 0, 0, 0), null, 1.6, false, this, true, true, true);
game.Soundbox.playShot("bio");
}
}
}//package
Section 240
//supportTowerButton (supportTowerButton)
package {
import flash.events.*;
public class supportTowerButton extends gameButton {
var reloadTime:Number;// = 0.05
var counter:Number;// = 0
var towerType:String;
var reloadBar:reloader;
var idx:int;
var cost:int;
public function supportTowerButton(){
reloadTime = 0.05;
counter = 0;
super();
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
reloadBar = new reloader();
reloadBar.x = -14;
reloadBar.y = 0;
addChild(reloadBar);
reloadBar.scaleX = 0;
reloadBar.gotoAndStop(1);
}
override public function clicked(_arg1:MouseEvent):void{
if ((((alpha >= 1)) && ((counter >= 100)))){
counter = 0;
game.buildTower(towerType, cost);
};
}
public function tick(_arg1:Event):void{
counter = (counter + (reloadTime * game.baseSpeed));
if (counter > 100){
counter = 100;
reloadBar.gotoAndStop(2);
} else {
reloadBar.gotoAndStop(1);
};
reloadBar.scaleX = (counter * 0.01);
if (game.player.Towers[idx] != 1){
alpha = 0;
} else {
alpha = 1;
};
}
}
}//package
Section 241
//supTowerButton_1 (supTowerButton_1)
package {
public class supTowerButton_1 extends supportTowerButton {
public function supTowerButton_1(){
idx = 15;
cost = 0;
towerType = "suptower1";
}
}
}//package
Section 242
//supTowerButton_2 (supTowerButton_2)
package {
public class supTowerButton_2 extends supportTowerButton {
public function supTowerButton_2(){
idx = 14;
cost = 0;
towerType = "suptower2";
}
}
}//package
Section 243
//supTowerButton_3 (supTowerButton_3)
package {
public class supTowerButton_3 extends supportTowerButton {
public function supTowerButton_3(){
idx = 13;
cost = 0;
towerType = "suptower3";
}
}
}//package
Section 244
//Tank1 (Tank1)
package {
import flash.display.*;
public class Tank1 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Tank1(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 1;
baseSpeed = speed;
bMetal = true;
health = 500;
heat_resistance = 0.7;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 245
//Tank2 (Tank2)
package {
import flash.display.*;
public class Tank2 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Tank2(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 0.7;
baseSpeed = speed;
bMetal = true;
health = 400;
heat_resistance = 0.6;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 246
//Tank3 (Tank3)
package {
import flash.display.*;
public class Tank3 extends Enemy {
public var desiredAngle:Number;// = 0
public var hull:MovieClip;
public function Tank3(_arg1:Game, _arg2:EndTile){
desiredAngle = 0;
super();
endPoint = _arg2;
game = _arg1;
speed = 0.6;
baseSpeed = speed;
bMetal = true;
health = 550;
heat_resistance = 0.6;
}
private function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
override public function deathFX():void{
var _local1:*;
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 2), 10, 0.1, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.flameShot, 32, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10, 0, null, null, 1, true);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1.2), 10, 0.1, 10);
_local1 = new renderSprite(game, game.SpritePool.smoke, 64, x, y, (-0.5 + (Math.random() * 1)), (-(Math.random()) * 1), 10, 0.2, 10);
game.decalFX.Crater(x, y);
game.Soundbox.playHit("explode");
}
override public function setAngle():void{
var _local1:Number;
var _local2:*;
_local1 = ((ang * 180) / Math.PI);
if (_local1 != desiredAngle){
_local2 = (closestAngle(desiredAngle, _local1) * 0.3);
if (Math.abs(_local2) < 0.1){
desiredAngle = _local1;
} else {
desiredAngle = (desiredAngle + _local2);
};
};
if (desiredAngle > 180){
desiredAngle = (desiredAngle - 360);
} else {
if (desiredAngle < -180){
desiredAngle = (desiredAngle + 360);
};
};
hull.gotoAndStop(Math.round(((desiredAngle + 180) / 5)));
}
override public function Move(_arg1:Number):void{
var _local2:*;
var _local3:*;
x = (x + ((vx * speed) * _arg1));
y = (y + ((vy * speed) * _arg1));
if ((((gx == Math.floor((tx / 32)))) && ((gy == Math.floor((ty / 32)))))){
if ((((x > ((gx * game.gridSize) + 4))) && ((x < ((gx * game.gridSize) + 28))))){
if ((((y > ((gy * game.gridSize) + 4))) && ((y < ((gy * game.gridSize) + 28))))){
ty = ((Number(pth.pop()) * game.gridSize) + 16);
tx = ((Number(pth.pop()) * game.gridSize) + 16);
_local2 = (tx - x);
_local3 = (ty - y);
ang = Math.atan2(_local3, _local2);
vx = Math.cos(ang);
vy = Math.sin(ang);
};
};
};
setAngle();
}
}
}//package
Section 247
//testWaveButton (testWaveButton)
package {
import flash.events.*;
public class testWaveButton extends gameButton {
var lastClick:int;// = 200
public function testWaveButton(){
lastClick = 200;
super();
addEventListener(Event.ENTER_FRAME, ticker, false, 0, true);
}
public function ticker(_arg1:Event):void{
lastClick++;
if (lastClick >= 200){
alpha = 1;
} else {
alpha = 0.2;
};
}
override public function clicked(_arg1:MouseEvent):void{
var _local2:*;
if (alpha == 1){
_local2 = game.WaveControl.newWave();
lastClick = 0;
};
}
}
}//package
Section 248
//Tower (Tower)
package {
import flash.display.*;
public class Tower extends MovieClip {
public var gy:int;
public var ugCredit:int;// = 0
public var Range:int;// = 100
public var bBlocked:Boolean;// = false
public var exp:Number;// = 0
public var loading:int;// = 0
public var RLevel:Number;// = 0
public var Level:int;// = 1
public var saleValue:int;// = 20
public var RoFLevel:Number;// = 0
public var Type:String;// = "rifle"
public var eTarget:Enemy;
public var lvlInd:MovieClip;
public var RoF:int;// = 1
public var Damage:int;// = 0
public var DLevel:Number;// = 0
public var targeting:String;// = "near"
public var bHeld:Boolean;// = true
public var angle:Number;
public var expLimit:Number;// = 1000
public var gx:int;
public var game:Game;
public function Tower(){
Damage = 0;
RoF = 1;
Range = 100;
Level = 1;
exp = 0;
expLimit = 1000;
DLevel = 0;
RoFLevel = 0;
RLevel = 0;
ugCredit = 0;
loading = 0;
bHeld = true;
targeting = "near";
bBlocked = false;
Type = "rifle";
saleValue = 20;
super();
mouseEnabled = false;
}
public function upGrade(_arg1:String):void{
game.player.funds = (game.player.funds - Math.floor((saleValue * 0.5)));
switch (_arg1){
case "damage":
DLevel = (DLevel + 0.2);
break;
case "rof":
RoFLevel = (RoFLevel + 0.2);
break;
case "range":
RLevel = (RLevel + 0.2);
break;
};
}
public function select():void{
game.Selected = this;
}
public function clicked():void{
if (bHeld){
dropTower();
} else {
select();
};
}
public function levelUp():void{
}
public function relocate():void{
game.setGrid(gx, gy, 0);
game.player.funds = (game.player.funds - 10);
bHeld = true;
}
public function aim():void{
}
public function dropTower():void{
SetGrid();
if (game.getGrid(gx, gy) == 0){
snapToGrid();
game.setGrid(gx, gy, 2);
bHeld = false;
bBlocked = false;
};
}
public function sell():void{
game.setGrid(gx, gy, 0);
game.player.funds = (game.player.funds + saleValue);
bHeld = true;
game.killTower(this);
}
public function SetGrid():void{
gx = Math.floor((x / game.gridSize));
gy = Math.floor((y / game.gridSize));
}
public function Fire():void{
}
public function Tick(_arg1:Number):void{
if (bHeld){
x = game.mouseX;
y = game.mouseY;
if (x > 640){
x = 640;
};
snapToGrid();
if (game.getGrid(gx, gy) == 0){
bBlocked = false;
} else {
bBlocked = true;
};
} else {
loading = (loading + ((RoF + (RoF * RoFLevel)) * _arg1));
if ((((eTarget == null)) || ((eTarget.health <= 0)))){
eTarget = game.getEnemy(this, targeting);
} else {
aim();
if (loading >= 100){
if (checkTarget()){
loading = 0;
Fire();
} else {
eTarget = game.getEnemy(this, targeting);
loading = 90;
};
};
};
if (exp >= expLimit){
exp = (exp - expLimit);
expLimit = (expLimit * 1.2);
levelUp();
};
};
}
public function checkTarget():Boolean{
var _local1:*;
_local1 = false;
if (eTarget != null){
if (eTarget.bEnemy){
if (game.inRange(this, eTarget)){
_local1 = true;
};
};
};
if (!_local1){
eTarget = null;
};
return (_local1);
}
public function snapToGrid():void{
SetGrid();
x = ((gx * game.gridSize) + (game.gridSize * 0.5));
y = ((gy * game.gridSize) + (game.gridSize * 0.5));
}
}
}//package
Section 249
//tower1 (tower1)
package {
import flash.display.*;
public class tower1 extends Tower {
public var turret:MovieClip;
public function tower1(_arg1:Game=null){
Damage = 80;
RoF = 1;
Range = 150;
expLimit = 2000;
targeting = "heat";
Type = "mlauncher";
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
if (eTarget.coreTemp > 60){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new Missile(game, (x + _local4), (y + _local5), 0, 0, (Damage + (Damage * DLevel)), eTarget, 4, new DamageType(50, 0, 0, 0), ((Damage + (Damage * DLevel)) * 0.2), this);
game.level.addChild(_local6);
game.Soundbox.playShot("launcher");
} else {
eTarget = game.getEnemy(this, targeting);
};
}
}
}//package
Section 250
//tower10 (tower10)
package {
import flash.display.*;
public class tower10 extends Tower {
public var turret:MovieClip;
public function tower10(_arg1:Game=null){
Damage = 25;
RoF = 7;
Range = 90;
Type = "glauncher";
expLimit = 1500;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local1 = ((eTarget.x + (eTarget.vx * 4)) - x);
_local2 = ((eTarget.y + (eTarget.vy * 4)) - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.mFlash, 16, (x + _local4), ((y + _local5) - 8), 0, 0, 8, 1, 8, 0, null, null, 1, true);
_local7 = new Tracer((x + _local4), ((y + _local5) - 8), eTarget.x, (eTarget.y - 6), 6, game, 2);
if (eTarget.bMetal){
_local8 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage(((Damage + (Damage * DLevel)) * 0.5), new DamageType(5, 0, 0, 0), this);
} else {
_local9 = new renderSprite(game, game.SpritePool.bloodSplat, 16, eTarget.x, eTarget.y, (_local4 * 0.05), (_local5 * 0.05), 8, 0.5, 8);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(2, 0, 0, 0), this);
};
game.Soundbox.playShot("mg");
}
}
}//package
Section 251
//tower11 (tower11)
package {
import flash.display.*;
public class tower11 extends Tower {
public var turret:MovieClip;
public function tower11(_arg1:Game=null){
Damage = 40;
RoF = 1;
Range = 160;
Type = "glauncher";
targeting = "heat";
expLimit = 2500;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 12);
_local5 = ((_local2 / _local3) * 12);
_local6 = new renderSprite(game, game.SpritePool.pshell, 32, (x + _local4), ((y - 8) + _local5), 0, 0, 9, 0.2, 100, Damage, new DamageType(0, 20, 0, 0), eTarget, 1.6, true, this, true);
game.Soundbox.playShot("launcher");
}
}
}//package
Section 252
//tower2 (tower2)
package {
import flash.display.*;
public class tower2 extends Tower {
public var turret:MovieClip;
public function tower2(_arg1:Game=null){
Damage = 10;
RoF = 3;
Range = 60;
targeting = "weak";
expLimit = 500;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local1 = ((eTarget.x + (eTarget.vx * 4)) - x);
_local2 = ((eTarget.y + (eTarget.vy * 4)) - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.mFlash, 16, ((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 10) + (_local4 * 0.1)), 0, 0, 8, 1, 8, 0, null, null, 1, true);
_local7 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 10) + (_local4 * 0.1)), eTarget.x, (eTarget.y - 6), 6, game, 2);
if (eTarget.bMetal){
_local8 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage(((Damage + (Damage * DLevel)) * 0.5), new DamageType(5, 0, 0, 0), this);
} else {
_local9 = new renderSprite(game, game.SpritePool.bloodSplat, 16, eTarget.x, eTarget.y, (_local4 * 0.05), (_local5 * 0.05), 8, 0.5, 8);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(2, 0, 0, 0), this);
};
game.Soundbox.playShot("rifle");
}
}
}//package
Section 253
//tower3 (tower3)
package {
import flash.display.*;
public class tower3 extends Tower {
public var turret:MovieClip;
public function tower3(_arg1:Game=null){
Damage = 80;
RoF = 2;
Range = 120;
Type = "Sniper";
targeting = "near";
expLimit = 1000;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local1 = ((eTarget.x + (eTarget.vx * 4)) - x);
_local2 = ((eTarget.y + (eTarget.vy * 4)) - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.mFlash, 16, ((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 25) + (_local4 * 0.1)), 0, 0, 8, 1, 8, 0, null, null, 1, true);
_local7 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 25) + (_local4 * 0.1)), eTarget.x, (eTarget.y - 6), 6, game, 2);
if (eTarget.bMetal){
_local8 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage(((Damage + (Damage * DLevel)) * 0.5), new DamageType(5, 0, 0, 0), this);
} else {
_local9 = new renderSprite(game, game.SpritePool.bloodSplat, 16, eTarget.x, eTarget.y, (_local4 * 0.05), (_local5 * 0.05), 8, 0.5, 8);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(2, 0, 0, 0), this);
};
game.Soundbox.playShot("sniper");
}
}
}//package
Section 254
//tower4 (tower4)
package {
public class tower4 extends Tower {
public var turret:mono1;
public function tower4(_arg1:Game=null){
Damage = 50;
RoF = 3;
Range = 60;
Type = "electro";
targeting = "near";
expLimit = 1200;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
game.Selected = this;
};
turret.gotoAndStop(1);
}
override public function aim():void{
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = new lightning(x, (y - 24), eTarget.x, (eTarget.y - 8), (Damage + (Damage * DLevel)), game, eTarget);
_local2 = new renderSprite(game, game.SpritePool.bFlash, 16, eTarget.x, (eTarget.y - 8), eTarget.vx, eTarget.vy, 8, 0.5, 8, 0, null, null, 0, true);
_local2 = new renderSprite(game, game.SpritePool.bFlash, 16, x, (y - 24), 0, 0, 8, 0.5, 8, 0, null, null, 0, true);
_local3 = new Spark(eTarget.x, (eTarget.y - 8), 20, game);
if (eTarget.bMetal){
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(0, 0, 0, 0), this);
} else {
eTarget.takeDamage((Damage + ((Damage * 0.6) * DLevel)), new DamageType(0, 0, 0, 0), this);
};
};
game.Soundbox.playShot("electro");
}
}
}//package
Section 255
//tower5 (tower5)
package {
import flash.display.*;
public class tower5 extends Tower {
public var turret:MovieClip;
public function tower5(_arg1:Game=null){
Damage = 35;
RoF = 2;
Range = 70;
Type = "shotgun";
targeting = "strong";
expLimit = 800;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local1 = ((eTarget.x + (eTarget.vx * 4)) - x);
_local2 = ((eTarget.y + (eTarget.vy * 4)) - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.mFlash, 16, ((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 12) + (_local4 * 0.1)), 0, 0, 8, 1, 8, 0, null, null, 1, true);
_local7 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 12) + (_local4 * 0.1)), (eTarget.x + (-8 + (Math.random() * 16))), ((eTarget.y - 6) + (-8 + (Math.random() * 16))), 5, game, 3);
_local7 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 12) + (_local4 * 0.1)), (eTarget.x + (-8 + (Math.random() * 16))), ((eTarget.y - 6) + (-8 + (Math.random() * 16))), 5, game, 3);
_local7 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 12) + (_local4 * 0.1)), (eTarget.x + (-8 + (Math.random() * 16))), ((eTarget.y - 6) + (-8 + (Math.random() * 16))), 5, game, 3);
if (eTarget.bMetal){
_local8 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage(((Damage + (Damage * DLevel)) * 0.5), new DamageType(20, 0, 0, 0));
} else {
_local9 = new renderSprite(game, game.SpritePool.bloodSplat, 16, eTarget.x, eTarget.y, (_local4 * 0.05), (_local5 * 0.05), 8, 0.5, 8);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(10, 0, 0, 0), this);
};
game.Soundbox.playShot("shotgun");
}
}
}//package
Section 256
//tower6 (tower6)
package {
import flash.display.*;
public class tower6 extends Tower {
public var turret:MovieClip;
public function tower6(_arg1:Game=null){
Damage = 150;
RoF = 1;
Range = 100;
expLimit = 1500;
targeting = "strong";
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
_local1 = ((eTarget.x + (eTarget.vx * 4)) - x);
_local2 = ((eTarget.y + (eTarget.vy * 4)) - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = ((_local1 / _local3) * 5);
_local7 = ((_local2 / _local3) * 5);
_local8 = (_local4 + x);
_local9 = ((_local5 + y) - 10);
_local10 = (Math.round((_local1 / _local6)) - 4);
_local11 = 2;
_local12 = 0;
while (_local12 < _local10) {
if (_local11 > 0.3){
_local11 = (_local11 - 0.1);
};
_local15 = new renderSprite(game, game.SpritePool.lBlast, 16, _local8, _local9, 0, 0, 8, _local11, 8, 0, null, null, 1, true);
_local8 = (_local8 + _local6);
_local9 = (_local9 + _local7);
_local12++;
};
_local13 = new Tracer(((x + _local4) - (_local5 * 0.1)), (((y + _local5) - 10) + (_local4 * 0.1)), eTarget.x, (eTarget.y - 6), 6, game, 2);
_local14 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
_local14 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
_local14 = new Spark(eTarget.x, (eTarget.y - 6), 20, game);
eTarget.takeDamage((Damage + (Damage * DLevel)), new DamageType(40, 0, 0, 0), this);
game.Soundbox.playShot("laser");
eTarget = null;
}
}
}//package
Section 257
//tower7 (tower7)
package {
import flash.display.*;
public class tower7 extends Tower {
public var turret:MovieClip;
public function tower7(_arg1:Game=null){
Damage = 40;
RoF = 1;
Range = 170;
expLimit = 2500;
Type = "glauncher";
targeting = "strong";
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 12);
_local5 = ((_local2 / _local3) * 12);
_local6 = new renderSprite(game, game.SpritePool.shell, 32, (x + _local4), ((y - 8) + _local5), 0, 0, 9, 0.2, 100, Damage, new DamageType(0, 0, 30, 0), eTarget, 1.6, false, this, true, true);
game.Soundbox.playShot("launcher");
}
}
}//package
Section 258
//tower8 (tower8)
package {
import flash.display.*;
public class tower8 extends Tower {
public var turret:MovieClip;
public function tower8(_arg1:Game=null){
Damage = 12;
RoF = 3;
Range = 85;
Type = "glauncher";
targeting = "cold";
expLimit = 800;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.bioShot, 32, (x + _local4), ((y - 8) + _local5), (-0.2 + (Math.random() * 0.4)), (-0.5 - (Math.random() * 0.5)), 9, 0.2, 100, Damage, new DamageType(0, 0, (Damage * 5), 0), eTarget, 3, false, this);
game.Soundbox.playShot("bio");
}
}
}//package
Section 259
//tower9 (tower9)
package {
import flash.display.*;
public class tower9 extends Tower {
public var turret:MovieClip;
public function tower9(_arg1:Game=null){
Damage = 2;
RoF = 12;
Range = 55;
Type = "glauncher";
targeting = "near";
expLimit = 500;
if (_arg1 != null){
game = _arg1;
} else {
game = Game(parent.parent);
game.Towers.push(this);
bHeld = false;
};
turret.gotoAndStop(1);
}
override public function aim():void{
var _local1:*;
var _local2:*;
var _local3:*;
if (eTarget.health > 0){
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = ((Math.atan2(_local2, _local1) * 180) / 3.16);
turret.gotoAndStop(Math.round(((_local3 + 180) / 5)));
};
}
override public function Fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = (eTarget.x - x);
_local2 = (eTarget.y - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
_local4 = ((_local1 / _local3) * 20);
_local5 = ((_local2 / _local3) * 20);
_local6 = new renderSprite(game, game.SpritePool.flameShot, 32, (x + _local4), ((y - 8) + _local5), (-0.2 + (Math.random() * 0.4)), (-0.5 - (Math.random() * 0.5)), 10, 0.2, 10, Damage, new DamageType((Damage * 15), 0, 0, 0), eTarget, 1.5, true, this);
game.Soundbox.playShot("flame");
}
}
}//package
Section 260
//towerButton (towerButton)
package {
import flash.events.*;
public class towerButton extends gameButton {
var towerType:String;
var idx:int;
var cost:int;
public function towerButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
if (alpha >= 1){
game.buildTower(towerType, cost);
};
}
public function tick(_arg1:Event):void{
if (game.player.Towers[idx] != 1){
alpha = 0;
} else {
if (game.player.funds >= cost){
alpha = 1;
} else {
alpha = 0.2;
};
};
}
}
}//package
Section 261
//towerButton1 (towerButton1)
package {
import flash.text.*;
public class towerButton1 extends towerButton {
public var costT:TextField;
public function towerButton1(){
idx = 1;
cost = 800;
towerType = "tower1";
costT.text = String(("$ " + cost));
}
}
}//package
Section 262
//towerButton10 (towerButton10)
package {
import flash.text.*;
public class towerButton10 extends towerButton {
public var costT:TextField;
public function towerButton10(){
idx = 10;
cost = 500;
towerType = "tower10";
costT.text = String(("$ " + cost));
}
}
}//package
Section 263
//towerButton11 (towerButton11)
package {
import flash.text.*;
public class towerButton11 extends towerButton {
public var costT:TextField;
public function towerButton11(){
idx = 11;
cost = 1000;
towerType = "tower11";
costT.text = String(("$ " + cost));
}
}
}//package
Section 264
//towerButton2 (towerButton2)
package {
import flash.text.*;
public class towerButton2 extends towerButton {
public var costT:TextField;
public function towerButton2(){
idx = 2;
cost = 50;
towerType = "tower2";
costT.text = String(("$ " + cost));
}
}
}//package
Section 265
//towerButton3 (towerButton3)
package {
import flash.text.*;
public class towerButton3 extends towerButton {
public var costT:TextField;
public function towerButton3(){
idx = 3;
cost = 400;
towerType = "tower3";
costT.text = String(("$ " + cost));
}
}
}//package
Section 266
//towerButton4 (towerButton4)
package {
import flash.text.*;
public class towerButton4 extends towerButton {
public var costT:TextField;
public function towerButton4(){
idx = 4;
cost = 250;
towerType = "tower4";
costT.text = String(("$ " + cost));
}
}
}//package
Section 267
//towerButton5 (towerButton5)
package {
import flash.text.*;
public class towerButton5 extends towerButton {
public var costT:TextField;
public function towerButton5(){
idx = 5;
cost = 150;
towerType = "tower5";
costT.text = String(("$ " + cost));
}
}
}//package
Section 268
//towerButton6 (towerButton6)
package {
import flash.text.*;
public class towerButton6 extends towerButton {
public var costT:TextField;
public function towerButton6(){
idx = 6;
cost = 600;
towerType = "tower6";
costT.text = String(("$ " + cost));
}
}
}//package
Section 269
//towerButton7 (towerButton7)
package {
import flash.text.*;
public class towerButton7 extends towerButton {
public var costT:TextField;
public function towerButton7(){
idx = 7;
cost = 950;
towerType = "tower7";
costT.text = String(("$ " + cost));
}
}
}//package
Section 270
//towerButton8 (towerButton8)
package {
import flash.text.*;
public class towerButton8 extends towerButton {
public var costT:TextField;
public function towerButton8(){
idx = 8;
cost = 300;
towerType = "tower8";
costT.text = String(("$ " + cost));
}
}
}//package
Section 271
//towerButton9 (towerButton9)
package {
import flash.text.*;
public class towerButton9 extends towerButton {
public var costT:TextField;
public function towerButton9(){
idx = 9;
cost = 250;
towerType = "tower9";
costT.text = String(("$ " + cost));
}
}
}//package
Section 272
//Tracer (Tracer)
package {
public class Tracer {
public var vx:Number;
public var vy:Number;
public var game:Game;
public var wgt:Number;
public var ex:Number;
public var ey:Number;
public var x:Number;
public var y:Number;
public var life:Number;
public var bFade:Boolean;
public function Tracer(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7:Number=1){
game = _arg6;
x = _arg1;
y = _arg2;
ex = _arg3;
ey = _arg4;
life = _arg5;
wgt = _arg7;
game.fx.tracers.push(this);
}
public function Tick():void{
life--;
if (life <= 0){
game.fx.removeTracer(this);
};
}
}
}//package
Section 273
//ugBar (ugBar)
package {
import flash.display.*;
import flash.events.*;
public class ugBar extends MovieClip {
public var uType:String;
public var game:Game;
public function ugBar(){
game = Game(parent.parent);
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
gotoAndStop(1);
}
public function tick(_arg1:Event):void{
if (game.Selected != null){
if (uType == "damage"){
gotoAndStop(((game.Selected.DLevel * 5) + 1));
} else {
if (uType == "rof"){
gotoAndStop(((game.Selected.RoFLevel * 5) + 1));
} else {
if (uType == "range"){
gotoAndStop(((game.Selected.RLevel * 5) + 1));
};
};
};
};
}
}
}//package
Section 274
//ugBarD (ugBarD)
package {
public class ugBarD extends ugBar {
public function ugBarD(){
uType = "damage";
}
}
}//package
Section 275
//ugBarR (ugBarR)
package {
public class ugBarR extends ugBar {
public function ugBarR(){
uType = "range";
}
}
}//package
Section 276
//ugBarRof (ugBarRof)
package {
public class ugBarRof extends ugBar {
public function ugBarRof(){
uType = "rof";
}
}
}//package
Section 277
//ugButton (ugButton)
package {
import flash.events.*;
public class ugButton extends gameButton {
public var uType:String;
public function ugButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
if (alpha >= 1){
game.Selected.upGrade(uType);
};
}
public function tick(_arg1:Event):void{
if (game.Selected != null){
if (uType == "damage"){
if ((((game.player.funds > (game.Selected.saleValue * 0.5))) && ((game.Selected.DLevel < 1)))){
alpha = 1;
} else {
alpha = 0.2;
};
} else {
if (uType == "rof"){
if (((((game.player.funds > (game.Selected.saleValue * 0.5)) > 0)) && ((game.Selected.RoFLevel < 1)))){
alpha = 1;
} else {
alpha = 0.2;
};
} else {
if (uType == "range"){
if (((((game.player.funds > (game.Selected.saleValue * 0.5)) > 0)) && ((game.Selected.RLevel < 1)))){
alpha = 1;
} else {
alpha = 0.2;
};
};
};
};
} else {
alpha = 0.2;
};
}
}
}//package
Section 278
//unPauseButton (unPauseButton)
package {
import flash.events.*;
public class unPauseButton extends gameButton {
public function unPauseButton(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
override public function clicked(_arg1:MouseEvent):void{
game.baseSpeed = 1;
}
public function tick(_arg1:Event):void{
if (game.baseSpeed != 1){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
}
}
}//package
Section 279
//waveController (waveController)
package {
public class waveController {
public var bAutoSpawn:Boolean;// = false
public var allOut:Boolean;// = false
public var nextSpawn:int;// = 1000
public var game:Game;
public var numWaves:int;// = 0
public var currentWave:int;// = 0
public var waves:Array;
public var running:Boolean;// = true
public function waveController(_arg1:Game){
waves = new Array();
nextSpawn = 1000;
numWaves = 0;
currentWave = 0;
running = true;
allOut = false;
bAutoSpawn = false;
super();
game = _arg1;
}
public function newWave():Boolean{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = false;
_local2 = waves.shift();
if (_local2 != undefined){
_local1 = true;
currentWave = (currentWave + 1);
_local3 = new waveSpawner(game, _local2[0], _local2[1], _local2[2], currentWave);
game.spawners.push(_local3);
nextSpawn = (Number(_local2[3]) * 2);
};
return (_local1);
}
public function resetWC():void{
waves = new Array();
numWaves = 0;
nextSpawn = 500;
allOut = false;
running = true;
currentWave = 0;
}
public function addWave(_arg1:String, _arg2:int, _arg3:int, _arg4:int):void{
waves.push(new Array(_arg1, _arg2, _arg3, _arg4));
numWaves++;
}
public function Tick(_arg1):void{
if (running){
nextSpawn = (nextSpawn - _arg1);
if (nextSpawn <= 0){
nextSpawn = 1000;
if (newWave()){
} else {
running = false;
allOut = true;
};
};
if (game.levelHealth <= 0){
running = false;
game.getFrame(4);
game.stopLevel();
game.baseSpeed = 0;
};
} else {
if (allOut){
if (game.levelHealth <= 0){
allOut = false;
game.getFrame(4);
game.stopLevel();
game.baseSpeed = 0;
} else {
if (game.Enemies.length <= 0){
allOut = false;
game.stopLevel();
game.getFrame(6);
game.baseSpeed = 0;
};
};
};
};
}
}
}//package
Section 280
//waveSpawner (waveSpawner)
package {
public class waveSpawner {
var space:int;
var ticker:int;// = 0
var game:Game;
var count:int;
var wave:int;
var eType:String;
public function waveSpawner(_arg1:Game, _arg2:String, _arg3:int, _arg4:int, _arg5){
ticker = 0;
super();
game = _arg1;
eType = _arg2;
count = _arg3;
space = _arg4;
wave = _arg5;
}
public function destroy():void{
game.killSpawner(this);
game = null;
}
public function Tick(_arg1):void{
if (count > 0){
ticker = (ticker + _arg1);
if (ticker >= space){
ticker = 0;
count--;
game.createEnemy(eType, wave);
};
} else {
destroy();
};
}
}
}//package