Section 1
//artlogic_logo_teks_white_2 (bugwar_fla.artlogic_logo_teks_white_2)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class artlogic_logo_teks_white_2 extends MovieClip {
public var maintimeline;
public function artlogic_logo_teks_white_2(){
addFrameScript(0, frame1);
}
public function goSponsor(_arg1=null){
maintimeline.goArtlogic();
}
function frame1(){
stop();
maintimeline = stage.getChildAt(0);
addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 2
//bt_bgm_54 (bugwar_fla.bt_bgm_54)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bt_bgm_54 extends MovieClip {
public var btbgmoff:SimpleButton;
public var btbgmon:SimpleButton;
public function bt_bgm_54(){
addFrameScript(0, frame1, 1, frame2);
}
public function bgmOnClick(_arg1=null){
gotoAndStop(2);
}
public function bgmOffClick(_arg1=null){
gotoAndStop(1);
}
public function stopListeners(){
btbgmon.removeEventListener(MouseEvent.MOUSE_UP, bgmOnClick);
btbgmoff.removeEventListener(MouseEvent.MOUSE_UP, bgmOffClick);
}
function frame1(){
stop();
btbgmon.visible = true;
btbgmoff.visible = false;
startListeners();
}
function frame2(){
stop();
btbgmon.visible = false;
btbgmoff.visible = true;
}
public function startListeners(){
btbgmon.addEventListener(MouseEvent.MOUSE_UP, bgmOnClick, false, 0, true);
btbgmoff.addEventListener(MouseEvent.MOUSE_UP, bgmOffClick, false, 0, true);
}
}
}//package bugwar_fla
Section 3
//bt_createtower1_37 (bugwar_fla.bt_createtower1_37)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_createtower1_37 extends MovieClip {
public var btactive:SimpleButton;
public function bt_createtower1_37(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
btactive.visible = true;
}
function frame1(){
btactive.visible = false;
}
function frame2(){
btactive.visible = true;
}
}
}//package bugwar_fla
Section 4
//bt_createtower2_39 (bugwar_fla.bt_createtower2_39)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_createtower2_39 extends MovieClip {
public var btactive:SimpleButton;
public function bt_createtower2_39(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
btactive.visible = true;
}
function frame1(){
btactive.visible = false;
}
function frame2(){
btactive.visible = true;
}
}
}//package bugwar_fla
Section 5
//bt_createtower3_41 (bugwar_fla.bt_createtower3_41)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_createtower3_41 extends MovieClip {
public var btactive:SimpleButton;
public function bt_createtower3_41(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
btactive.visible = true;
}
function frame1(){
btactive.visible = false;
}
function frame2(){
btactive.visible = false;
}
}
}//package bugwar_fla
Section 6
//bt_level1_197 (bugwar_fla.bt_level1_197)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level1_197 extends MovieClip {
public function bt_level1_197(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 7
//bt_level2_199 (bugwar_fla.bt_level2_199)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level2_199 extends MovieClip {
public function bt_level2_199(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 8
//bt_level3_201 (bugwar_fla.bt_level3_201)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level3_201 extends MovieClip {
public function bt_level3_201(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 9
//bt_level4_203 (bugwar_fla.bt_level4_203)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level4_203 extends MovieClip {
public function bt_level4_203(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 10
//bt_level5_205 (bugwar_fla.bt_level5_205)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level5_205 extends MovieClip {
public function bt_level5_205(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 11
//bt_level6_210 (bugwar_fla.bt_level6_210)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level6_210 extends MovieClip {
public function bt_level6_210(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 12
//bt_level7_212 (bugwar_fla.bt_level7_212)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level7_212 extends MovieClip {
public function bt_level7_212(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 13
//bt_level8_214 (bugwar_fla.bt_level8_214)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_level8_214 extends MovieClip {
public function bt_level8_214(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 14
//bt_pausegame_48 (bugwar_fla.bt_pausegame_48)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bt_pausegame_48 extends MovieClip {
public var btpause:SimpleButton;
public var btresume:SimpleButton;
public function bt_pausegame_48(){
addFrameScript(0, frame1, 1, frame2);
}
public function pauseClick(_arg1=null){
gotoAndStop(2);
}
public function resumeClick(_arg1=null){
gotoAndStop(1);
}
public function stopListeners(){
btpause.removeEventListener(MouseEvent.CLICK, pauseClick);
btresume.removeEventListener(MouseEvent.CLICK, resumeClick);
}
function frame1(){
stop();
btpause.visible = true;
btresume.visible = false;
startListeners();
}
function frame2(){
stop();
btpause.visible = false;
btresume.visible = true;
}
public function startListeners(){
btpause.addEventListener(MouseEvent.CLICK, pauseClick, false, 0, true);
btresume.addEventListener(MouseEvent.CLICK, resumeClick, false, 0, true);
}
}
}//package bugwar_fla
Section 15
//bt_queenlevel_207 (bugwar_fla.bt_queenlevel_207)
package bugwar_fla {
import flash.display.*;
public dynamic class bt_queenlevel_207 extends MovieClip {
public function bt_queenlevel_207(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bugwar_fla
Section 16
//bt_quitgame_57 (bugwar_fla.bt_quitgame_57)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bt_quitgame_57 extends MovieClip {
public var btquitgamemain:SimpleButton;
public var btquitgamecancel:SimpleButton;
public var btquitgamecontinue:SimpleButton;
public var btquitgamerestart:SimpleButton;
public function bt_quitgame_57(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
public function cancelClick(_arg1=null){
gotoAndStop(1);
}
public function continueClick(_arg1=null){
gotoAndStop(3);
}
public function stopListeners(){
btquitgamemain.removeEventListener(MouseEvent.CLICK, quitClick);
btquitgamecontinue.removeEventListener(MouseEvent.CLICK, continueClick);
btquitgamerestart.removeEventListener(MouseEvent.CLICK, restartClick);
btquitgamecancel.removeEventListener(MouseEvent.CLICK, cancelClick);
}
function frame3(){
stop();
btquitgamecontinue.visible = false;
btquitgamerestart.visible = false;
btquitgamecancel.visible = false;
}
function frame1(){
stop();
btquitgamecontinue.visible = false;
btquitgamerestart.visible = false;
btquitgamecancel.visible = false;
startListeners();
}
function frame4(){
stop();
btquitgamecontinue.visible = false;
btquitgamerestart.visible = false;
btquitgamecancel.visible = false;
}
function frame2(){
stop();
btquitgamecontinue.visible = true;
btquitgamerestart.visible = true;
btquitgamecancel.visible = true;
}
public function quitClick(_arg1=null){
gotoAndStop(2);
}
public function restartClick(_arg1=null){
gotoAndStop(4);
}
public function startListeners(){
btquitgamemain.addEventListener(MouseEvent.CLICK, quitClick, false, 0, true);
btquitgamecontinue.addEventListener(MouseEvent.CLICK, continueClick, false, 0, true);
btquitgamerestart.addEventListener(MouseEvent.CLICK, restartClick, false, 0, true);
btquitgamecancel.addEventListener(MouseEvent.CLICK, cancelClick, false, 0, true);
}
}
}//package bugwar_fla
Section 17
//bt_sfx_51 (bugwar_fla.bt_sfx_51)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bt_sfx_51 extends MovieClip {
public var btsfxon:SimpleButton;
public var btsfxoff:SimpleButton;
public function bt_sfx_51(){
addFrameScript(0, frame1, 1, frame2);
}
public function sfxOn(_arg1=null){
gotoAndStop(2);
}
public function stopListeners(){
btsfxon.removeEventListener(MouseEvent.CLICK, sfxOn);
btsfxoff.removeEventListener(MouseEvent.CLICK, sfxOff);
}
function frame1(){
stop();
btsfxon.visible = true;
btsfxoff.visible = false;
startListeners();
}
function frame2(){
stop();
btsfxon.visible = false;
btsfxoff.visible = true;
}
public function sfxOff(_arg1=null){
gotoAndStop(1);
}
public function startListeners(){
btsfxon.addEventListener(MouseEvent.CLICK, sfxOn, false, 0, true);
btsfxoff.addEventListener(MouseEvent.CLICK, sfxOff, false, 0, true);
}
}
}//package bugwar_fla
Section 18
//bt_speed_43 (bugwar_fla.bt_speed_43)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bt_speed_43 extends MovieClip {
public var btspeed1x:SimpleButton;
public var btspeed2x:SimpleButton;
public var btspeed3x:SimpleButton;
public function bt_speed_43(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
public function startListeners(){
btspeed1x.addEventListener(MouseEvent.MOUSE_UP, bt1Click, false, 0, true);
btspeed2x.addEventListener(MouseEvent.MOUSE_UP, bt2Click, false, 0, true);
btspeed3x.addEventListener(MouseEvent.MOUSE_UP, bt3Click, false, 0, true);
}
public function bt2Click(_arg1=null){
gotoAndStop(3);
}
public function stopListeners(){
btspeed1x.removeEventListener(MouseEvent.MOUSE_UP, bt1Click);
btspeed2x.removeEventListener(MouseEvent.MOUSE_UP, bt2Click);
btspeed3x.removeEventListener(MouseEvent.MOUSE_UP, bt3Click);
}
function frame3(){
stop();
btspeed1x.visible = false;
btspeed2x.visible = false;
btspeed3x.visible = true;
}
function frame1(){
stop();
btspeed1x.visible = true;
btspeed2x.visible = false;
btspeed3x.visible = false;
startListeners();
}
function frame2(){
stop();
btspeed1x.visible = false;
btspeed2x.visible = true;
btspeed3x.visible = false;
}
public function bt1Click(_arg1=null){
gotoAndStop(2);
}
public function bt3Click(_arg1=null){
gotoAndStop(1);
}
}
}//package bugwar_fla
Section 19
//bubble_logo3_188 (bugwar_fla.bubble_logo3_188)
package bugwar_fla {
import flash.display.*;
public dynamic class bubble_logo3_188 extends MovieClip {
public function bubble_logo3_188(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
}
}//package bugwar_fla
Section 20
//bubblebox_smallLogo2_4 (bugwar_fla.bubblebox_smallLogo2_4)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class bubblebox_smallLogo2_4 extends MovieClip {
public var maintimeline;
public function bubblebox_smallLogo2_4(){
addFrameScript(0, frame1);
}
public function goSponsor(_arg1=null){
maintimeline.goSponsor("preloader");
}
function frame1(){
stop();
maintimeline = stage.getChildAt(0);
addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 21
//bubblebox_smallLogo2_gameplay_62 (bugwar_fla.bubblebox_smallLogo2_gameplay_62)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class bubblebox_smallLogo2_gameplay_62 extends MovieClip {
public var maintimeline;
public function bubblebox_smallLogo2_gameplay_62(){
addFrameScript(0, frame1);
}
public function goSponsor(_arg1=null){
maintimeline.goSponsor("gameplay");
}
function frame1(){
stop();
maintimeline = stage.getChildAt(0);
addEventListener(MouseEvent.CLICK, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 22
//BubbleBoxLogoGraphicMc_190 (bugwar_fla.BubbleBoxLogoGraphicMc_190)
package bugwar_fla {
import flash.display.*;
public dynamic class BubbleBoxLogoGraphicMc_190 extends MovieClip {
public var play_latest_text:MovieClip;
}
}//package bugwar_fla
Section 23
//BubbleBoxSplash_187 (bugwar_fla.BubbleBoxSplash_187)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class BubbleBoxSplash_187 extends MovieClip {
public var link:SimpleButton;
public var play_latest_text:MovieClip;
public var thisparent;
public function BubbleBoxSplash_187(){
addFrameScript(0, frame1, 160, frame161);
}
public function goSponsor(_arg1){
thisparent.goSponsor("splash");
}
function frame161(){
thisparent.gotoAndStop("levelselect");
}
function frame1(){
thisparent = stage.getChildAt(0);
link.addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 24
//MainTimeline (bugwar_fla.MainTimeline)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var itlevelid;
public var sndmgr;
public var myMenu;
public var gamelocked;
public var item1:ContextMenuItem;
public var usecpm;
public var prerollid;
public var gamedata;
public var gamemgr;
public function MainTimeline(){
addFrameScript(0, frame1, 4, frame5, 8, frame9, 9, frame10, 11, frame12, 19, frame20, 24, frame25, 25, frame26, 29, frame30, 30, frame31, 34, frame35, 35, frame36, 39, frame40, 40, frame41, 44, frame45, 45, frame46, 49, frame50, 50, frame51, 54, frame55);
}
public function goArtlogic(_arg1=null){
var _local2:*;
_local2 = "http://artlogicgames.com/?gamereferral=bugwar";
navigateToURL(new URLRequest(_local2), "_blank");
}
public function goSponsor(_arg1:String){
var _local2:*;
_local2 = ("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1390&subid=" + _arg1);
navigateToURL(new URLRequest(_local2), "_blank");
}
function frame10(){
gamedata = new DataManager(this);
}
function frame12(){
stop();
}
function frame1(){
stage.scaleMode = StageScaleMode.NO_SCALE;
MochiBot.track(this, "e239531e");
prerollid = "629Q3A4AE391";
itlevelid = "630QE61FF733";
usecpm = true;
gamelocked = false;
item1 = new ContextMenuItem("© 2009 Artlogic Games™");
item1.separatorBefore = true;
item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, goArtlogic);
myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
myMenu.customItems.push(item1);
this.contextMenu = myMenu;
stop();
}
function frame25(){
gotoAndStop("levelselect");
}
function frame26(){
stop();
if (gamemgr){
if (contains(gamemgr)){
removeChild(gamemgr);
};
};
gamemgr = new GameManager(this);
sndmgr.playBGM("ambience");
}
function frame5(){
stop();
}
function frame9(){
gotoAndStop("lockerpage");
}
function frame36(){
stop();
sndmgr.playBGM("cover");
}
function frame30(){
gotoAndStop("playpage");
}
function frame20(){
stop();
if (!sndmgr){
sndmgr = new SoundManager();
};
sndmgr.playBGM("cover");
}
function frame31(){
stop();
sndmgr.playBGM("cover");
}
function frame35(){
gotoAndStop("winpage");
}
function frame40(){
gotoAndStop("lostpage");
}
function frame46(){
stop();
sndmgr.playBGM("cover");
}
function frame41(){
stop();
sndmgr.playBGM("cover");
}
function frame45(){
gotoAndStop("instructionspage");
}
function frame51(){
stop();
}
function frame55(){
gotoAndPlay("intropage");
}
function frame50(){
gotoAndStop("creditspage");
}
public function goWalkthrough(_arg1=null){
var _local2:*;
_local2 = "http://www.bubblebox.com/clickreg.php?type=gamestats&id=1390&subid=walkthrough&action=walkthrough_bugwar";
navigateToURL(new URLRequest(_local2), "_blank");
}
}
}//package bugwar_fla
Section 25
//mc_achievement1_229 (bugwar_fla.mc_achievement1_229)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement1_229 extends MovieClip {
public function mc_achievement1_229(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 26
//mc_achievement2_239 (bugwar_fla.mc_achievement2_239)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement2_239 extends MovieClip {
public function mc_achievement2_239(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 27
//mc_achievement3_237 (bugwar_fla.mc_achievement3_237)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement3_237 extends MovieClip {
public function mc_achievement3_237(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 28
//mc_achievement4_235 (bugwar_fla.mc_achievement4_235)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement4_235 extends MovieClip {
public function mc_achievement4_235(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 29
//mc_achievement5_231 (bugwar_fla.mc_achievement5_231)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement5_231 extends MovieClip {
public function mc_achievement5_231(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 30
//mc_achievement6_233 (bugwar_fla.mc_achievement6_233)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_achievement6_233 extends MovieClip {
public function mc_achievement6_233(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 31
//mc_attackbase_27 (bugwar_fla.mc_attackbase_27)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_attackbase_27 extends MovieClip {
public function mc_attackbase_27(){
addFrameScript(1, frame2, 29, frame30);
}
function frame2(){
stop();
}
function frame30(){
gotoAndPlay(2);
}
}
}//package bugwar_fla
Section 32
//mc_creditspage_254 (bugwar_fla.mc_creditspage_254)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_creditspage_254 extends MovieClip {
public var btexittutorial:SimpleButton;
public var thisparent;
public function mc_creditspage_254(){
addFrameScript(0, frame1);
}
public function goExit(_arg1=null){
btexittutorial.removeEventListener(MouseEvent.MOUSE_UP, goExit);
btexittutorial.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
thisparent.gotoAndPlay("levelselect");
}
function frame1(){
stop();
thisparent = parent;
btexittutorial.addEventListener(MouseEvent.MOUSE_UP, goExit, false, 0, true);
btexittutorial.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
}
public function playBtnSound(_arg1=null){
thisparent.sndmgr.playSFX("btnover");
}
}
}//package bugwar_fla
Section 33
//mc_gamepaused_78 (bugwar_fla.mc_gamepaused_78)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_gamepaused_78 extends MovieClip {
public function mc_gamepaused_78(){
addFrameScript(0, frame1, 1, frame2, 8, frame9);
}
function frame1(){
gotoAndStop(2);
}
function frame9(){
stop();
}
function frame2(){
stop();
}
}
}//package bugwar_fla
Section 34
//mc_instructionspage_246 (bugwar_fla.mc_instructionspage_246)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_instructionspage_246 extends MovieClip {
public var bt4:SimpleButton;
public var bt5:SimpleButton;
public var bt6:SimpleButton;
public var bt1:SimpleButton;
public var bt3:SimpleButton;
public var bt2:SimpleButton;
public var btexittutorial:SimpleButton;
public var thisparent;
public function mc_instructionspage_246(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
public function goExit(_arg1=null){
bt1.removeEventListener(MouseEvent.MOUSE_UP, goPage1);
bt2.removeEventListener(MouseEvent.MOUSE_UP, goPage2);
bt3.removeEventListener(MouseEvent.MOUSE_UP, goPage3);
bt4.removeEventListener(MouseEvent.MOUSE_UP, goPage4);
bt5.removeEventListener(MouseEvent.MOUSE_UP, goPage5);
bt6.removeEventListener(MouseEvent.MOUSE_UP, goPage6);
btexittutorial.removeEventListener(MouseEvent.MOUSE_UP, goExit);
bt1.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
bt2.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
bt3.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
bt4.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
bt5.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
bt6.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
btexittutorial.removeEventListener(MouseEvent.MOUSE_OVER, playBtnSound);
thisparent.gotoAndPlay("levelselect");
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
thisparent = parent;
bt1.addEventListener(MouseEvent.MOUSE_UP, goPage1, false, 0, true);
bt2.addEventListener(MouseEvent.MOUSE_UP, goPage2, false, 0, true);
bt3.addEventListener(MouseEvent.MOUSE_UP, goPage3, false, 0, true);
bt4.addEventListener(MouseEvent.MOUSE_UP, goPage4, false, 0, true);
bt5.addEventListener(MouseEvent.MOUSE_UP, goPage5, false, 0, true);
bt6.addEventListener(MouseEvent.MOUSE_UP, goPage6, false, 0, true);
btexittutorial.addEventListener(MouseEvent.MOUSE_UP, goExit, false, 0, true);
bt1.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
bt2.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
bt3.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
bt4.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
bt5.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
bt6.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
btexittutorial.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
}
public function playBtnSound(_arg1=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame5(){
stop();
}
public function goPage3(_arg1=null){
gotoAndStop(3);
}
public function goPage4(_arg1=null){
gotoAndStop(4);
}
function frame2(){
stop();
}
public function goPage2(_arg1=null){
gotoAndStop(2);
}
public function goPage6(_arg1=null){
gotoAndStop(6);
}
public function goPage1(_arg1=null){
gotoAndStop(1);
}
function frame4(){
stop();
}
public function goPage5(_arg1=null){
gotoAndStop(5);
}
}
}//package bugwar_fla
Section 35
//mc_loosenote_67 (bugwar_fla.mc_loosenote_67)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_loosenote_67 extends MovieClip {
public function mc_loosenote_67(){
addFrameScript(104, frame105);
}
function frame105(){
stop();
}
}
}//package bugwar_fla
Section 36
//mc_lostpage_243 (bugwar_fla.mc_lostpage_243)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_lostpage_243 extends MovieClip {
public var btcontinue:SimpleButton;
public var btgomenu:SimpleButton;
public var mcstatistics:MovieClip;
public var mcachievement4:MovieClip;
public var mcachievement5:MovieClip;
public var mcachievement1:MovieClip;
public var mcachievement6:MovieClip;
public var mcachievement2:MovieClip;
public var mcachievement3:MovieClip;
public var cpmad;
public var thisparent;
public var mcplaceadd:MovieClip;
public function mc_lostpage_243(){
addFrameScript(0, frame1, 1, frame2, 59, frame60, 125, frame126);
}
public function goNextLevel(_arg1){
thisparent.gamedata.prepareLevel();
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
mcplaceadd.removeChild(cpmad);
} else {
MochiAd.unload(mcplaceadd);
};
thisparent.gotoAndPlay("playpage");
}
function frame1(){
thisparent = parent;
thisparent.gamedata.recordScore(false);
}
public function playBtnSound(_arg1=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame2(){
if (thisparent.usecpm){
cpmad = new AdLoader(thisparent.itlevelid);
mcplaceadd.addChild(cpmad);
} else {
MochiAd.showClickAwayAd({clip:mcplaceadd, id:"c7d3518b0acb0cd6"});
};
}
public function goMenuPage(_arg1){
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
mcplaceadd.removeChild(cpmad);
} else {
MochiAd.unload(mcplaceadd);
};
thisparent.gotoAndPlay("levelselect");
}
function frame126(){
stop();
btgomenu.addEventListener(MouseEvent.MOUSE_UP, goMenuPage, false, 0, true);
btcontinue.addEventListener(MouseEvent.MOUSE_UP, goNextLevel, false, 0, true);
mcstatistics.btselectstats1.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcstatistics.btselectstats2.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcstatistics.btselectstats3.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
btgomenu.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
btcontinue.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement1.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement2.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement3.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement4.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement5.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement6.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
if (thisparent.gamedata.achievementstatus[0] == "unlocked"){
mcachievement1.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[0] == "new"){
mcachievement1.gotoAndStop(2);
} else {
mcachievement1.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[1] == "unlocked"){
mcachievement2.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[1] == "new"){
mcachievement2.gotoAndStop(2);
} else {
mcachievement2.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[2] == "unlocked"){
mcachievement3.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[2] == "new"){
mcachievement3.gotoAndStop(2);
} else {
mcachievement3.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[3] == "unlocked"){
mcachievement4.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[3] == "new"){
mcachievement4.gotoAndStop(2);
} else {
mcachievement4.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[4] == "unlocked"){
mcachievement5.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[4] == "new"){
mcachievement5.gotoAndStop(2);
} else {
mcachievement5.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[5] == "unlocked"){
mcachievement6.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[5] == "new"){
mcachievement6.gotoAndStop(2);
} else {
mcachievement6.gotoAndStop(1);
};
};
}
function frame60(){
mcstatistics.takenoverspawn = thisparent.gamedata.leveltakenspawn[0];
mcstatistics.lostspawn = thisparent.gamedata.levellostspawn[0];
mcstatistics.killedunit = thisparent.gamedata.leveldeadunit[1];
mcstatistics.lostunit = thisparent.gamedata.leveldeadunit[0];
mcstatistics.createdtower = thisparent.gamedata.levelcreatedtower[0];
mcstatistics.score = thisparent.gamedata.levelscore;
mcstatistics.totalscore = thisparent.gamedata.totalscore;
mcstatistics.totaltakenoverspawn = thisparent.gamedata.totaltakenspawn[0];
mcstatistics.totallostspawn = thisparent.gamedata.totallostspawn[0];
mcstatistics.totalkilledunit = thisparent.gamedata.totaldeadunit[1];
mcstatistics.totalcreatedunit = thisparent.gamedata.totalcreatedunit[0];
mcstatistics.totallostunit = thisparent.gamedata.totaldeadunit[0];
mcstatistics.totalcreatedtower = thisparent.gamedata.totalcreatedtower[0];
mcstatistics.totallosttower = thisparent.gamedata.totaldestroyedtower[1];
mcstatistics.completedcampaign = thisparent.gamedata.getCompletedCampaign();
mcstatistics.totalcampaigntime = thisparent.gamedata.totalcampaigntime;
mcstatistics.totalgametime = thisparent.gamedata.totalgametime;
mcstatistics.wincount = thisparent.gamedata.wincount;
mcstatistics.lostcount = thisparent.gamedata.lostcount;
mcstatistics.playedlevel = thisparent.gamedata.getPlayedLevelCount();
mcstatistics.lockedlevel = thisparent.gamedata.getLockedLevelCount();
mcstatistics.unitlevel = thisparent.gamedata.upgradelevel;
}
}
}//package bugwar_fla
Section 37
//mc_notebg_65 (bugwar_fla.mc_notebg_65)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_notebg_65 extends MovieClip {
public function mc_notebg_65(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package bugwar_fla
Section 38
//mc_placeadd_222 (bugwar_fla.mc_placeadd_222)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_placeadd_222 extends MovieClip {
public var link:SimpleButton;
public var maintimeline;
public function mc_placeadd_222(){
addFrameScript(0, frame1);
}
public function goSponsor(_arg1){
maintimeline.goSponsor("statistics");
}
function frame1(){
maintimeline = stage.getChildAt(0);
link.addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 39
//mc_preloader_1 (bugwar_fla.mc_preloader_1)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_preloader_1 extends MovieClip {
public var btplaygame:SimpleButton;
public var mcpreloaderbar:MovieClip;
public var mcpreloaderbig:MovieClip;
public var cpmad;
public var thisparent;
public function mc_preloader_1(){
addFrameScript(0, frame1, 2, frame3);
}
public function goPlayGame(_arg1=null){
var _local2:*;
var _local3:*;
_local2 = false;
_local3 = parent.loaderInfo.loaderURL;
if (thisparent.gamelocked){
_local2 = ((_local2) || ((_local3.indexOf("bubblebox.com") > -1)));
};
btplaygame.removeEventListener(MouseEvent.MOUSE_UP, goPlayGame);
if (thisparent.usecpm){
mcpreloaderbig.removeChild(cpmad);
} else {
MochiAd.unload(mcpreloaderbig);
};
if (thisparent.gamelocked){
if (_local2){
thisparent.gotoAndPlay("intropage");
} else {
thisparent.gotoAndPlay("lockerpage");
};
} else {
thisparent.gotoAndPlay("intropage");
};
}
function frame3(){
stop();
btplaygame.addEventListener(MouseEvent.MOUSE_UP, goPlayGame, false, 0, true);
}
public function frameEnter(_arg1=null){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = parent.loaderInfo.bytesLoaded;
_local3 = parent.loaderInfo.bytesTotal;
_local4 = Math.ceil(((_local2 / _local3) * 100));
mcpreloaderbar.gotoAndStop((_local4 + 1));
if (_local4 == 100){
removeEventListener(Event.ENTER_FRAME, frameEnter);
this.gotoAndPlay(3);
};
}
function frame1(){
stop();
thisparent = parent;
addEventListener(Event.ENTER_FRAME, frameEnter, false, 0, true);
if (thisparent.usecpm){
cpmad = new AdLoader(thisparent.prerollid);
mcpreloaderbig.addChild(cpmad);
} else {
MochiAd.showClickAwayAd({clip:mcpreloaderbig, id:"c7d3518b0acb0cd6"});
};
}
}
}//package bugwar_fla
Section 40
//mc_preloaderbig_8 (bugwar_fla.mc_preloaderbig_8)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_preloaderbig_8 extends MovieClip {
public var link:SimpleButton;
public var maintimeline;
public function mc_preloaderbig_8(){
addFrameScript(0, frame1);
}
public function goSponsor(_arg1){
maintimeline.goSponsor("preloaderbig");
}
function frame1(){
maintimeline = stage.getChildAt(0);
link.addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
}
}//package bugwar_fla
Section 41
//mc_quitnote_71 (bugwar_fla.mc_quitnote_71)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_quitnote_71 extends MovieClip {
public function mc_quitnote_71(){
addFrameScript(104, frame105);
}
function frame105(){
stop();
}
}
}//package bugwar_fla
Section 42
//mc_resetdialog_218 (bugwar_fla.mc_resetdialog_218)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_resetdialog_218 extends MovieClip {
public var btyesclear:SimpleButton;
public var btnoclear:SimpleButton;
public var thisparent;
public function mc_resetdialog_218(){
addFrameScript(0, frame1, 7, frame8, 13, frame14);
}
public function goAccept(_arg1=null){
thisparent.resetData();
btyesclear.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnoclear.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
public function goRefuse(_arg1=null){
btyesclear.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnoclear.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
function frame14(){
gotoAndStop(2);
}
function frame1(){
gotoAndStop(2);
}
function frame8(){
stop();
thisparent = parent;
btyesclear.addEventListener(MouseEvent.MOUSE_UP, goAccept, false, 0, true);
btnoclear.addEventListener(MouseEvent.MOUSE_UP, goRefuse, false, 0, true);
}
}
}//package bugwar_fla
Section 43
//mc_sacrificedialog_79 (bugwar_fla.mc_sacrificedialog_79)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_sacrificedialog_79 extends MovieClip {
public var btnosacrifice:SimpleButton;
public var btyessacrifice:SimpleButton;
public var thisparent;
public function mc_sacrificedialog_79(){
addFrameScript(0, frame1, 7, frame8, 13, frame14);
}
public function goAccept(_arg1=null){
thisparent.thisparent.doCreateTower();
btyessacrifice.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnosacrifice.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
public function goRefuse(_arg1=null){
thisparent.thisparent.cancelCreateTower();
btyessacrifice.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnosacrifice.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
function frame14(){
gotoAndStop(2);
}
function frame1(){
gotoAndStop(2);
}
function frame8(){
stop();
thisparent = parent;
btyessacrifice.addEventListener(MouseEvent.MOUSE_UP, goAccept, false, 0, true);
btnosacrifice.addEventListener(MouseEvent.MOUSE_UP, goRefuse, false, 0, true);
}
}
}//package bugwar_fla
Section 44
//mc_selectlevel_191 (bugwar_fla.mc_selectlevel_191)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_selectlevel_191 extends MovieClip {
public var btlevel2:MovieClip;
public var mcresetdialog:MovieClip;
public var btlevel6:MovieClip;
public var btlevel8:MovieClip;
public var btsfx:MovieClip;
public var btlevel5:MovieClip;
public var btlevel4:MovieClip;
public var btlevel3:MovieClip;
public var btinstructions:SimpleButton;
public var sndmgr;
public var btlevel7:MovieClip;
public var btcredits:SimpleButton;
public var btbgm:MovieClip;
public var btwalkthrough:SimpleButton;
public var btqueenlevel:MovieClip;
public var btplaygame:SimpleButton;
public var bttryother:SimpleButton;
public var btresetgame:SimpleButton;
public var gamedata;
public var thisparent;
public var btlevel1:MovieClip;
public function mc_selectlevel_191(){
addFrameScript(35, frame36);
}
public function goKongregate(_arg1=null){
thisparent.goSponsor("cover");
}
public function goTryOther(_arg1=null){
thisparent.goSponsor("cover");
}
public function refreshButtons(){
if (thisparent.gamedata.selectedlevel == 1){
btlevel1.gotoAndStop(4);
} else {
if (gamedata.playedlevel[0]){
btlevel1.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[0]){
btlevel1.gotoAndStop(2);
} else {
btlevel1.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 2){
btlevel2.gotoAndStop(4);
} else {
if (gamedata.playedlevel[1]){
btlevel2.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[1]){
btlevel2.gotoAndStop(2);
} else {
btlevel2.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 3){
btlevel3.gotoAndStop(4);
} else {
if (gamedata.playedlevel[2]){
btlevel3.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[2]){
btlevel3.gotoAndStop(2);
} else {
btlevel3.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 4){
btlevel4.gotoAndStop(4);
} else {
if (gamedata.playedlevel[3]){
btlevel4.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[3]){
btlevel4.gotoAndStop(2);
} else {
btlevel4.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 5){
btlevel5.gotoAndStop(4);
} else {
if (gamedata.playedlevel[4]){
btlevel5.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[4]){
btlevel5.gotoAndStop(2);
} else {
btlevel5.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 6){
btlevel6.gotoAndStop(4);
} else {
if (gamedata.playedlevel[5]){
btlevel6.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[5]){
btlevel6.gotoAndStop(2);
} else {
btlevel6.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 7){
btlevel7.gotoAndStop(4);
} else {
if (gamedata.playedlevel[6]){
btlevel7.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[6]){
btlevel7.gotoAndStop(2);
} else {
btlevel7.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.selectedlevel == 8){
btlevel8.gotoAndStop(4);
} else {
if (gamedata.playedlevel[7]){
btlevel8.gotoAndStop(3);
} else {
if (gamedata.unlockedlevel[7]){
btlevel8.gotoAndStop(2);
} else {
btlevel8.gotoAndStop(1);
};
};
};
if (thisparent.gamedata.bonuslevel == "locked"){
btqueenlevel.gotoAndStop(1);
} else {
if ((((thisparent.gamedata.bonuslevel == "new")) || ((thisparent.gamedata.selectedlevel == 9)))){
btqueenlevel.gotoAndStop(2);
} else {
btqueenlevel.gotoAndStop(3);
};
};
}
public function selectLevel4(_arg1=null){
if (thisparent.gamedata.unlockedlevel[3]){
thisparent.gamedata.selectedlevel = 4;
};
refreshButtons();
}
public function selectLevel1(_arg1=null){
if (thisparent.gamedata.unlockedlevel[0]){
thisparent.gamedata.selectedlevel = 1;
};
refreshButtons();
}
public function selectLevel8(_arg1=null){
if (thisparent.gamedata.unlockedlevel[7]){
thisparent.gamedata.selectedlevel = 8;
};
refreshButtons();
}
public function playSound(_arg1=null){
sndmgr.playSFX("btnover");
}
public function selectLevel3(_arg1=null){
if (thisparent.gamedata.unlockedlevel[2]){
thisparent.gamedata.selectedlevel = 3;
};
refreshButtons();
}
public function goPlayGame(_arg1=null){
thisparent.gotoAndPlay("playpage");
}
public function selectLevel9(_arg1=null){
if (thisparent.gamedata.bonuslevel != "locked"){
thisparent.gamedata.selectedlevel = 9;
refreshButtons();
};
}
public function selectLevel6(_arg1=null){
if (thisparent.gamedata.unlockedlevel[5]){
thisparent.gamedata.selectedlevel = 6;
};
refreshButtons();
}
public function selectLevel7(_arg1=null){
if (thisparent.gamedata.unlockedlevel[6]){
thisparent.gamedata.selectedlevel = 7;
};
refreshButtons();
}
public function selectLevel2(_arg1=null){
if (thisparent.gamedata.unlockedlevel[1]){
thisparent.gamedata.selectedlevel = 2;
};
refreshButtons();
}
public function toggleSFX(_arg1=null){
if (sndmgr.sfxVolume == 1){
sndmgr.adjustSFX(0);
} else {
sndmgr.adjustSFX(1);
};
}
function frame36(){
stop();
thisparent = parent;
gamedata = thisparent.gamedata;
sndmgr = thisparent.sndmgr;
if (sndmgr.sfxVolume == 1){
btsfx.gotoAndStop(1);
} else {
btsfx.gotoAndStop(2);
};
if (sndmgr.bgmVolume == 1){
btbgm.gotoAndStop(1);
} else {
btbgm.gotoAndStop(2);
};
btsfx.addEventListener(MouseEvent.MOUSE_UP, toggleSFX, false, 0, true);
btbgm.addEventListener(MouseEvent.MOUSE_UP, toggleBGM, false, 0, true);
btresetgame.addEventListener(MouseEvent.MOUSE_UP, goResetGame, false, 0, true);
bttryother.addEventListener(MouseEvent.MOUSE_UP, goTryOther, false, 0, true);
btinstructions.addEventListener(MouseEvent.MOUSE_UP, goInstructions, false, 0, true);
btcredits.addEventListener(MouseEvent.MOUSE_UP, goCredits, false, 0, true);
btwalkthrough.addEventListener(MouseEvent.MOUSE_UP, goWalkthrough, false, 0, true);
refreshButtons();
btplaygame.addEventListener(MouseEvent.MOUSE_UP, goPlayGame, false, 0, true);
btlevel1.addEventListener(MouseEvent.MOUSE_UP, selectLevel1, false, 0, true);
btlevel2.addEventListener(MouseEvent.MOUSE_UP, selectLevel2, false, 0, true);
btlevel3.addEventListener(MouseEvent.MOUSE_UP, selectLevel3, false, 0, true);
btlevel4.addEventListener(MouseEvent.MOUSE_UP, selectLevel4, false, 0, true);
btlevel5.addEventListener(MouseEvent.MOUSE_UP, selectLevel5, false, 0, true);
btlevel6.addEventListener(MouseEvent.MOUSE_UP, selectLevel6, false, 0, true);
btlevel7.addEventListener(MouseEvent.MOUSE_UP, selectLevel7, false, 0, true);
btlevel8.addEventListener(MouseEvent.MOUSE_UP, selectLevel8, false, 0, true);
btqueenlevel.addEventListener(MouseEvent.MOUSE_UP, selectLevel9, false, 0, true);
btresetgame.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
bttryother.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btinstructions.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btcredits.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btplaygame.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel1.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel2.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel3.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel4.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel5.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel6.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel7.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btlevel8.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
btqueenlevel.addEventListener(MouseEvent.MOUSE_OVER, playSound, false, 0, true);
}
public function resetData(){
gamedata.resetData();
gamedata.saveData();
refreshButtons();
}
public function selectLevel5(_arg1=null){
if (thisparent.gamedata.unlockedlevel[4]){
thisparent.gamedata.selectedlevel = 5;
};
refreshButtons();
}
public function goCredits(_arg1=null){
thisparent.gotoAndPlay("creditspage");
}
public function goInstructions(_arg1=null){
thisparent.gotoAndPlay("instructionspage");
}
public function goArtlogic(_arg1=null){
thisparent.goArtlogic();
}
public function toggleBGM(_arg1=null){
if (sndmgr.bgmVolume == 1){
sndmgr.adjustBGM(0);
} else {
sndmgr.adjustBGM(1);
};
}
public function goResetGame(_arg1=null){
mcresetdialog.gotoAndPlay(3);
}
public function goWalkthrough(_arg1=null){
thisparent.goWalkthrough();
}
}
}//package bugwar_fla
Section 45
//mc_statistics_225 (bugwar_fla.mc_statistics_225)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_statistics_225 extends MovieClip {
public var totallostspawn;
public var lostcounttxt:TextField;
public var completedcampaigntxt:TextField;
public var playedleveltxt:TextField;
public var lostspawntxt:TextField;
public var takenoverspawn;
public var completedcampaign;
public var totalcreatedtower;
public var lostcount;
public var takenovertxt:TextField;
public var createdunittxt:TextField;
public var unitlevel;
public var upgradeleveltxt:TextField;
public var playedlevel;
public var totalgametimetxt:TextField;
public var score;
public var totaltakenoverspawn;
public var lostunit;
public var scoretxt:TextField;
public var totalcreatedunit;
public var wincount;
public var lockedlevel;
public var btselectstats2:SimpleButton;
public var btselectstats3:SimpleButton;
public var btselectstats1:SimpleButton;
public var lostunittxt:TextField;
public var stepper;
public var lostspawn;
public var wincounttxt:TextField;
public var totalgametime;
public var createdtower;
public var totalcampaigntime;
public var killedunittxt:TextField;
public var campaigntimetxt:TextField;
public var lockedleveltxt:TextField;
public var killedunit;
public var tparser;
public var totallosttower;
public var createdtowertxt:TextField;
public var totalkilledunit;
public var totalscore;
public var totalscoretxt:TextField;
public var losttowertxt:TextField;
public var totallostunit;
public function mc_statistics_225(){
addFrameScript(0, frame1, 14, frame15, 19, frame20, 20, frame21, 34, frame35, 39, frame40, 40, frame41, 54, frame55, 59, frame60);
}
function frame15(){
stepper = 0.02;
addEventListener(Event.ENTER_FRAME, frameEnterCurrent, false, 0, true);
}
function frame1(){
btselectstats1.visible = false;
btselectstats2.visible = true;
btselectstats3.visible = true;
tparser = new TimeParser();
btselectstats1.addEventListener(MouseEvent.MOUSE_UP, goStats1, false, 0, true);
btselectstats2.addEventListener(MouseEvent.MOUSE_UP, goStats2, false, 0, true);
btselectstats3.addEventListener(MouseEvent.MOUSE_UP, goStats3, false, 0, true);
}
public function goStats2(_arg1){
gotoAndPlay("showtotal");
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
}
public function goStats3(_arg1){
gotoAndPlay("showstats");
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
}
function frame20(){
stop();
}
function frame35(){
stepper = 0.02;
addEventListener(Event.ENTER_FRAME, frameEnterTotal, false, 0, true);
}
public function goStats1(_arg1){
gotoAndPlay("showlastplay");
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
}
function frame40(){
stop();
}
public function frameEnterTotal(_arg1){
if (stepper < 1){
stepper = (stepper + 0.02);
if (stepper >= 1){
stepper = 1;
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
};
};
takenovertxt.text = String(Math.floor((totaltakenoverspawn * stepper)));
lostspawntxt.text = String(Math.floor((totallostspawn * stepper)));
killedunittxt.text = String(Math.floor((totalkilledunit * stepper)));
createdunittxt.text = String(Math.floor((totalcreatedunit * stepper)));
lostunittxt.text = String(Math.floor((totallostunit * stepper)));
createdtowertxt.text = String(Math.floor((totalcreatedtower * stepper)));
losttowertxt.text = String(Math.floor((totallosttower * stepper)));
totalscoretxt.text = String(Math.floor((totalscore * stepper)));
}
function frame41(){
btselectstats1.visible = true;
btselectstats2.visible = true;
btselectstats3.visible = false;
}
function frame55(){
stepper = 0.02;
addEventListener(Event.ENTER_FRAME, frameEnterStats, false, 0, true);
}
function frame60(){
stop();
}
function frame21(){
btselectstats1.visible = true;
btselectstats2.visible = false;
btselectstats3.visible = true;
}
public function frameEnterCurrent(_arg1){
if (stepper < 1){
stepper = (stepper + 0.02);
if (stepper >= 1){
stepper = 1;
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
};
};
takenovertxt.text = String(Math.floor((takenoverspawn * stepper)));
lostspawntxt.text = String(Math.floor((lostspawn * stepper)));
killedunittxt.text = String(Math.floor((killedunit * stepper)));
lostunittxt.text = String(Math.floor((lostunit * stepper)));
createdtowertxt.text = String(Math.floor((createdtower * stepper)));
scoretxt.text = String(Math.floor((score * stepper)));
totalscoretxt.text = String(Math.floor((totalscore * stepper)));
}
public function frameEnterStats(_arg1){
if (stepper < 1){
stepper = (stepper + 0.02);
if (stepper >= 1){
stepper = 1;
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
};
};
completedcampaigntxt.text = String((Math.floor((completedcampaign * stepper)) + " %"));
campaigntimetxt.text = tparser.Parse(Math.floor((totalcampaigntime * stepper)));
totalgametimetxt.text = tparser.Parse(Math.floor((totalgametime * stepper)));
wincounttxt.text = String(Math.floor((wincount * stepper)));
lostcounttxt.text = String(Math.floor((lostcount * stepper)));
playedleveltxt.text = String(Math.floor((playedlevel * stepper)));
lockedleveltxt.text = String(Math.floor((lockedlevel * stepper)));
upgradeleveltxt.text = String(Math.floor((unitlevel * stepper)));
}
}
}//package bugwar_fla
Section 46
//mc_upgrades_73 (bugwar_fla.mc_upgrades_73)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_upgrades_73 extends MovieClip {
public var btupgradestrength:SimpleButton;
public var btupgradespeed:SimpleButton;
public function mc_upgrades_73(){
addFrameScript(0, frame1, 64, frame65);
}
function frame65(){
stop();
btupgradespeed.visible = true;
btupgradestrength.visible = true;
}
function frame1(){
stop();
btupgradespeed.visible = false;
btupgradestrength.visible = false;
}
}
}//package bugwar_fla
Section 47
//mc_winnote_69 (bugwar_fla.mc_winnote_69)
package bugwar_fla {
import flash.display.*;
public dynamic class mc_winnote_69 extends MovieClip {
public function mc_winnote_69(){
addFrameScript(104, frame105);
}
function frame105(){
stop();
}
}
}//package bugwar_fla
Section 48
//mc_winpage_221 (bugwar_fla.mc_winpage_221)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mc_winpage_221 extends MovieClip {
public var btcontinue:SimpleButton;
public var btgomenu:SimpleButton;
public var mcstatistics:MovieClip;
public var bbscore:bubblebox_score;
public var mcachievement4:MovieClip;
public var mcachievement5:MovieClip;
public var mcachievement1:MovieClip;
public var mcachievement6:MovieClip;
public var mcachievement2:MovieClip;
public var mcachievement3:MovieClip;
public var playpage;
public var cpmad;
public var thisparent;
public var mcplaceadd:MovieClip;
public function mc_winpage_221(){
addFrameScript(0, frame1, 1, frame2, 58, frame59, 129, frame130);
}
public function goNextLevel(_arg1){
thisparent.gamedata.prepareLevel();
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
mcplaceadd.removeChild(cpmad);
} else {
MochiAd.unload(mcplaceadd);
};
thisparent.gotoAndPlay(playpage);
}
function frame1(){
thisparent = parent;
playpage = "playpage";
if (thisparent.gamedata.selectedlevel >= 8){
playpage = "levelselect";
};
thisparent.gamedata.recordScore(true);
}
public function playBtnSound(_arg1=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame2(){
if (thisparent.usecpm){
cpmad = new AdLoader(thisparent.itlevelid);
mcplaceadd.addChild(cpmad);
} else {
MochiAd.showClickAwayAd({clip:mcplaceadd, id:"c7d3518b0acb0cd6"});
};
}
public function goMenuPage(_arg1){
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
mcplaceadd.removeChild(cpmad);
} else {
MochiAd.unload(mcplaceadd);
};
thisparent.gotoAndPlay("levelselect");
}
function frame130(){
stop();
btgomenu.addEventListener(MouseEvent.MOUSE_UP, goMenuPage, false, 0, true);
btcontinue.addEventListener(MouseEvent.MOUSE_UP, goNextLevel, false, 0, true);
mcstatistics.btselectstats1.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcstatistics.btselectstats2.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcstatistics.btselectstats3.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
btgomenu.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
btcontinue.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement1.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement2.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement3.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement4.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement5.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
mcachievement6.addEventListener(MouseEvent.MOUSE_OVER, playBtnSound, false, 0, true);
if (thisparent.gamedata.achievementstatus[0] == "unlocked"){
mcachievement1.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[0] == "new"){
mcachievement1.gotoAndStop(2);
} else {
mcachievement1.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[1] == "unlocked"){
mcachievement2.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[1] == "new"){
mcachievement2.gotoAndStop(2);
} else {
mcachievement2.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[2] == "unlocked"){
mcachievement3.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[2] == "new"){
mcachievement3.gotoAndStop(2);
} else {
mcachievement3.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[3] == "unlocked"){
mcachievement4.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[3] == "new"){
mcachievement4.gotoAndStop(2);
} else {
mcachievement4.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[4] == "unlocked"){
mcachievement5.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[4] == "new"){
mcachievement5.gotoAndStop(2);
} else {
mcachievement5.gotoAndStop(1);
};
};
if (thisparent.gamedata.achievementstatus[5] == "unlocked"){
mcachievement6.gotoAndStop(3);
} else {
if (thisparent.gamedata.achievementstatus[5] == "new"){
mcachievement6.gotoAndStop(2);
} else {
mcachievement6.gotoAndStop(1);
};
};
if (thisparent.gamedata.selectedlevel >= 8){
bbscore.setScore(mcstatistics.totalscore, 1390);
} else {
bbscore.visible = false;
};
}
function frame59(){
mcstatistics.takenoverspawn = thisparent.gamedata.leveltakenspawn[0];
mcstatistics.lostspawn = thisparent.gamedata.levellostspawn[0];
mcstatistics.killedunit = thisparent.gamedata.leveldeadunit[1];
mcstatistics.lostunit = thisparent.gamedata.leveldeadunit[0];
mcstatistics.createdtower = thisparent.gamedata.levelcreatedtower[0];
mcstatistics.score = thisparent.gamedata.levelscore;
mcstatistics.totalscore = thisparent.gamedata.totalscore;
mcstatistics.totaltakenoverspawn = thisparent.gamedata.totaltakenspawn[0];
mcstatistics.totallostspawn = thisparent.gamedata.totallostspawn[0];
mcstatistics.totalkilledunit = thisparent.gamedata.totaldeadunit[1];
mcstatistics.totalcreatedunit = thisparent.gamedata.totalcreatedunit[0];
mcstatistics.totallostunit = thisparent.gamedata.totaldeadunit[0];
mcstatistics.totalcreatedtower = thisparent.gamedata.totalcreatedtower[0];
mcstatistics.totallosttower = thisparent.gamedata.totaldestroyedtower[1];
mcstatistics.completedcampaign = thisparent.gamedata.getCompletedCampaign();
mcstatistics.totalcampaigntime = thisparent.gamedata.totalcampaigntime;
mcstatistics.totalgametime = thisparent.gamedata.totalgametime;
mcstatistics.wincount = thisparent.gamedata.wincount;
mcstatistics.lostcount = thisparent.gamedata.lostcount;
mcstatistics.playedlevel = thisparent.gamedata.getPlayedLevelCount();
mcstatistics.lockedlevel = thisparent.gamedata.getLockedLevelCount();
mcstatistics.unitlevel = thisparent.gamedata.upgradelevel;
}
}
}//package bugwar_fla
Section 49
//mctoprightwalkthrough_63 (bugwar_fla.mctoprightwalkthrough_63)
package bugwar_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mctoprightwalkthrough_63 extends MovieClip {
public var maintimeline;
public var bttoprightwalkthrough:SimpleButton;
public function mctoprightwalkthrough_63(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
maintimeline = stage.getChildAt(0);
bttoprightwalkthrough.addEventListener(MouseEvent.CLICK, goWalkthrough, false, 0, true);
}
public function goWalkthrough(_arg1=null){
maintimeline.goWalkthrough();
}
}
}//package bugwar_fla
Section 50
//AdLoader (AdLoader)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var contentspotid:String;
private var cpmstarLoader:Loader;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function addedHandler(_arg1:Event):void{
var _local2:String;
var _local3:DisplayObjectContainer;
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
_local2 = "http://server.cpmstar.com/adviewas3.swf";
_local3 = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
}
}//package
Section 51
//BaseObjectBase (BaseObjectBase)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class BaseObjectBase extends MovieClip {
public var counttxt:TextField;
public var nametxt:TextField;
public var basestatus;// = "idle"
public var targetbase;// = null
public var targetcount;// = 0
public var neighbour;
public var targetangle;// = 0
private var timer;// = 0
public var attack;
public var stagescene;
public var speed;
public var health;
public var typed;
public var mcattack:MovieClip;
public var team;// = 9
public var unitarray;
public var mcselectedbase:MovieClip;
private var unitcreatetime;// = 60
public var gamemgr;
public var unitarrayhealth;
public function BaseObjectBase(){
team = 9;
basestatus = "idle";
neighbour = new Array();
unitarray = new Array();
unitarrayhealth = new Array();
targetbase = null;
targetangle = 0;
targetcount = 0;
timer = 0;
unitcreatetime = 60;
super();
}
public function init(_arg1, _arg2=9){
var _local3:*;
stagescene = MovieClip(this.parent.parent);
gamemgr = MovieClip(this.parent.parent.parent);
setData(_arg1, _arg2);
unitarray.splice(0);
unitarrayhealth.splice(0);
if (team != 9){
_local3 = 0;
while (_local3 < (10 + Math.floor((10 * Math.random())))) {
addUnit();
_local3++;
};
} else {
_local3 = 0;
while (_local3 < (5 + Math.floor((5 * Math.random())))) {
addUnit();
_local3++;
};
};
showNote();
}
public function setData(_arg1, _arg2=9){
typed = _arg1;
team = _arg2;
unitcreatetime = gamemgr.gamedata.getUnitCreateTime(_arg1);
if (team == 9){
this.gotoAndStop(1);
} else {
switch (typed){
case "Larva 1":
case "Larva 2":
case "Larva 3":
if (team == 0){
this.gotoAndStop(2);
} else {
this.gotoAndStop(3);
};
break;
case "Ant 1":
case "Ant 2":
case "Ant 3":
this.gotoAndStop(4);
break;
case "Roach 1":
case "Roach 2":
case "Roach 3":
this.gotoAndStop(5);
break;
case "Beetle 1":
case "Beetle 2":
case "Beetle 3":
this.gotoAndStop(6);
break;
case "Hopper 1":
case "Hopper 2":
case "Hopper 3":
this.gotoAndStop(7);
break;
};
};
}
private function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (((Math.atan2(_local4, _local3) * 180) / Math.PI));
}
public function sendUnit(_arg1=0){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
if (((targetbase) && ((unitarray.length > 0)))){
_local6 = ((Math.random() * 10) - 5);
_local7 = new Point((this.x + (20 * Math.cos((((targetangle + _local6) * Math.PI) / 180)))), (this.y + (20 * Math.sin((((targetangle + _local6) * Math.PI) / 180)))));
_local3 = getClosestUnit(_local7);
if (((_local3) && ((_local3.team == team)))){
_local4 = getDistance(_local7, _local3);
_local5 = _local3.width;
} else {
_local4 = 100;
_local5 = 0;
};
if (_local4 > _local5){
switch (unitarray[_arg1]){
case "Larva 1":
if (team == 0){
_local2 = new mc_larva1();
} else {
_local2 = new mc_opponentlarva1();
};
break;
case "Larva 2":
if (team == 0){
_local2 = new mc_larva2();
} else {
_local2 = new mc_opponentlarva2();
};
break;
case "Larva 3":
if (team == 0){
_local2 = new mc_larva3();
} else {
_local2 = new mc_opponentlarva3();
};
break;
case "Ant 1":
_local2 = new mc_ant1();
break;
case "Ant 2":
_local2 = new mc_ant2();
break;
case "Ant 3":
_local2 = new mc_ant3();
break;
case "Roach 1":
_local2 = new mc_roach1();
break;
case "Roach 2":
_local2 = new mc_roach2();
break;
case "Roach 3":
_local2 = new mc_roach3();
break;
case "Beetle 1":
_local2 = new mc_beetle1();
break;
case "Beetle 2":
_local2 = new mc_beetle2();
break;
case "Beetle 3":
_local2 = new mc_beetle3();
break;
case "Hopper 1":
_local2 = new mc_hopper1();
break;
case "Hopper 2":
_local2 = new mc_hopper2();
break;
case "Hopper 3":
_local2 = new mc_hopper3();
break;
case "Queen":
_local2 = new mc_queen();
break;
};
_local2.init(gamemgr, team, unitarray[_arg1], unitarrayhealth[_arg1]);
_local2.sourcebase = this;
_local2.targetbase = targetbase;
_local2.stuckcounter = 0;
_local2.rotation = targetangle;
_local2.x = _local7.x;
_local2.y = _local7.y;
stagescene.addUnit(_local2);
unitarray.splice(_arg1, 1);
unitarrayhealth.splice(_arg1, 1);
targetcount--;
showNote();
};
};
}
public function getClosestUnit(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local2 = 0;
while (_local2 < stagescene.unitarray.length) {
_local5 = getDistance(_arg1, stagescene.unitarray[_local2]);
if (_local2 > 0){
if (_local4 > _local5){
_local4 = _local5;
_local3 = stagescene.unitarray[_local2];
};
} else {
_local4 = _local5;
_local3 = stagescene.unitarray[_local2];
};
_local2++;
};
return (_local3);
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
private function showNote(){
nametxt.text = typed;
counttxt.text = String(unitarray.length);
}
public function createUnit(){
var _local1:*;
var _local2:*;
_local2 = (Math.random() * 20);
if (unitarray.length < (10 + _local2)){
_local1 = unitcreatetime;
} else {
if (unitarray.length < (25 + _local2)){
_local1 = (unitcreatetime * 2);
} else {
if (unitarray.length < (50 + _local2)){
_local1 = (unitcreatetime * 3);
} else {
if (unitarray.length < (75 + _local2)){
_local1 = (unitcreatetime * 4);
} else {
if (unitarray.length < (100 + _local2)){
_local1 = (unitcreatetime * 5);
} else {
if (unitarray.length < (125 + _local2)){
_local1 = (unitcreatetime * 6);
} else {
if (unitarray.length < (150 + _local2)){
_local1 = (unitcreatetime * 7);
} else {
timer = 0;
};
};
};
};
};
};
};
if ((((((gamemgr.gamedata.selectedlevel == 9)) && (!((team == 0))))) && (!((unitarray.indexOf("Queen") == -1))))){
_local1 = (_local1 * 0.3);
};
if (team != 9){
timer = (timer + gamemgr.gamespeed);
};
if (timer > _local1){
timer = 0;
stagescene.gamedata.addCreatedUnit(team, typed);
addUnit();
};
}
public function setTarget(_arg1, _arg2=0.5){
var _local3:*;
var _local4:*;
_local4 = null;
if (((_arg1) && (!((this == _arg1))))){
if (neighbour.indexOf(_arg1) == -1){
_local3 = 0;
while (((!(_local4)) && ((_local3 < neighbour.length)))) {
if (neighbour[_local3].neighbour.indexOf(_arg1) > -1){
_local4 = neighbour[_local3];
};
_local3++;
};
if (((_local4) && ((_local4.team == team)))){
if (_local4.targetbase == this){
_local4.targetbase = null;
};
targetbase = _local4;
targetangle = (180 - getAngle(this, targetbase));
targetcount = (targetcount + Math.floor((unitarray.length * _arg2)));
if (targetcount > unitarray.length){
targetcount = (unitarray.length - 1);
};
};
} else {
if ((((_arg1.team == team)) && ((_arg1.targetbase == this)))){
_arg1.targetbase = null;
};
targetbase = _arg1;
targetangle = (180 - getAngle(this, targetbase));
targetcount = Math.floor((unitarray.length * _arg2));
if (targetcount > unitarray.length){
targetcount = (unitarray.length - 1);
};
};
} else {
targetbase = null;
};
}
public function moveClip(){
var _local1:*;
createUnit();
if (targetcount > 0){
basestatus = "attacking";
sendUnit();
} else {
if (basestatus == "attacking"){
basestatus = "idle";
};
};
if ((((gamemgr.gamedata.selectedlevel == 9)) && ((unitarray.indexOf("Queen") > -1)))){
_local1 = unitarray.indexOf("Queen");
if (unitarrayhealth[_local1] < gamemgr.gamedata.getUnitHealth("Queen")){
unitarrayhealth[_local1] = (unitarrayhealth[_local1] + (50 * gamemgr.gamespeed));
} else {
unitarrayhealth[_local1] = gamemgr.gamedata.getUnitHealth("Queen");
};
gamemgr.showQueenHealth((Math.floor(((unitarrayhealth[_local1] / gamemgr.gamedata.getUnitHealth("Queen")) * 100)) + 1));
};
}
public function addUnit(_arg1=null){
var _local2:*;
if (_arg1){
if (team == _arg1.team){
unitarray.push(_arg1.typed);
unitarrayhealth.push(_arg1.health);
basestatus = "idle";
} else {
while ((((_arg1.health > 0)) && ((unitarray.length > 0)))) {
if (_arg1.health < unitarrayhealth[0]){
if ((((team == 0)) || ((_arg1.team == 0)))){
gamemgr.gamedata.addDeadUnit(_arg1.team);
};
unitarrayhealth[0] = (unitarrayhealth[0] - _arg1.health);
_arg1.health = 0;
} else {
if ((((team == 0)) || ((_arg1.team == 0)))){
gamemgr.gamedata.addDeadUnit(team);
};
_arg1.health = (_arg1.health - unitarrayhealth[0]);
if ((((_arg1.health == 0)) && ((((team == 0)) || ((_arg1.team == 0)))))){
gamemgr.gamedata.addDeadUnit(_arg1.team);
};
unitarray.splice(0, 1);
unitarrayhealth.splice(0, 1);
};
};
if (_arg1.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_arg1.health / _arg1.maxhealth) * 100)) + 1));
} else {
if (unitarray[0] == "Queen"){
gamemgr.showQueenHealth((Math.floor(((unitarrayhealth[0] / gamemgr.gamedata.getUnitHealth("Queen")) * 100)) + 1));
};
};
if (_arg1.health > 0){
unitarray.splice(0);
unitarrayhealth.splice(0);
if (_arg1.team == 0){
stagescene.setBaseTeam(this, _arg1.team, gamemgr.gamedata.getPlayerUnitType(gamemgr.doneupgrade));
} else {
stagescene.setBaseTeam(this, _arg1.team, gamemgr.gamedata.getOpponentUnitType(gamemgr.gamedata.getPlayerUnitType(gamemgr.doneupgrade), _arg1.team));
};
if (_arg1.typed == "Queen"){
unitarray.push(_arg1.typed);
unitarrayhealth.push(_arg1.health);
} else {
unitarray.push(_arg1.typed);
unitarrayhealth.push(_arg1.health);
};
basestatus = "infiltrated";
} else {
basestatus = "attacked";
if (((!((team == 0))) && (!((team == 9))))){
if (_arg1.sourcebase.unitarray.length < unitarray.length){
setTarget(_arg1.sourcebase, (_arg1.sourcebase.unitarray.length / unitarray.length));
} else {
setTarget(_arg1.sourcebase, 0.9);
};
};
};
};
} else {
unitarray.push(typed);
unitarrayhealth.push(gamemgr.gamedata.getUnitHealth(typed));
};
showNote();
}
}
}//package
Section 52
//BaseSound (BaseSound)
package {
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public class BaseSound extends Sound {
private var sndTransform:SoundTransform;
public var sndPlaying:Boolean;
private var sndFadeOut:Boolean;
private var sndFadeIn:Boolean;
private var sndPosTime:Number;
private var loop:Boolean;
private var sndObj:Sound;
private var sndChannel:SoundChannel;
private var sndTimer:Timer;
private var sndVolume:Number;
private var sndPan:Number;
public function BaseSound(){
sndObj = this;
sndChannel = null;
sndTransform = null;
sndVolume = 1;
sndPan = 0;
sndPosTime = 0;
sndFadeIn = false;
sndFadeOut = false;
loop = false;
}
public function setVolume(_arg1:Number):void{
var _local2:SoundTransform;
sndVolume = _arg1;
if (sndChannel){
_local2 = sndChannel.soundTransform;
_local2.volume = sndVolume;
sndChannel.soundTransform = _local2;
};
}
public function stopSound():void{
if (sndChannel){
sndPlaying = false;
sndChannel.stop();
sndChannel.removeEventListener(Event.SOUND_COMPLETE, sound_loop);
loop = false;
};
}
public function fadeOut(_arg1:Boolean):void{
sndFadeOut = true;
sndFadeIn = false;
if (_arg1){
setVolume(1);
};
if (!sndTimer){
sndTimer = new Timer(50);
sndTimer.addEventListener(TimerEvent.TIMER, sndTimerHandler, false, 0, true);
sndTimer.start();
};
}
public function pauseSound():void{
if (sndChannel){
sndPlaying = false;
sndPosTime = sndChannel.position;
sndChannel.stop();
sndChannel.removeEventListener(Event.SOUND_COMPLETE, sound_loop);
};
}
public function playSound():void{
stopSound();
sndChannel = sndObj.play();
sndChannel.addEventListener(Event.SOUND_COMPLETE, sound_complete, false, 0, true);
setVolume(sndVolume);
setPan(sndPan);
sndPlaying = true;
}
public function fadeIn(_arg1:Boolean):void{
sndFadeIn = true;
sndFadeOut = false;
if (_arg1){
setVolume(0);
};
if (!sndTimer){
sndTimer = new Timer(50);
sndTimer.addEventListener(TimerEvent.TIMER, sndTimerHandler, false, 0, true);
sndTimer.start();
};
}
private function sndTimerHandler(_arg1:TimerEvent):void{
if (((sndFadeIn) && (sndFadeOut))){
sndFadeIn = false;
sndFadeOut = false;
setVolume(1);
};
if (sndFadeIn){
sndVolume = (sndVolume + 0.01);
if (sndVolume > 1){
setVolume(1);
sndFadeIn = false;
} else {
setVolume(sndVolume);
};
};
if (sndFadeOut){
sndVolume = (sndVolume - 0.01);
if (sndVolume < 0){
setVolume(0);
sndFadeOut = false;
} else {
setVolume(sndVolume);
};
};
}
public function setPan(_arg1:Number):void{
var _local2:SoundTransform;
sndPan = _arg1;
if (sndChannel){
_local2 = sndChannel.soundTransform;
_local2.pan = sndPan;
sndChannel.soundTransform = _local2;
};
}
public function resumeSound():void{
stopSound();
sndChannel = sndObj.play(sndPosTime);
if (loop){
sndChannel.addEventListener(Event.SOUND_COMPLETE, sound_loop, false, 0, true);
};
setVolume(sndVolume);
setPan(sndPan);
sndPlaying = true;
}
private function sound_complete(_arg1:Event){
sndChannel.removeEventListener(Event.SOUND_COMPLETE, sound_complete);
sndPlaying = false;
}
private function sound_loop(_arg1:Event){
sndChannel = sndObj.play();
setVolume(sndVolume);
setPan(sndPan);
sndPlaying = true;
sndChannel.addEventListener(Event.SOUND_COMPLETE, sound_loop, false, 0, true);
}
public function playSoundLoop():void{
stopSound();
sndChannel = sndObj.play();
sndChannel.addEventListener(Event.SOUND_COMPLETE, sound_loop, false, 0, true);
setVolume(sndVolume);
setPan(sndPan);
sndPlaying = true;
loop = true;
}
}
}//package
Section 53
//bd_scene_lv1 (bd_scene_lv1)
package {
import flash.display.*;
public dynamic class bd_scene_lv1 extends BitmapData {
public function bd_scene_lv1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 54
//bd_scene_lv2 (bd_scene_lv2)
package {
import flash.display.*;
public dynamic class bd_scene_lv2 extends BitmapData {
public function bd_scene_lv2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 55
//bd_scene_lv3 (bd_scene_lv3)
package {
import flash.display.*;
public dynamic class bd_scene_lv3 extends BitmapData {
public function bd_scene_lv3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 56
//bd_scene_lv4 (bd_scene_lv4)
package {
import flash.display.*;
public dynamic class bd_scene_lv4 extends BitmapData {
public function bd_scene_lv4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 57
//bd_scene_lv5 (bd_scene_lv5)
package {
import flash.display.*;
public dynamic class bd_scene_lv5 extends BitmapData {
public function bd_scene_lv5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 58
//bd_scene_lv6 (bd_scene_lv6)
package {
import flash.display.*;
public dynamic class bd_scene_lv6 extends BitmapData {
public function bd_scene_lv6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 59
//bd_scene_lv7 (bd_scene_lv7)
package {
import flash.display.*;
public dynamic class bd_scene_lv7 extends BitmapData {
public function bd_scene_lv7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 60
//bd_scene_lv8 (bd_scene_lv8)
package {
import flash.display.*;
public dynamic class bd_scene_lv8 extends BitmapData {
public function bd_scene_lv8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 61
//bgm_ambience (bgm_ambience)
package {
public dynamic class bgm_ambience extends BaseSound {
}
}//package
Section 62
//bgm_cover (bgm_cover)
package {
public dynamic class bgm_cover extends BaseSound {
}
}//package
Section 63
//BloodShed1 (BloodShed1)
package {
import flash.display.*;
public dynamic class BloodShed1 extends BitmapData {
public function BloodShed1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 64
//BloodShed2 (BloodShed2)
package {
import flash.display.*;
public dynamic class BloodShed2 extends BitmapData {
public function BloodShed2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 65
//BloodShed3 (BloodShed3)
package {
import flash.display.*;
public dynamic class BloodShed3 extends BitmapData {
public function BloodShed3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 66
//BloodShed4 (BloodShed4)
package {
import flash.display.*;
public dynamic class BloodShed4 extends BitmapData {
public function BloodShed4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 67
//BloodShed5 (BloodShed5)
package {
import flash.display.*;
public dynamic class BloodShed5 extends BitmapData {
public function BloodShed5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 68
//BloodShed6 (BloodShed6)
package {
import flash.display.*;
public dynamic class BloodShed6 extends BitmapData {
public function BloodShed6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 69
//bubblebox_score (bubblebox_score)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.filters.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
public dynamic class bubblebox_score extends MovieClip {
public var loader:URLLoader;
public var loadingStatus:String;
public var hexChars:String;
public var score:Number;
public var gameID:Number;
public var insertname:TextField;
public function bubblebox_score(){
addFrameScript(0, frame1);
}
public function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function hash(_arg1:String):String{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
public function removeListeners():void{
loader.removeEventListener(Event.COMPLETE, completeHandler);
loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
public function clicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:URLVariables;
var _local7:URLRequest;
if (loadingStatus == "insertName"){
if (((((!((_arg1.target.name == "insertName"))) && (!((this.insertname.text == "YOUR NAME"))))) && ((this.insertname.text.length > 0)))){
_local2 = this.insertname.text;
_local3 = ((((gameID + "_") + score) + "_") + _local2);
_local4 = ((((((((((gameID + "_") + "4234232143214421") + "_") + score) + "_") + "2537625476251") + "_") + _local2) + "_") + "desleutelistessa");
_local5 = hash(_local4);
_local6 = new URLVariables();
_local6.datastring = _local3;
_local6.hashstring = _local5;
_local7 = new URLRequest("http://www.bubblebox.com/scripts/insertscore2008.php");
_local7.data = _local6;
_local7.method = URLRequestMethod.POST;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, completeHandler, false, 0, true);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
loader.load(_local7);
this.gotoAndStop(2);
loadingStatus = "sending";
};
} else {
if (loadingStatus == "sending"){
} else {
if (loadingStatus == "completed"){
navigateToURL(new URLRequest((("http://www.bubblebox.com/highscores/" + gameID) + ".htm")), "_blank");
} else {
if (loadingStatus == "failed"){
loadingStatus = "insertName";
this.gotoAndStop(1);
};
};
};
};
}
public function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function failed():void{
loadingStatus = "failed";
removeListeners();
this.gotoAndStop(4);
}
public function setScore(_arg1:Number, _arg2:Number):void{
score = _arg1;
gameID = _arg2;
}
public function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
public function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
function frame1(){
hexChars = "0123456789abcdef";
this.stage.focus = this.insertname;
this.insertname.setSelection(0, this.insertname.text.length);
loader = new URLLoader();
loadingStatus = "insertName";
this.addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
stop();
}
public function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
public function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
public function ioErrorHandler(_arg1:IOErrorEvent):void{
trace("ioError");
failed();
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
trace("securityError");
failed();
}
public function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public function createBlocks(_arg1:ByteArray):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
public function hashBinary(_arg1:ByteArray):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((toHex(_local2) + toHex(_local3)) + toHex(_local4)) + toHex(_local5)));
}
public function tr(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((rol(_local9, _arg7) + _arg3));
}
public function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public function completeHandler(_arg1:Event):void{
loadingStatus = "completed";
removeListeners();
this.gotoAndStop(3);
}
public function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (tr(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package
Section 70
//BulletObjectBase (BulletObjectBase)
package {
import flash.display.*;
public class BulletObjectBase extends MovieClip {
public var attackspeedfactor;
public var ddist;
public var attack;
public var totaldistance;
public var stagescene;
public var typed;
public var team;
public var dy;
public var dr;
public var dx;
public var gamemgr;
public function init(_arg1, _arg2, _arg3, _arg4){
stagescene = this.parent;
gamemgr = stagescene.gamemgr;
typed = _arg1;
team = _arg2;
switch (typed){
case 1:
dr = 0;
attack = (_arg3 / 2);
attackspeedfactor = 1;
break;
case 2:
dr = 15;
attack = (_arg3 / 4);
attackspeedfactor = 1;
break;
case 3:
dr = 0;
attack = (_arg3 / 10);
attackspeedfactor = 0.6;
break;
};
totaldistance = 0;
dx = (5 * Math.cos(((this.rotation * Math.PI) / 180)));
dy = (5 * Math.sin(((this.rotation * Math.PI) / 180)));
ddist = 5;
}
public function moveClip(){
this.x = (this.x + (dx * gamemgr.gamespeed));
this.y = (this.y + (dy * gamemgr.gamespeed));
this.rotation = (this.rotation + dr);
totaldistance = (totaldistance + (ddist * gamemgr.gamespeed));
if (totaldistance > 75){
this.gotoAndStop(2);
};
}
}
}//package
Section 71
//ColorMatrix (ColorMatrix)
package {
public dynamic class ColorMatrix extends Array {
private static const IDENTITY_MATRIX:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
private static const LENGTH:Number = IDENTITY_MATRIX.length;
private static const DELTA_INDEX:Array = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10];
public function ColorMatrix(_arg1:Array=null){
_arg1 = fixMatrix(_arg1);
copyMatrix(((_arg1.length)==LENGTH) ? _arg1 : IDENTITY_MATRIX);
}
public function adjustBrightness(_arg1:Number):void{
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
multiplyMatrix([1, 0, 0, 0, _arg1, 0, 1, 0, 0, _arg1, 0, 0, 1, 0, _arg1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
protected function multiplyMatrix(_arg1:Array):void{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:Number;
var _local6:Number;
_local2 = [];
_local3 = 0;
while (_local3 < 5) {
_local4 = 0;
while (_local4 < 5) {
_local2[_local4] = this[(_local4 + (_local3 * 5))];
_local4++;
};
_local4 = 0;
while (_local4 < 5) {
_local5 = 0;
_local6 = 0;
while (_local6 < 5) {
_local5 = (_local5 + (_arg1[(_local4 + (_local6 * 5))] * _local2[_local6]));
_local6++;
};
this[(_local4 + (_local3 * 5))] = _local5;
_local4++;
};
_local3++;
};
}
public function adjustSaturation(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
_local2 = (1 + ((_arg1)>0) ? ((3 * _arg1) / 100) : (_arg1 / 100));
_local3 = 0.3086;
_local4 = 0.6094;
_local5 = 0.082;
multiplyMatrix([((_local3 * (1 - _local2)) + _local2), (_local4 * (1 - _local2)), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), ((_local4 * (1 - _local2)) + _local2), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), (_local4 * (1 - _local2)), ((_local5 * (1 - _local2)) + _local2), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function reset():void{
var _local1:uint;
_local1 = 0;
while (_local1 < LENGTH) {
this[_local1] = IDENTITY_MATRIX[_local1];
_local1++;
};
}
public function adjustColor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
adjustHue(_arg4);
adjustContrast(_arg2);
adjustBrightness(_arg1);
adjustSaturation(_arg3);
}
public function clone():ColorMatrix{
return (new ColorMatrix(this));
}
public function toArray():Array{
return (slice(0, 20));
}
protected function cleanValue(_arg1:Number, _arg2:Number):Number{
return (Math.min(_arg2, Math.max(-(_arg2), _arg1)));
}
public function adjustHue(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_arg1 = ((cleanValue(_arg1, 180) / 180) * Math.PI);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
_local2 = Math.cos(_arg1);
_local3 = Math.sin(_arg1);
_local4 = 0.213;
_local5 = 0.715;
_local6 = 0.072;
multiplyMatrix([((_local4 + (_local2 * (1 - _local4))) + (_local3 * -(_local4))), ((_local5 + (_local2 * -(_local5))) + (_local3 * -(_local5))), ((_local6 + (_local2 * -(_local6))) + (_local3 * (1 - _local6))), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * 0.143)), ((_local5 + (_local2 * (1 - _local5))) + (_local3 * 0.14)), ((_local6 + (_local2 * -(_local6))) + (_local3 * -0.283)), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * -((1 - _local4)))), ((_local5 + (_local2 * -(_local5))) + (_local3 * _local5)), ((_local6 + (_local2 * (1 - _local6))) + (_local3 * _local6)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function concat(_arg1:Array):void{
_arg1 = fixMatrix(_arg1);
if (_arg1.length != LENGTH){
return;
};
multiplyMatrix(_arg1);
}
protected function copyMatrix(_arg1:Array):void{
var _local2:Number;
var _local3:uint;
_local2 = LENGTH;
_local3 = 0;
while (_local3 < _local2) {
this[_local3] = _arg1[_local3];
_local3++;
};
}
protected function fixMatrix(_arg1:Array=null):Array{
if (_arg1 == null){
return (IDENTITY_MATRIX);
};
if ((_arg1 is ColorMatrix)){
_arg1 = _arg1.slice(0);
};
if (_arg1.length < LENGTH){
_arg1 = _arg1.slice(0, _arg1.length).concat(IDENTITY_MATRIX.slice(_arg1.length, LENGTH));
} else {
if (_arg1.length > LENGTH){
_arg1 = _arg1.slice(0, LENGTH);
};
};
return (_arg1);
}
public function adjustContrast(_arg1:Number):void{
var _local2:Number;
_arg1 = cleanValue(_arg1, 100);
if ((((_arg1 == 0)) || (isNaN(_arg1)))){
return;
};
if (_arg1 < 0){
_local2 = (127 + ((_arg1 / 100) * 127));
} else {
_local2 = (_arg1 % 1);
if (_local2 == 0){
_local2 = DELTA_INDEX[_arg1];
} else {
_local2 = ((DELTA_INDEX[(_arg1 << 0)] * (1 - _local2)) + (DELTA_INDEX[((_arg1 << 0) + 1)] * _local2));
};
_local2 = ((_local2 * 127) + 127);
};
multiplyMatrix([(_local2 / 127), 0, 0, 0, (0.5 * (127 - _local2)), 0, (_local2 / 127), 0, 0, (0.5 * (127 - _local2)), 0, 0, (_local2 / 127), 0, (0.5 * (127 - _local2)), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function toString():String{
return ((("ColorMatrix [ " + this.join(" , ")) + " ]"));
}
}
}//package
Section 72
//ComputerManager (ComputerManager)
package {
import flash.display.*;
import flash.geom.*;
public class ComputerManager {
public var gamedata;
public var gamemgr;
public var typed;
public var stagescene;
public var team;
public function ComputerManager(_arg1, _arg2, _arg3="Larva 1"){
team = _arg2;
typed = _arg3;
gamemgr = _arg1;
gamedata = gamemgr.gamedata;
stagescene = gamemgr.stagescene;
}
private function detectWeakestEnemyNeighbour(_arg1):MovieClip{
var _local2:*;
var _local3:*;
_local3 = null;
_local2 = 0;
while (_local2 < _arg1.neighbour.length) {
if (_arg1.neighbour[_local2].team != team){
if (_local3){
if (_local3.unitarray.length > _arg1.neighbour[_local2].unitarray.length){
_local3 = _arg1.neighbour[_local2];
};
} else {
_local3 = _arg1.neighbour[_local2];
};
};
_local2++;
};
return (_local3);
}
private function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return ((180 - ((Math.atan2(_local4, _local3) * 180) / Math.PI)));
}
public function moveClip(){
var _local1:*;
_local1 = 0;
while (_local1 < stagescene.basearrayteam[team].length) {
analyzeBaseCondition(stagescene.basearrayteam[team][_local1]);
_local1++;
};
}
private function detectWeakestAlliedNeighbour(_arg1):MovieClip{
var _local2:*;
var _local3:*;
_local3 = null;
_local2 = 0;
while (_local2 < _arg1.neighbour.length) {
if (_arg1.neighbour[_local2].team == team){
if (_local3){
if (_local3.unitarray.length > _arg1.neighbour[_local2].unitarray.length){
_local3 = _arg1.neighbour[_local2];
};
} else {
_local3 = _arg1.neighbour[_local2];
};
};
_local2++;
};
return (_local3);
}
private function detectStrongestEnemyNeighbour(_arg1):MovieClip{
var _local2:*;
var _local3:*;
_local3 = null;
_local2 = 0;
while (_local2 < _arg1.neighbour.length) {
if (_arg1.neighbour[_local2].team != team){
if (_local3){
if (_local3.unitarray.length < _arg1.neighbour[_local2].unitarray.length){
_local3 = _arg1.neighbour[_local2];
};
} else {
_local3 = _arg1.neighbour[_local2];
};
};
_local2++;
};
return (_local3);
}
private function detectThreatenedAlliedNeighbour(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local4 = null;
_local5 = null;
_local2 = 0;
while (_local2 < _arg1.neighbour.length) {
_local5 = detectStrongestEnemyNeighbour(_arg1.neighbour[_local2]);
if (_local5){
if (!_local3){
_local3 = _arg1.neighbour[_local2];
_local4 = _local5;
} else {
if (_local4.unitarray.length < _local5.unitarray.length){
_local3 = _arg1.neighbour[_local2];
_local4 = _local5;
};
};
};
_local2++;
};
if (((_local3) && ((_local3.unitarray.length < ((_local4.unitarray.length * 2) / 3))))){
return (_local3);
};
return (null);
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
private function detectStrongestAlliedNeighbour(_arg1):MovieClip{
var _local2:*;
var _local3:*;
_local3 = null;
_local2 = 0;
while (_local2 < _arg1.neighbour.length) {
if (_arg1.neighbour[_local2].team == team){
if (_local3){
if (_local3.unitarray.length < _arg1.neighbour[_local2].unitarray.length){
_local3 = _arg1.neighbour[_local2];
};
} else {
_local3 = _arg1.neighbour[_local2];
};
};
_local2++;
};
return (_local3);
}
private function analyzeBaseCondition(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = null;
_local4 = Math.random();
_local3 = detectStrongestEnemyNeighbour(_arg1);
if (_local3){
if ((((((_local4 < 0.01)) && ((gamedata.selectedlevel > 1)))) && ((_local3.unitarray.length > _arg1.unitarray.length)))){
if (_arg1.unitarray.length > 100){
_local5 = getNewTower(_arg1, _local3, 3);
if (_local5){
stagescene.createTower(_local5.typed, new Point(_local5.x, _local5.y), team);
stagescene.reduceUnits(_arg1, 75);
};
} else {
if (_arg1.unitarray.length > 75){
_local5 = getNewTower(_arg1, _local3, 2);
if (_local5){
stagescene.createTower(_local5.typed, new Point(_local5.x, _local5.y), team);
stagescene.reduceUnits(_arg1, 50);
};
} else {
if (_arg1.unitarray.length > 50){
_local5 = getNewTower(_arg1, _local3, 1);
if (_local5){
stagescene.createTower(_local5.typed, new Point(_local5.x, _local5.y), team);
stagescene.reduceUnits(_arg1, 25);
};
};
};
};
} else {
if ((((_local4 < 0.02)) || ((_arg1.unitarray.length > 100)))){
if (_local3.unitarray.length < (_arg1.unitarray.length / 2)){
_local3 = detectWeakestEnemyNeighbour(_arg1);
_arg1.setTarget(_local3, ((_local3.unitarray.length / _arg1.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 1)) && ((_local4 < 0.05)))){
if (_local3.unitarray.length < (_arg1.unitarray.length / 2)){
_local3 = detectWeakestEnemyNeighbour(_arg1);
_arg1.setTarget(_local3, ((_local3.unitarray.length / _arg1.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 2)) && ((_local4 < 0.06)))){
if (_local3.unitarray.length < ((_arg1.unitarray.length * 3) / 4)){
_local3 = detectWeakestEnemyNeighbour(_arg1);
_arg1.setTarget(_local3, ((_local3.unitarray.length / _arg1.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 4)) && ((_local4 < 0.07)))){
if (_local3.unitarray.length < _arg1.unitarray.length){
_local3 = detectWeakestEnemyNeighbour(_arg1);
_arg1.setTarget(_local3, ((_local3.unitarray.length / _arg1.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 6)) && ((_local4 < 0.08)))){
if (_local3.unitarray.length < (_arg1.unitarray.length * 1.1)){
_local3 = detectWeakestEnemyNeighbour(_arg1);
_arg1.setTarget(_local3, 0.1);
};
};
};
};
};
};
};
} else {
if ((((_local4 < 0.01)) || ((_arg1.unitarray.length > 100)))){
_local3 = detectThreatenedAlliedNeighbour(_arg1);
if ((((gamedata.selectedlevel > 4)) && (_local3))){
_arg1.setTarget(_local3);
} else {
if ((((gamedata.selectedlevel > 2)) && ((_local4 < 0.005)))){
_local3 = detectWeakestAlliedNeighbour(_arg1);
if (_local3.unitarray.length < _arg1.unitarray.length){
_arg1.setTarget(_local3, (((_arg1.unitarray.length - _local3.unitarray.length) / _arg1.unitarray.length) + 0.1));
};
};
};
};
};
}
private function getNewTower(_arg1, _arg2, _arg3):MovieClip{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local6 = stagescene.getAllyTowerInRange(_arg1, team);
if (_local6.length < 2){
switch (_arg3){
case 1:
_local7 = new mc_tower1();
break;
case 2:
_local7 = new mc_tower2();
break;
case 3:
_local7 = new mc_tower3();
break;
};
_local7.init(gamemgr, _arg3, _arg1.team, _arg1.typed);
_local4 = getAngle(_arg1, _arg2);
if (Math.random() > 0.5){
_local5 = (_local4 + 30);
} else {
_local5 = (_local4 - 30);
};
_local7.x = (_arg1.x + (50 * Math.cos(((_local5 * Math.PI) / 180))));
_local7.y = (_arg1.y + (50 * Math.sin(((_local5 * Math.PI) / 180))));
if (_local6.length > 0){
if (getDistance(_local7, _local6[0]) < 30){
if (_local5 < _local4){
_local5 = (_local5 + 60);
} else {
_local5 = (_local5 - 60);
};
_local7.x = (_arg1.x + (50 * Math.cos(((_local5 * Math.PI) / 180))));
_local7.y = (_arg1.y + (50 * Math.sin(((_local5 * Math.PI) / 180))));
};
};
if (gamemgr.checkOnRoad(_local7, true)){
_local7 = null;
};
} else {
_local7 = null;
};
return (_local7);
}
}
}//package
Section 73
//ControlManager (ControlManager)
package {
import flash.events.*;
import flash.geom.*;
import flash.ui.*;
public class ControlManager {
public var mousepress;// = false
private var thisparent;
private var refreshtimer;// = 0
public var mousescrollup;// = false
public var mousescrolldown;// = false
public var mousepos;
public var zoomout;// = false
public var scrollleft;// = false
public var controlbutton;// = false
public var scrollup;// = false
public var shiftbutton;// = false
public var scrolldown;// = false
public var zoomin;// = false
public var scrollright;// = false
public function ControlManager(_arg1){
mousepos = new Point(320, 240);
mousepress = false;
mousescrollup = false;
mousescrolldown = false;
scrollup = false;
scrolldown = false;
scrollleft = false;
scrollright = false;
zoomin = false;
zoomout = false;
shiftbutton = false;
controlbutton = false;
refreshtimer = 0;
super();
thisparent = _arg1;
}
public function startListeners(){
thisparent.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, false, 0, true);
thisparent.stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler, false, 0, true);
thisparent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler, false, 0, true);
thisparent.stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler, false, 0, true);
thisparent.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
thisparent.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, false, 0, true);
}
private function mouseUpHandler(_arg1){
mousepress = false;
}
private function mouseMoveHandler(_arg1){
mousepos.x = _arg1.stageX;
mousepos.y = _arg1.stageY;
shiftbutton = _arg1.shiftKey;
controlbutton = _arg1.ctrlKey;
}
public function moveClip(){
refreshStatus();
}
public function stopListeners(){
thisparent.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
thisparent.stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
thisparent.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
thisparent.stage.removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
thisparent.stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
thisparent.stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function keyUpHandler(_arg1){
if (thisparent.gamestatus == "playing"){
switch (_arg1.keyCode){
case 81:
zoomin = false;
break;
case 69:
zoomout = false;
break;
case Keyboard.CONTROL:
controlbutton = false;
break;
case 87:
case Keyboard.UP:
scrollup = false;
break;
case 83:
case Keyboard.DOWN:
scrolldown = false;
break;
case 65:
case Keyboard.LEFT:
scrollleft = false;
break;
case 68:
case Keyboard.RIGHT:
scrollright = false;
break;
case 90:
thisparent.createTower1();
break;
case 88:
thisparent.createTower2();
break;
case 67:
thisparent.createTower3();
break;
case Keyboard.ESCAPE:
case 80:
thisparent.cancelTowerCreator();
thisparent.pauseClip();
break;
};
} else {
if (thisparent.gamestatus == "paused"){
switch (_arg1.keyCode){
case 81:
zoomin = false;
break;
case 69:
zoomout = false;
break;
case 87:
case Keyboard.UP:
scrollup = false;
break;
case 83:
case Keyboard.DOWN:
scrolldown = false;
break;
case 65:
case Keyboard.LEFT:
scrollleft = false;
break;
case 68:
case Keyboard.RIGHT:
scrollright = false;
break;
case Keyboard.ESCAPE:
case 80:
thisparent.pauseClip();
break;
};
};
};
}
private function keyDownHandler(_arg1){
if (thisparent.gamestatus == "playing"){
switch (_arg1.keyCode){
case 81:
zoomin = true;
zoomout = false;
break;
case 69:
zoomin = false;
zoomout = true;
break;
case Keyboard.CONTROL:
controlbutton = true;
break;
case 87:
case Keyboard.UP:
scrollup = true;
break;
case 83:
case Keyboard.DOWN:
scrolldown = true;
break;
case 65:
if (controlbutton){
thisparent.selectAllBase();
};
case Keyboard.LEFT:
scrollleft = true;
break;
case 68:
case Keyboard.RIGHT:
scrollright = true;
break;
};
};
}
public function refreshStatus(){
refreshtimer++;
if (refreshtimer > 60){
refreshtimer = 0;
scrollup = false;
scrolldown = false;
scrollleft = false;
scrollright = false;
zoomin = false;
zoomout = false;
shiftbutton = false;
controlbutton = false;
};
}
public function pauseListeners(){
thisparent.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
thisparent.stage.removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
thisparent.stagescene.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
thisparent.stagescene.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
private function mouseDownHandler(_arg1){
mousepress = true;
}
private function mouseWheelHandler(_arg1){
if (_arg1.delta > 0){
mousescrollup = true;
mousescrolldown = false;
} else {
if (_arg1.delta < 0){
mousescrollup = false;
mousescrolldown = true;
};
};
}
}
}//package
Section 74
//DataManager (DataManager)
package {
import flash.net.*;
public class DataManager {
public var totalgametime;// = 0
public var totallostspawn;
public var leveldestroyedtower;
public var totalcampaigntime;// = 0
public var totaldeadunit;
public var campaigncompleted;// = 0
public var teamlevel;
public var unitcreatetime;
public var towertime;
public var totaltakenspawn;
public var totalcreatedtower;
public var levelcreatedunit;
public var lostcount;// = 0
public var leveldeadunit;
public var selectedupgrades;
public var baseneighbour;
public var totalkilledunittype;
public var unlockedlevel;
public var levelscore;// = 0
public var playedlevel;
public var savelabel;// = "__bugwar__"
public var leveltakenspawn;
public var levelcreatedtower;
public var totalcreatedunit;
public var wincount;// = 0
public var unitmaxattack;
public var unitmaxhealth;
public var towermaxattack;
public var bonuslevel;// = "locked"
public var thisparent;
public var totalscore;// = 0
public var selectedlevel;// = 1
public var teamcount;
public var levellostspawn;
public var totaldestroyedtower;
public var basecount;
public var towerprice;
public var achievementstatus;
public var totalcreatedunittype;
public var unitmaxspeed;
public var upgradelevel;// = 0
public function DataManager(_arg1){
savelabel = "__bugwar__";
selectedlevel = 1;
playedlevel = [false, false, false, false, false, false, false, false, false];
unlockedlevel = [true, false, false, false, false, false, false, false, false];
upgradelevel = 0;
selectedupgrades = [0, 0, 0, 0, 0];
achievementstatus = ["locked", "locked", "locked", "locked", "locked", "locked"];
bonuslevel = "locked";
campaigncompleted = 0;
totalcampaigntime = 0;
totalgametime = 0;
wincount = 0;
lostcount = 0;
levelcreatedunit = [0, 0];
leveldeadunit = [0, 0];
levelcreatedtower = [0, 0];
leveldestroyedtower = [0, 0];
leveltakenspawn = [0, 0];
levellostspawn = [0, 0];
levelscore = 0;
totalcreatedunit = [0, 0];
totaldeadunit = [0, 0];
totalcreatedtower = [0, 0];
totaldestroyedtower = [0, 0];
totaltakenspawn = [0, 0];
totallostspawn = [0, 0];
totalscore = 0;
totalcreatedunittype = [0, 0, 0, 0, 0];
totalkilledunittype = [0, 0, 0, 0, 0, 0];
unitmaxspeed = [2, 2.4, 2.8, 4, 4.8, 5.6, 3, 3.6, 4.2, 1.5, 1.8, 2.1, 4, 4.8, 5.6, 0.35];
unitmaxhealth = [10, 12, 14, 20, 24, 28, 40, 48, 56, 50, 60, 70, 30, 36, 42, 8999];
unitmaxattack = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8];
unitcreatetime = [30, 30, 30, 35, 35, 35, 60, 60, 60, 65, 65, 65, 45, 45, 45, 0];
towermaxattack = [9, 9, 9];
towerprice = [25, 50, 75];
towertime = [180, 240, 360];
teamcount = [2, 2, 2, 2, 2, 3, 3, 3, 2];
teamlevel = [1, 2, 3, 4, 4, 5, 5, 6, 6];
basecount = [9, 9, 9, 9, 9, 9, 9, 9, 9];
baseneighbour = [[[4, 8], [3, 6], [2, 7], [1, 7], [8, 9], [2, 9], [3, 4], [1, 5], [5, 6]], [[3, 4, 5], [7, 8, 9], [1, 4], [1, 3, 6], [1, 7], [4, 8], [2, 5], [2, 6, 9], [2, 8]], [[3, 4, 5], [7, 8, 9], [1, 9], [1, 6, 8], [1, 7], [4, 8], [2, 5], [2, 4, 6], [2, 3]], [[4, 5], [8, 9], [6, 7, 8, 9], [1, 6], [1, 7], [3, 4], [3, 5, 9], [2, 3], [2, 3, 7]], [[6, 9], [7, 4], [5, 6, 7, 8], [2, 5], [6, 4, 3], [3, 5, 1], [2, 8, 3], [7, 9, 3], [1, 8]], [[4, 5], [8, 9], [6, 7, 8, 9], [1, 6], [1, 7], [3, 4], [3, 5], [2, 3], [2, 3]], [[4, 5], [6, 7], [8, 9], [1, 9], [1, 7], [2, 8], [2, 5], [3, 6], [3, 4]], [[2, 7], [1, 5], [4, 9], [3, 6], [2, 8, 7], [4, 8, 9], [1, 5], [5, 6, 9], [3, 6, 8]]];
super();
thisparent = _arg1;
loadData();
}
public function getLockedLevelCount():int{
var _local1:*;
var _local2:*;
_local2 = 0;
_local1 = 0;
while (_local1 < unlockedlevel.length) {
if (unlockedlevel[_local1]){
_local2++;
};
_local1++;
};
return (((unlockedlevel.length - _local2) - 1));
}
public function doUpgrade(_arg1){
switch (selectedlevel){
case 1:
selectedupgrades[0] = _arg1;
break;
case 2:
selectedupgrades[1] = _arg1;
break;
case 3:
selectedupgrades[2] = _arg1;
break;
case 5:
selectedupgrades[3] = _arg1;
break;
case 7:
selectedupgrades[4] = _arg1;
break;
};
if (upgradelevel < 5){
upgradelevel++;
};
}
public function addLostSpawn(_arg1){
if (_arg1 == 0){
var _local2 = levellostspawn;
var _local3:int;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
_local2 = levellostspawn;
_local3 = 1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
};
}
public function getTower2Status():String{
return ("enabled");
}
public function addKilledUnit(_arg1="Larva 1"){
switch (_arg1){
case "Larva 1":
case "Larva 2":
case "Larva 3":
var _local2 = totalkilledunittype;
var _local3:int;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
case "Ant 1":
case "Ant 2":
case "Ant 3":
_local2 = totalkilledunittype;
_local3 = 1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
case "Roach 1":
case "Roach 2":
case "Roach 3":
_local2 = totalkilledunittype;
_local3 = 2;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
case "Beetle 1":
case "Beetle 2":
case "Beetle 3":
_local2 = totalkilledunittype;
_local3 = 3;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
case "Hopper 1":
case "Hopper 2":
case "Hopper 3":
_local2 = totalkilledunittype;
_local3 = 4;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
case "Queen":
_local2 = totalkilledunittype;
_local3 = 5;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
break;
};
}
public function addCreatedUnit(_arg1, _arg2="Larva 1"){
if (_arg1 == 0){
var _local3 = levelcreatedunit;
var _local4:int;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
switch (_arg2){
case "Larva 1":
case "Larva 2":
case "Larva 3":
_local3 = totalcreatedunittype;
_local4 = 0;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
break;
case "Ant 1":
case "Ant 2":
case "Ant 3":
_local3 = totalcreatedunittype;
_local4 = 1;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
break;
case "Roach 1":
case "Roach 2":
case "Roach 3":
_local3 = totalcreatedunittype;
_local4 = 2;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
break;
case "Beetle 1":
case "Beetle 2":
case "Beetle 3":
_local3 = totalcreatedunittype;
_local4 = 3;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
break;
case "Hopper 1":
case "Hopper 2":
case "Hopper 3":
_local3 = totalcreatedunittype;
_local4 = 4;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
break;
};
} else {
_local3 = levelcreatedunit;
_local4 = 1;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
}
public function addCreatedTower(_arg1){
if (_arg1 == 0){
var _local2 = levelcreatedtower;
var _local3:int;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
_local2 = levelcreatedtower;
_local3 = 1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
};
}
public function getTower3Status():String{
return ("enabled");
}
public function getUnitSpeed(_arg1):Number{
var _local2:*;
switch (_arg1){
case "Larva 1":
_local2 = ((unitmaxspeed[0] - 1) + Math.random());
break;
case "Larva 2":
_local2 = (((selectedupgrades[0]) ? unitmaxspeed[0] : unitmaxspeed[1] - 1) + Math.random());
break;
case "Larva 3":
_local2 = (((((selectedupgrades[0]) && (selectedupgrades[1]))) ? (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxspeed[1] : unitmaxspeed[2] : unitmaxspeed[0] - 1) + Math.random());
break;
case "Ant 1":
_local2 = ((unitmaxspeed[3] - 1) + Math.random());
break;
case "Ant 2":
_local2 = (((selectedupgrades[3]) ? unitmaxspeed[3] : unitmaxspeed[4] - 1) + Math.random());
break;
case "Ant 3":
_local2 = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[4] : unitmaxspeed[5] : unitmaxspeed[3] - 1) + Math.random());
break;
case "Roach 1":
_local2 = ((unitmaxspeed[6] - 1) + Math.random());
break;
case "Roach 2":
_local2 = (((selectedupgrades[3]) ? unitmaxspeed[6] : unitmaxspeed[7] - 1) + Math.random());
break;
case "Roach 3":
_local2 = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[7] : unitmaxspeed[8] : unitmaxspeed[6] - 1) + Math.random());
break;
case "Beetle 1":
_local2 = ((unitmaxspeed[9] - 1) + Math.random());
break;
case "Beetle 2":
_local2 = (((selectedupgrades[3]) ? unitmaxspeed[9] : unitmaxspeed[10] - 1) + Math.random());
break;
case "Beetle 3":
_local2 = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[10] : unitmaxspeed[11] : unitmaxspeed[9] - 1) + Math.random());
break;
case "Hopper 1":
_local2 = ((unitmaxspeed[12] - 1) + Math.random());
break;
case "Hopper 2":
_local2 = (((selectedupgrades[3]) ? unitmaxspeed[12] : unitmaxspeed[13] - 1) + Math.random());
break;
case "Hopper 3":
_local2 = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[13] : unitmaxspeed[14] : unitmaxspeed[12] - 1) + Math.random());
break;
case "Queen":
_local2 = unitmaxspeed[15];
break;
};
return (_local2);
}
public function addDestroyedTower(_arg1){
if (_arg1 == 0){
var _local2 = leveldestroyedtower;
var _local3:int;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
_local2 = leveldestroyedtower;
_local3 = 1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
};
}
public function addTakenSpawn(_arg1){
if (_arg1 == 0){
var _local2 = leveltakenspawn;
var _local3:int;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
_local2 = leveltakenspawn;
_local3 = 1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
};
}
public function getTowerAttack(_arg1):Number{
return (towermaxattack[(_arg1 - 1)]);
}
public function getUnitCreateTime(_arg1):Number{
var _local2:*;
switch (_arg1){
case "Larva 1":
_local2 = unitcreatetime[0];
break;
case "Larva 2":
_local2 = unitcreatetime[1];
break;
case "Larva 3":
_local2 = unitcreatetime[2];
break;
case "Ant 1":
_local2 = unitcreatetime[3];
break;
case "Ant 2":
_local2 = unitcreatetime[4];
break;
case "Ant 3":
_local2 = unitcreatetime[5];
break;
case "Roach 1":
_local2 = unitcreatetime[6];
break;
case "Roach 2":
_local2 = unitcreatetime[7];
break;
case "Roach 3":
_local2 = unitcreatetime[8];
break;
case "Beetle 1":
_local2 = unitcreatetime[9];
break;
case "Beetle 2":
_local2 = unitcreatetime[10];
break;
case "Beetle 3":
_local2 = unitcreatetime[11];
break;
case "Hopper 1":
_local2 = unitcreatetime[12];
break;
case "Hopper 2":
_local2 = unitcreatetime[13];
break;
case "Hopper 3":
_local2 = unitcreatetime[14];
break;
case "Queen":
_local2 = unitcreatetime[15];
break;
};
return (_local2);
}
public function getPlayedLevelCount():int{
var _local1:*;
var _local2:*;
_local2 = 0;
_local1 = 0;
while (_local1 < playedlevel.length) {
if (playedlevel[_local1]){
_local2++;
};
_local1++;
};
return (_local2);
}
public function resetData(){
selectedlevel = 1;
playedlevel = [false, false, false, false, false, false, false, false, false];
unlockedlevel = [true, false, false, false, false, false, false, false, false];
upgradelevel = 0;
selectedupgrades = [0, 0, 0, 0, 0];
achievementstatus = ["locked", "locked", "locked", "locked", "locked", "locked"];
bonuslevel = "locked";
campaigncompleted = 0;
totalcampaigntime = 0;
totalgametime = 0;
wincount = 0;
lostcount = 0;
levelcreatedunit = [0, 0];
leveldeadunit = [0, 0];
levelcreatedtower = [0, 0];
leveldestroyedtower = [0, 0];
leveltakenspawn = [0, 0];
levellostspawn = [0, 0];
levelscore = 0;
totalcreatedunit = [0, 0];
totaldeadunit = [0, 0];
totalcreatedtower = [0, 0];
totaldestroyedtower = [0, 0];
totaltakenspawn = [0, 0];
totallostspawn = [0, 0];
totalscore = 0;
totalcreatedunittype = [0, 0, 0, 0, 0];
totalkilledunittype = [0, 0, 0, 0, 0, 0];
}
public function prepareLevel(){
levelcreatedunit = [0, 0];
leveldeadunit = [0, 0];
levelcreatedtower = [0, 0];
leveldestroyedtower = [0, 0];
leveltakenspawn = [0, 0];
levellostspawn = [0, 0];
levelscore = 0;
}
public function recordTime(_arg1){
if (getCompletedCampaign() < 100){
totalcampaigntime = (totalcampaigntime + _arg1);
};
totalgametime = (totalgametime + _arg1);
}
public function loadData(){
var _local1:*;
_local1 = SharedObject.getLocal(savelabel);
if (_local1.data.size == 0){
saveData();
};
resetData();
if (_local1.data.selectedlevel){
selectedlevel = _local1.data.selectedlevel;
playedlevel = _local1.data.playedlevel;
unlockedlevel = _local1.data.unlockedlevel;
upgradelevel = _local1.data.upgradelevel;
selectedupgrades = _local1.data.selectedupgrades;
achievementstatus = _local1.data.achievementstatus;
bonuslevel = _local1.data.bonuslevel;
campaigncompleted = _local1.data.campaigncompleted;
totalcampaigntime = _local1.data.totalcampaigntime;
totalgametime = _local1.data.totalgametime;
wincount = _local1.data.wincount;
lostcount = _local1.data.lostcount;
totalcreatedunit = _local1.data.totalcreatedunit;
totaldeadunit = _local1.data.totaldeadunit;
totalcreatedtower = _local1.data.totalcreatedtower;
totaldestroyedtower = _local1.data.totaldestroyedtower;
totaltakenspawn = _local1.data.totaltakenspawn;
totallostspawn = _local1.data.totallostspawn;
totalscore = _local1.data.totalscore;
totalcreatedunittype = _local1.data.totalcreatedunittype;
totalkilledunittype = _local1.data.totalkilledunittype;
};
}
public function recordScore(_arg1){
var _local2:*;
var _local3:*;
if (_arg1){
wincount++;
playedlevel[(selectedlevel - 1)] = true;
unlockedlevel[selectedlevel] = true;
if (selectedlevel < 8){
selectedlevel++;
} else {
if (bonuslevel == "locked"){
bonuslevel = "new";
selectedlevel = 9;
} else {
bonuslevel = "unlocked";
};
};
} else {
lostcount++;
};
levelscore = (((((((levelcreatedunit[0] + leveldeadunit[1]) - Math.floor((leveldeadunit[0] / 2))) + (levelcreatedtower[0] * 50)) + (leveldestroyedtower[1] * 50)) - (leveldestroyedtower[0] * 25)) + (leveltakenspawn[1] * 100)) - (levellostspawn[0] * 50));
if (levelscore < 0){
levelscore = 0;
};
totalscore = (totalscore + levelscore);
totalcreatedunit[0] = (totalcreatedunit[0] + levelcreatedunit[0]);
totalcreatedunit[1] = (totalcreatedunit[1] + levelcreatedunit[1]);
totaldeadunit[0] = (totaldeadunit[0] + leveldeadunit[0]);
totaldeadunit[1] = (totaldeadunit[1] + leveldeadunit[1]);
totalcreatedtower[0] = (totalcreatedtower[0] + levelcreatedtower[0]);
totalcreatedtower[1] = (totalcreatedtower[1] + levelcreatedtower[1]);
totaldestroyedtower[0] = (totaldestroyedtower[0] + leveldestroyedtower[0]);
totaldestroyedtower[1] = (totaldestroyedtower[1] + leveldestroyedtower[1]);
totaltakenspawn[0] = (totaltakenspawn[0] + leveltakenspawn[0]);
totaltakenspawn[1] = (totaltakenspawn[1] + leveltakenspawn[1]);
totallostspawn[0] = (totallostspawn[0] + levellostspawn[0]);
totallostspawn[1] = (totallostspawn[1] + levellostspawn[1]);
_local2 = 0;
while (_local2 < achievementstatus.length) {
if (achievementstatus[_local2] == "new"){
achievementstatus[_local2] = "unlocked";
};
_local2++;
};
if ((((achievementstatus[0] == "locked")) && ((totalkilledunittype[0] >= 1000)))){
achievementstatus[0] = "new";
};
if ((((achievementstatus[1] == "locked")) && ((totalcreatedunittype[1] >= 2000)))){
achievementstatus[1] = "new";
};
if ((((achievementstatus[2] == "locked")) && ((totalcreatedtower[0] >= 100)))){
achievementstatus[2] = "new";
};
if ((((achievementstatus[3] == "locked")) && ((totalscore >= 66666)))){
achievementstatus[3] = "new";
};
if ((((achievementstatus[4] == "locked")) && ((totalcreatedunittype[3] >= 2000)))){
achievementstatus[4] = "new";
};
if ((((achievementstatus[5] == "locked")) && ((totalkilledunittype[5] >= 1)))){
achievementstatus[5] = "new";
};
saveData();
}
public function saveData(){
var _local1:*;
_local1 = SharedObject.getLocal(savelabel);
_local1.data.selectedlevel = selectedlevel;
_local1.data.playedlevel = playedlevel;
_local1.data.unlockedlevel = unlockedlevel;
_local1.data.upgradelevel = upgradelevel;
_local1.data.selectedupgrades = selectedupgrades;
_local1.data.achievementstatus = achievementstatus;
_local1.data.bonuslevel = bonuslevel;
_local1.data.campaigncompleted = campaigncompleted;
_local1.data.totalcampaigntime = totalcampaigntime;
_local1.data.totalgametime = totalgametime;
_local1.data.wincount = wincount;
_local1.data.lostcount = lostcount;
_local1.data.totalcreatedunit = totalcreatedunit;
_local1.data.totaldeadunit = totaldeadunit;
_local1.data.totalcreatedtower = totalcreatedtower;
_local1.data.totaldestroyedtower = totaldestroyedtower;
_local1.data.totaltakenspawn = totaltakenspawn;
_local1.data.totallostspawn = totallostspawn;
_local1.data.totalscore = totalscore;
_local1.data.totalcreatedunittype = totalcreatedunittype;
_local1.data.totalkilledunittype = totalkilledunittype;
_local1.flush();
}
public function addDeadUnit(_arg1, _arg2=1){
if (_arg1 == 0){
leveldeadunit[0] = (leveldeadunit[0] + _arg2);
} else {
leveldeadunit[1] = (leveldeadunit[1] + _arg2);
};
}
public function getCompletedCampaign():int{
var _local1:*;
var _local2:*;
_local2 = 0;
_local1 = 0;
while (_local1 < (playedlevel.length - 1)) {
if (playedlevel[_local1]){
_local2++;
};
_local1++;
};
return (Math.floor(((_local2 / (playedlevel.length - 1)) * 100)));
}
public function getOpponentUnitType(_arg1, _arg2):String{
var _local3:*;
_local3 = "Larva 1";
switch (selectedlevel){
case 1:
_local3 = "Larva 1";
break;
case 2:
_local3 = "Larva 2";
break;
case 3:
_local3 = "Larva 3";
break;
case 4:
if (_arg1.indexOf("Ant") > -1){
if (_arg2 == 1){
_local3 = "Roach 1";
} else {
_local3 = "Larva 3";
};
} else {
if (_arg1.indexOf("Roach") > -1){
if (_arg2 == 1){
_local3 = "Beetle 1";
} else {
_local3 = "Larva 3";
};
} else {
if (_arg1.indexOf("Beetle") > -1){
if (_arg2 == 1){
_local3 = "Ant 1";
} else {
_local3 = "Larva 3";
};
};
};
};
break;
case 5:
if (_arg1.indexOf("Ant") > -1){
if (_arg2 == 1){
_local3 = "Hopper 1";
} else {
_local3 = "Larva 3";
};
} else {
if (_arg1.indexOf("Roach") > -1){
if (_arg2 == 1){
_local3 = "Hopper 1";
} else {
_local3 = "Larva 3";
};
} else {
if (_arg1.indexOf("Beetle") > -1){
if (_arg2 == 1){
_local3 = "Hopper 1";
} else {
_local3 = "Larva 3";
};
};
};
};
break;
case 6:
if (_arg1.indexOf("Ant") > -1){
if (_arg2 == 1){
_local3 = "Roach 2";
} else {
_local3 = "Hopper 1";
};
} else {
if (_arg1.indexOf("Roach") > -1){
if (_arg2 == 1){
_local3 = "Beetle 2";
} else {
_local3 = "Hopper 1";
};
} else {
if (_arg1.indexOf("Beetle") > -1){
if (_arg2 == 1){
_local3 = "Ant 2";
} else {
_local3 = "Hopper 1";
};
};
};
};
break;
case 7:
if (_arg1.indexOf("Ant") > -1){
if (_arg2 == 1){
_local3 = "Roach 2";
} else {
_local3 = "Beetle 2";
};
} else {
if (_arg1.indexOf("Roach") > -1){
if (_arg2 == 1){
_local3 = "Beetle 2";
} else {
_local3 = "Ant 2";
};
} else {
if (_arg1.indexOf("Beetle") > -1){
if (_arg2 == 1){
_local3 = "Ant 2";
} else {
_local3 = "Roach 2";
};
};
};
};
break;
case 8:
if (_arg1.indexOf("Ant") > -1){
if (_arg2 == 1){
_local3 = "Roach 3";
} else {
_local3 = "Beetle 3";
};
} else {
if (_arg1.indexOf("Roach") > -1){
if (_arg2 == 1){
_local3 = "Beetle 3";
} else {
_local3 = "Ant 3";
};
} else {
if (_arg1.indexOf("Beetle") > -1){
if (_arg2 == 1){
_local3 = "Ant 3";
} else {
_local3 = "Roach 3";
};
};
};
};
break;
case 9:
_local3 = "Larva 3";
break;
default:
if (_arg1.indexOf("Ant") > -1){
_local3 = "Roach 3";
} else {
if (_arg1.indexOf("Roach") > -1){
_local3 = "Beetle 3";
} else {
if (_arg1.indexOf("Beetle") > -1){
_local3 = "Ant 3";
};
};
};
break;
};
return (_local3);
}
public function getPlayerUnitType(_arg1):String{
var _local2:*;
_local2 = "Larva 1";
switch (teamlevel[(selectedlevel - 1)]){
case 1:
if (upgradelevel < 1){
_local2 = "Larva 1";
} else {
_local2 = "Larva 2";
};
break;
case 2:
if (upgradelevel < 2){
_local2 = "Larva 2";
} else {
_local2 = "Larva 3";
};
break;
case 3:
if (((!(_arg1)) || ((upgradelevel < 3)))){
_local2 = "Larva 3";
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 1";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 1";
} else {
_local2 = "Ant 1";
};
};
};
break;
case 4:
if (upgradelevel < 4){
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 1";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 1";
} else {
_local2 = "Ant 1";
};
};
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 2";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 2";
} else {
_local2 = "Ant 2";
};
};
};
break;
case 5:
if (upgradelevel < 5){
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 2";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 2";
} else {
_local2 = "Ant 2";
};
};
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 3";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 3";
} else {
_local2 = "Ant 3";
};
};
};
break;
case 6:
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
_local2 = "Beetle 3";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
_local2 = "Roach 3";
} else {
_local2 = "Ant 3";
};
};
break;
};
return (_local2);
}
public function getUnitAttack(_arg1):Number{
var _local2:*;
switch (_arg1){
case "Larva 1":
_local2 = unitmaxattack[0];
break;
case "Larva 2":
_local2 = unitmaxattack[1];
break;
case "Larva 3":
_local2 = unitmaxattack[2];
break;
case "Ant 1":
_local2 = unitmaxattack[3];
break;
case "Ant 2":
_local2 = unitmaxattack[4];
break;
case "Ant 3":
_local2 = unitmaxattack[5];
break;
case "Roach 1":
_local2 = unitmaxattack[6];
break;
case "Roach 2":
_local2 = unitmaxattack[7];
break;
case "Roach 3":
_local2 = unitmaxattack[8];
break;
case "Beetle 1":
_local2 = unitmaxattack[9];
break;
case "Beetle 2":
_local2 = unitmaxattack[10];
break;
case "Beetle 3":
_local2 = unitmaxattack[11];
break;
case "Hopper 1":
_local2 = unitmaxattack[12];
break;
case "Hopper 2":
_local2 = unitmaxattack[13];
break;
case "Hopper 3":
_local2 = unitmaxattack[14];
break;
case "Queen":
_local2 = unitmaxattack[15];
break;
};
return (_local2);
}
public function getUnitHealth(_arg1):Number{
var _local2:*;
switch (_arg1){
case "Larva 1":
_local2 = unitmaxhealth[0];
break;
case "Larva 2":
_local2 = (selectedupgrades[0]) ? unitmaxhealth[1] : unitmaxhealth[0];
break;
case "Larva 3":
_local2 = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[2] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[1] : unitmaxhealth[0];
break;
case "Ant 1":
_local2 = unitmaxhealth[3];
break;
case "Ant 2":
_local2 = (selectedupgrades[3]) ? unitmaxhealth[4] : unitmaxhealth[3];
break;
case "Ant 3":
_local2 = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[5] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[4] : unitmaxhealth[3];
break;
case "Roach 1":
_local2 = unitmaxhealth[6];
break;
case "Roach 2":
_local2 = (selectedupgrades[3]) ? unitmaxhealth[7] : unitmaxhealth[6];
break;
case "Roach 3":
_local2 = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[8] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[7] : unitmaxhealth[6];
break;
case "Beetle 1":
_local2 = unitmaxhealth[9];
break;
case "Beetle 2":
_local2 = (selectedupgrades[3]) ? unitmaxhealth[10] : unitmaxhealth[9];
break;
case "Beetle 3":
_local2 = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[11] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[10] : unitmaxhealth[9];
break;
case "Hopper 1":
_local2 = unitmaxhealth[12];
break;
case "Hopper 2":
_local2 = (selectedupgrades[3]) ? unitmaxhealth[13] : unitmaxhealth[12];
break;
case "Hopper 3":
_local2 = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[14] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[13] : unitmaxhealth[12];
break;
case "Queen":
_local2 = unitmaxhealth[15];
break;
};
return (_local2);
}
public function getTower1Status():String{
return ("enabled");
}
}
}//package
Section 75
//GameManager (GameManager)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class GameManager extends MovieClip {
private var starttime;// = 0
public var closesttowerdistance;// = 0
public var closesttower;// = null
public var gamesound;
public var doneupgrade;// = false
public var stagescene;
public var gamestatus;// = "playing"
public var towercreatorlimit;
public var closestbasedistance;// = 0
public var gamedata;
public var mapcontainer;
public var closestbase;// = null
public var thisparent;
private var totalpausetime;// = 0
public var towercreator;
public var mapdata;
public var computermgr;
public var stageparticle;
public var gamespeed;// = 1
public var controlmgr;
private var startpausetime;// = 0
public var stagepanel;
public function GameManager(_arg1){
computermgr = new Array();
gamespeed = 1;
gamestatus = "playing";
closestbase = null;
closestbasedistance = 0;
closesttower = null;
closesttowerdistance = 0;
doneupgrade = false;
starttime = 0;
startpausetime = 0;
totalpausetime = 0;
super();
thisparent = _arg1;
gamedata = _arg1.gamedata;
gamesound = _arg1.sndmgr;
if (!thisparent.contains(this)){
thisparent.addChild(this);
};
controlmgr = new ControlManager(this);
stagescene = new SceneContainer(this);
stagepanel = new mc_stagepanel();
this.addChild(stagepanel);
startGame();
}
public function stopTowerCreator(){
var _local1:*;
_local1 = new ColorMatrix();
_local1.adjustColor(0, 0, -80, 0);
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "createtower";
startpausetime = getTimer();
stagescene.destroyBaseRange();
towercreator.visible = false;
stagepanel.mcsacrificedialog.gotoAndPlay(3);
}
private function detectStagePanelStatus(){
if (stagepanel.btquitgame.currentFrame == 3){
gamestatus = "stopplayerrequest";
} else {
if (stagepanel.btquitgame.currentFrame == 4){
stagepanel.btquitgame.gotoAndPlay(1);
restartGame();
};
};
if ((((stagepanel.btpausegame.currentFrame == 2)) && ((gamestatus == "playing")))){
pauseClip();
} else {
if ((((stagepanel.btpausegame.currentFrame == 1)) && ((gamestatus == "paused")))){
pauseClip();
};
};
switch (stagepanel.btspeed.currentFrame){
case 1:
gamespeed = 1;
break;
case 2:
gamespeed = 2;
break;
case 3:
gamespeed = 4;
break;
};
}
public function detectMouseStatus(){
var _local1:*;
_local1 = false;
if (controlmgr.mousepress){
if (towercreator.visible){
if (towercreator.currentFrame < 6){
stopTowerCreator();
} else {
cancelTowerCreator();
};
} else {
if (stagescene.mouseblocking){
stagescene.refreshMouseBlocker(controlmgr.mousepos);
} else {
stagescene.startMouseBlocker(controlmgr.mousepos);
};
};
} else {
if (towercreator.visible){
stagescene.createBaseRange(towercreatorlimit);
towercreator.x = controlmgr.mousepos.x;
towercreator.y = controlmgr.mousepos.y;
getClosestBase(towercreatorlimit);
getClosestTower();
_local1 = checkOnRoad(towercreator, true);
if (((((((((closestbase) && ((closesttowerdistance > 15)))) && ((closestbasedistance > 25)))) && ((closestbasedistance < 75)))) && (!(_local1)))){
if (towercreator.currentFrame > 5){
towercreator.gotoAndStop((towercreator.currentFrame - 3));
};
} else {
if (towercreator.currentFrame < 6){
towercreator.gotoAndStop((towercreator.currentFrame + 3));
};
};
} else {
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
};
};
}
public function startTowerCreator(_arg1){
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
towercreator.visible = true;
towercreator.gotoAndStop((_arg1 + 2));
towercreator.x = 320;
towercreator.y = 240;
towercreatorlimit = gamedata.towerprice[(_arg1 - 1)];
}
public function createTower2(_arg1=null){
startTowerCreator(2);
}
private function stopListeners(){
resetPanel();
if (gamestatus == "paused"){
controlmgr.pauseListeners();
} else {
controlmgr.stopListeners();
this.removeEventListener(Event.ENTER_FRAME, moveClip);
};
}
public function createTower1(_arg1=null){
startTowerCreator(1);
}
public function createTower3(_arg1=null){
startTowerCreator(3);
}
public function cancelTowerCreator(){
stagescene.destroyBaseRange();
towercreator.visible = false;
}
private function toggleSFX(_arg1=null){
if (gamesound.sfxVolume == 1){
gamesound.adjustSFX(0);
} else {
gamesound.adjustSFX(1);
};
}
public function stopClip(_arg1=null){
cancelTowerCreator();
stopListeners();
gamedata.recordTime(((getTimer() - starttime) - totalpausetime));
switch (gamestatus){
case "stopplayerwin":
thisparent.gotoAndPlay("winpage");
break;
case "stopplayerloose":
thisparent.gotoAndPlay("lostpage");
break;
case "stopplayerrequest":
thisparent.gotoAndPlay("levelselect");
break;
};
}
public function cancelCreateTower(){
gamestatus = "playing";
stagescene.filters = [];
startListeners();
stagescene.continueClip();
totalpausetime = (totalpausetime + (getTimer() - startpausetime));
}
public function restartGame(){
gamedata.prepareLevel();
stagescene.resetLevel();
startGame();
}
public function getClosestTower():MovieClip{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (stagescene.towerarray.length > 0){
_local2 = stagescene.towerarray[0];
_local3 = getDistance(_local2, stagescene.globalToLocal(controlmgr.mousepos));
_local1 = 1;
while (_local1 < stagescene.towerarray.length) {
_local4 = getDistance(stagescene.towerarray[_local1], stagescene.globalToLocal(controlmgr.mousepos));
if (_local4 < _local3){
_local3 = _local4;
_local2 = stagescene.towerarray[_local1];
};
_local1++;
};
closesttower = _local2;
closesttowerdistance = _local3;
} else {
closesttower = null;
closesttowerdistance = 9999;
};
if (stagescene.towercreateprogress[0].length > 0){
if (!_local2){
_local2 = stagescene.towercreateprogress[0][0];
_local3 = getDistance(_local2, stagescene.globalToLocal(controlmgr.mousepos));
} else {
_local4 = getDistance(stagescene.towercreateprogress[0][0], stagescene.globalToLocal(controlmgr.mousepos));
if (_local4 < _local3){
_local2 = stagescene.towercreateprogress[0][0];
_local3 = _local4;
};
};
_local1 = 1;
while (_local1 < stagescene.towercreateprogress[0].length) {
_local4 = getDistance(stagescene.towercreateprogress[0][_local1], stagescene.globalToLocal(controlmgr.mousepos));
if (_local4 < _local3){
_local3 = _local4;
_local2 = stagescene.towercreateprogress[0][_local1];
};
_local1++;
};
closesttower = _local2;
closesttowerdistance = _local3;
};
return (closesttower);
}
public function pauseClip(_arg1=null){
var _local2:*;
var _local3:*;
if (gamestatus == "playing"){
_local2 = new ColorMatrix();
_local2.adjustColor(0, 0, -80, 0);
stagescene.filters = [new ColorMatrixFilter(_local2)];
cancelTowerCreator();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagepanel.btpausegame.gotoAndStop(2);
stagepanel.mcgamepaused.gotoAndPlay(3);
gamestatus = "paused";
stopListeners();
stagescene.pauseClip();
startpausetime = getTimer();
} else {
if (gamestatus == "paused"){
stagescene.filters = [];
cancelTowerCreator();
stagepanel.btpausegame.gotoAndStop(1);
stagepanel.mcgamepaused.gotoAndStop(2);
gamestatus = "playing";
startListeners();
stagescene.continueClip();
totalpausetime = (totalpausetime + (getTimer() - startpausetime));
};
};
}
private function moveClip(_arg1){
var _local2:*;
switch (gamestatus){
case "playing":
stagescene.moveClip();
if (stagescene.layertutorial.currentFrame == stagescene.layertutorial.totalFrames){
_local2 = 1;
while (_local2 < gamedata.teamcount[(gamedata.selectedlevel - 1)]) {
computermgr[(_local2 - 1)].moveClip();
_local2++;
};
};
refreshPanel();
detectStagePanelStatus();
detectMouseStatus();
break;
case "createtower":
case "upgrading":
case "paused":
detectStagePanelStatus();
break;
case "stopplayerwin":
stagescene.moveClip();
if (!stagepanel.mcwinnote.visible){
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagepanel.mcwinnote.visible = true;
stagepanel.mcwinnote.gotoAndPlay(1);
} else {
if (stagepanel.mcwinnote.currentFrame == stagepanel.mcwinnote.totalFrames){
stopClip();
};
};
break;
case "stopplayerloose":
stagescene.moveClip();
if (!stagepanel.mcloosenote.visible){
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagepanel.mcloosenote.visible = true;
stagepanel.mcloosenote.gotoAndPlay(1);
} else {
if (stagepanel.mcloosenote.currentFrame == stagepanel.mcloosenote.totalFrames){
stopClip();
};
};
break;
case "stopplayerrequest":
stagescene.moveClip();
if (!stagepanel.mcquitnote.visible){
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagepanel.mcquitnote.visible = true;
stagepanel.mcquitnote.gotoAndPlay(1);
} else {
if (stagepanel.mcquitnote.currentFrame == stagepanel.mcquitnote.totalFrames){
stopClip();
};
};
break;
};
controlmgr.moveClip();
}
private function setPanel(){
stagepanel.btcreatetower1.btactive.addEventListener(MouseEvent.MOUSE_UP, createTower1, false, 0, true);
stagepanel.btcreatetower2.btactive.addEventListener(MouseEvent.MOUSE_UP, createTower2, false, 0, true);
stagepanel.btcreatetower3.btactive.addEventListener(MouseEvent.MOUSE_UP, createTower3, false, 0, true);
stagepanel.btcreatetower1.btactive.addEventListener(MouseEvent.MOUSE_OVER, showTowerNote1, false, 0, true);
stagepanel.btcreatetower2.btactive.addEventListener(MouseEvent.MOUSE_OVER, showTowerNote2, false, 0, true);
stagepanel.btcreatetower3.btactive.addEventListener(MouseEvent.MOUSE_OVER, showTowerNote3, false, 0, true);
stagepanel.btcreatetower1.btactive.addEventListener(MouseEvent.MOUSE_OUT, hideTowerNote1, false, 0, true);
stagepanel.btcreatetower2.btactive.addEventListener(MouseEvent.MOUSE_OUT, hideTowerNote2, false, 0, true);
stagepanel.btcreatetower3.btactive.addEventListener(MouseEvent.MOUSE_OUT, hideTowerNote3, false, 0, true);
stagepanel.btsfx.addEventListener(MouseEvent.MOUSE_UP, toggleSFX, false, 0, true);
stagepanel.btbgm.addEventListener(MouseEvent.MOUSE_UP, toggleBGM, false, 0, true);
stagepanel.btmoregame.addEventListener(MouseEvent.MOUSE_UP, goSponsor, false, 0, true);
}
public function checkOnRoad(_arg1, _arg2=false):Boolean{
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = true;
_local5 = stagescene.globalToLocal(new Point(_arg1.x, _arg1.y));
_local4 = mapdata.getPixel(Math.floor((_local5.x / 4)), Math.floor((_local5.y / 4)));
_local3 = ((_local3) && (!((_local4 == 0))));
if (_arg2){
_local5 = stagescene.globalToLocal(new Point((_arg1.x + (_arg1.width / 2)), _arg1.y));
_local4 = mapdata.getPixel(Math.floor((_local5.x / 4)), Math.floor((_local5.y / 4)));
_local3 = ((_local3) || (!((_local4 == 0))));
_local5 = stagescene.globalToLocal(new Point((_arg1.x - (_arg1.width / 2)), _arg1.y));
_local4 = mapdata.getPixel(Math.floor((_local5.x / 4)), Math.floor((_local5.y / 4)));
_local3 = ((_local3) || (!((_local4 == 0))));
_local5 = stagescene.globalToLocal(new Point(_arg1.x, (_arg1.y + (_arg1.height / 2))));
_local4 = mapdata.getPixel(Math.floor((_local5.x / 4)), Math.floor((_local5.y / 4)));
_local3 = ((_local3) || (!((_local4 == 0))));
_local5 = stagescene.globalToLocal(new Point(_arg1.x, (_arg1.y - (_arg1.height / 2))));
_local4 = mapdata.getPixel(Math.floor((_local5.x / 4)), Math.floor((_local5.y / 4)));
_local3 = ((_local3) || (!((_local4 == 0))));
};
return (_local3);
}
private function toggleBGM(_arg1=null){
if (gamesound.bgmVolume == 1){
gamesound.adjustBGM(0);
} else {
gamesound.adjustBGM(1);
};
}
public function showQueenHealth(_arg1){
stagepanel.mcqueenhealth.gotoAndStop(_arg1);
}
private function goSponsor(_arg1=null){
thisparent.goSponsor("gameplay");
}
public function stopGame(){
stopListeners();
gamestatus = "stop";
}
private function refreshContainerPosition(_arg1, _arg2, _arg3=1){
stagescene.scaleX = _arg3;
stagescene.scaleY = _arg3;
if (stagescene.scaleX > 1){
stagescene.scaleX = 1;
stagescene.scaleY = 1;
} else {
if (stagescene.scaleX < 0.5){
stagescene.scaleX = 0.5;
stagescene.scaleY = 0.5;
};
};
stagescene.x = _arg1;
stagescene.y = _arg2;
if (stagescene.x > 0){
stagescene.x = 0;
} else {
if (stagescene.y > 0){
stagescene.y = 0;
};
};
}
public function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (((Math.atan2(_local4, _local3) * 180) / Math.PI));
}
private function doUpgrade1(_arg1=null){
stopUpgrade(0);
}
private function doUpgrade2(_arg1=null){
stopUpgrade(1);
}
public function startUpgrade(){
var _local1:*;
var _local2:*;
_local1 = new ColorMatrix();
_local1.adjustColor(0, 0, -80, 0);
switch (gamedata.selectedlevel){
case 1:
if (!doneupgrade){
startpausetime = getTimer();
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "upgrading";
stagepanel.mcupgrades.gotoAndPlay(2);
stagepanel.mcupgrades.btupgradespeed.addEventListener(MouseEvent.MOUSE_UP, doUpgrade1, false, 0, true);
stagepanel.mcupgrades.btupgradestrength.addEventListener(MouseEvent.MOUSE_UP, doUpgrade2, false, 0, true);
};
break;
case 2:
if (!doneupgrade){
startpausetime = getTimer();
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "upgrading";
stagepanel.mcupgrades.gotoAndPlay(2);
stagepanel.mcupgrades.btupgradespeed.addEventListener(MouseEvent.MOUSE_UP, doUpgrade1, false, 0, true);
stagepanel.mcupgrades.btupgradestrength.addEventListener(MouseEvent.MOUSE_UP, doUpgrade2, false, 0, true);
};
break;
case 3:
if (!doneupgrade){
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "upgrading";
stagepanel.mcupgrades.gotoAndPlay(2);
stagepanel.mcupgrades.btupgradespeed.addEventListener(MouseEvent.MOUSE_UP, doUpgrade1, false, 0, true);
stagepanel.mcupgrades.btupgradestrength.addEventListener(MouseEvent.MOUSE_UP, doUpgrade2, false, 0, true);
};
break;
case 5:
if (!doneupgrade){
startpausetime = getTimer();
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "upgrading";
stagepanel.mcupgrades.gotoAndPlay(2);
stagepanel.mcupgrades.btupgradespeed.addEventListener(MouseEvent.MOUSE_UP, doUpgrade1, false, 0, true);
stagepanel.mcupgrades.btupgradestrength.addEventListener(MouseEvent.MOUSE_UP, doUpgrade2, false, 0, true);
};
break;
case 7:
if (!doneupgrade){
startpausetime = getTimer();
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(_local1)];
stopListeners();
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
stagescene.pauseClip();
gamestatus = "upgrading";
stagepanel.mcupgrades.gotoAndPlay(2);
stagepanel.mcupgrades.btupgradespeed.addEventListener(MouseEvent.MOUSE_UP, doUpgrade1, false, 0, true);
stagepanel.mcupgrades.btupgradestrength.addEventListener(MouseEvent.MOUSE_UP, doUpgrade2, false, 0, true);
};
break;
};
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public function selectAllBase(){
stagescene.selectAllBase();
}
public function refreshContainerStatus(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local1 = stagescene.scaleX;
_local2 = stagescene.x;
_local3 = stagescene.y;
_local4 = (((controlmgr.mousepos.y < 55)) && ((controlmgr.mousepos.y > 25)));
_local5 = (((((controlmgr.mousepos.y > 390)) && ((controlmgr.mousepos.y < 420)))) && ((controlmgr.mousepos.x < 480)));
_local6 = (((((controlmgr.mousepos.x < 30)) && ((controlmgr.mousepos.x > 2)))) && ((controlmgr.mousepos.y < 420)));
_local7 = (((((controlmgr.mousepos.x > 610)) && ((controlmgr.mousepos.x < 638)))) && ((controlmgr.mousepos.y < 360)));
if (((controlmgr.zoomin) || (controlmgr.mousescrollup))){
if (controlmgr.mousescrollup){
_local1 = (_local1 + 0.07);
controlmgr.mousescrollup = false;
} else {
_local1 = (_local1 + 0.01);
};
} else {
if (((controlmgr.zoomout) || (controlmgr.mousescrolldown))){
if (controlmgr.mousescrolldown){
_local1 = (_local1 - 0.07);
controlmgr.mousescrolldown = false;
} else {
_local1 = (_local1 - 0.01);
};
};
};
if (((_local4) || (controlmgr.scrollup))){
_local3 = (_local3 + 10);
};
if (((_local5) || (controlmgr.scrolldown))){
_local3 = (_local3 - 10);
};
if (((_local6) || (controlmgr.scrollleft))){
_local2 = (_local2 + 10);
};
if (((_local7) || (controlmgr.scrollright))){
_local2 = (_local2 - 10);
};
refreshContainerPosition(_local2, _local3, _local1);
}
public function startGame(){
var _local1:*;
var _local2:*;
gamestatus = "playing";
_local1 = 1;
while (_local1 < gamedata.teamcount[(gamedata.selectedlevel - 1)]) {
computermgr.push(new ComputerManager(this, _local1, gamedata.getOpponentUnitType(gamedata.getPlayerUnitType(doneupgrade), _local1)));
_local1++;
};
_local2 = stagescene.loadLevel();
switch (_local2){
case 1:
mapdata = new bd_scene_lv1(160, 120);
break;
case 2:
mapdata = new bd_scene_lv2(160, 120);
break;
case 3:
mapdata = new bd_scene_lv3(160, 120);
break;
case 4:
mapdata = new bd_scene_lv4(160, 120);
break;
case 5:
mapdata = new bd_scene_lv5(160, 120);
break;
case 6:
mapdata = new bd_scene_lv6(160, 120);
break;
case 7:
mapdata = new bd_scene_lv7(160, 120);
break;
case 8:
mapdata = new bd_scene_lv8(160, 120);
break;
};
mapcontainer = new Bitmap(mapdata);
towercreator = stagepanel.mctowercreate;
towercreator.visible = false;
towercreator.x = 320;
towercreator.y = 240;
refreshContainerPosition(0, 0);
startListeners();
if (gamesound.sfxVolume == 1){
stagepanel.btsfx.gotoAndStop(1);
} else {
stagepanel.btsfx.gotoAndStop(2);
};
if (gamesound.bgmVolume == 1){
stagepanel.btbgm.gotoAndStop(1);
} else {
stagepanel.btbgm.gotoAndStop(2);
};
if (gamedata.selectedlevel == 9){
stagepanel.mcqueenhealth.visible = true;
stagepanel.mcqueenhealth.gotoAndStop(101);
} else {
stagepanel.mcqueenhealth.visible = false;
};
doneupgrade = false;
starttime = getTimer();
}
public function getClosestBase(_arg1=0):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local2 = 0;
while (_local2 < stagescene.basearrayteam[0].length) {
if ((((_arg1 == 0)) || ((stagescene.basearrayteam[0][_local2].unitarray.length > _arg1)))){
_local5 = getDistance(stagescene.basearrayteam[0][_local2], stagescene.globalToLocal(controlmgr.mousepos));
if (((!(_local3)) || ((_local5 < _local4)))){
_local4 = _local5;
_local3 = stagescene.basearrayteam[0][_local2];
};
};
_local2++;
};
if (_local3){
closestbase = _local3;
closestbasedistance = _local4;
} else {
closestbase = null;
};
return (closestbase);
}
private function stopUpgrade(_arg1){
gamestatus = "playing";
stagescene.filters = [];
startListeners();
stagescene.continueClip();
totalpausetime = (totalpausetime + (getTimer() - startpausetime));
stagepanel.mcupgrades.btupgradespeed.removeEventListener(MouseEvent.MOUSE_UP, doUpgrade1);
stagepanel.mcupgrades.btupgradestrength.removeEventListener(MouseEvent.MOUSE_UP, doUpgrade2);
stagepanel.mcupgrades.gotoAndPlay(1);
if (_arg1 == 0){
gamedata.doUpgrade(0);
} else {
gamedata.doUpgrade(1);
};
stagescene.doUpgrade();
}
public function showTowerNote1(_arg1=null){
switch (gamedata.getTower1Status()){
case "disabled":
stagepanel.noteheader.text = "Create Basic Tower [Z]";
stagepanel.notebody.text = (("Build basic tower, not enough units\n" + gamedata.towerprice[0]) + " units needed");
break;
case "enabled":
stagepanel.noteheader.text = "Create Basic Tower [Z]";
stagepanel.notebody.text = (("Build basic tower\nby sacrificing " + gamedata.towerprice[0]) + " units");
break;
};
stagepanel.mcnotebg.visible = true;
stagepanel.mcnotebg.gotoAndPlay(1);
}
public function showTowerNote2(_arg1=null){
switch (gamedata.getTower1Status()){
case "disabled":
stagepanel.noteheader.text = "Create Splash Tower [X]";
stagepanel.notebody.text = (("Units in range will in touch, not enough units\n" + gamedata.towerprice[1]) + " units needed");
break;
case "enabled":
stagepanel.noteheader.text = "Create Splash Tower [X]";
stagepanel.notebody.text = (("Units in range will in touch\nby sacrificing : " + gamedata.towerprice[1]) + " units");
break;
};
stagepanel.mcnotebg.visible = true;
stagepanel.mcnotebg.gotoAndPlay(1);
}
public function showTowerNote3(_arg1=null){
switch (gamedata.getTower1Status()){
case "disabled":
stagepanel.noteheader.text = "Create Slow Tower [C]";
stagepanel.notebody.text = (("Slow down your opponents, not enough units\n" + gamedata.towerprice[2]) + " units needed");
break;
case "enabled":
stagepanel.noteheader.text = "Create Slow Tower [C]";
stagepanel.notebody.text = (("Weak tower that slow them down\nby sacrificing : " + gamedata.towerprice[2]) + " units");
break;
};
stagepanel.mcnotebg.visible = true;
stagepanel.mcnotebg.gotoAndPlay(1);
}
public function hideTowerNote2(_arg1=null){
stagepanel.noteheader.text = "";
stagepanel.notebody.text = "";
stagepanel.mcnotebg.visible = false;
}
public function hideTowerNote3(_arg1=null){
stagepanel.noteheader.text = "";
stagepanel.notebody.text = "";
stagepanel.mcnotebg.visible = false;
}
public function doCreateTower(){
if (closestbase){
stagescene.reduceUnits(closestbase, towercreatorlimit);
};
stagescene.createTower((towercreator.currentFrame - 2), towercreator);
gamestatus = "playing";
stagescene.filters = [];
startListeners();
stagescene.continueClip();
totalpausetime = (totalpausetime + (getTimer() - startpausetime));
}
public function hideTowerNote1(_arg1=null){
stagepanel.noteheader.text = "";
stagepanel.notebody.text = "";
stagepanel.mcnotebg.visible = false;
}
private function refreshPanel(){
switch (gamedata.getTower1Status()){
case "locked":
stagepanel.btcreatetower1.gotoAndStop(1);
break;
case "disabled":
stagepanel.btcreatetower1.gotoAndStop(2);
break;
case "enabled":
stagepanel.btcreatetower1.gotoAndStop(3);
break;
};
switch (gamedata.getTower2Status()){
case "locked":
stagepanel.btcreatetower2.gotoAndStop(1);
break;
case "disabled":
stagepanel.btcreatetower2.gotoAndStop(2);
break;
case "enabled":
stagepanel.btcreatetower2.gotoAndStop(3);
break;
};
switch (gamedata.getTower3Status()){
case "locked":
stagepanel.btcreatetower3.gotoAndStop(1);
break;
case "disabled":
stagepanel.btcreatetower3.gotoAndStop(2);
break;
case "enabled":
stagepanel.btcreatetower3.gotoAndStop(3);
break;
};
}
private function resetPanel(){
stagepanel.btcreatetower1.btactive.removeEventListener(MouseEvent.MOUSE_UP, createTower1);
stagepanel.btcreatetower2.btactive.removeEventListener(MouseEvent.MOUSE_UP, createTower2);
stagepanel.btcreatetower3.btactive.removeEventListener(MouseEvent.MOUSE_UP, createTower3);
stagepanel.btcreatetower1.btactive.removeEventListener(MouseEvent.MOUSE_OVER, showTowerNote1);
stagepanel.btcreatetower2.btactive.removeEventListener(MouseEvent.MOUSE_OVER, showTowerNote2);
stagepanel.btcreatetower3.btactive.removeEventListener(MouseEvent.MOUSE_OVER, showTowerNote3);
stagepanel.btcreatetower1.btactive.removeEventListener(MouseEvent.MOUSE_OUT, hideTowerNote1);
stagepanel.btcreatetower2.btactive.removeEventListener(MouseEvent.MOUSE_OUT, hideTowerNote2);
stagepanel.btcreatetower3.btactive.removeEventListener(MouseEvent.MOUSE_OUT, hideTowerNote3);
stagepanel.btsfx.removeEventListener(MouseEvent.MOUSE_UP, toggleSFX);
stagepanel.btbgm.removeEventListener(MouseEvent.MOUSE_UP, toggleBGM);
stagepanel.btmoregame.removeEventListener(MouseEvent.MOUSE_UP, goSponsor);
}
private function startListeners(){
setPanel();
controlmgr.startListeners();
this.addEventListener(Event.ENTER_FRAME, moveClip, false, 0, true);
}
}
}//package
Section 76
//mc_ant1 (mc_ant1)
package {
public dynamic class mc_ant1 extends UnitObjectBase {
}
}//package
Section 77
//mc_ant2 (mc_ant2)
package {
public dynamic class mc_ant2 extends UnitObjectBase {
}
}//package
Section 78
//mc_ant3 (mc_ant3)
package {
public dynamic class mc_ant3 extends UnitObjectBase {
}
}//package
Section 79
//mc_base1 (mc_base1)
package {
public dynamic class mc_base1 extends BaseObjectBase {
}
}//package
Section 80
//mc_baserange (mc_baserange)
package {
import flash.display.*;
public dynamic class mc_baserange extends MovieClip {
}
}//package
Section 81
//mc_beetle1 (mc_beetle1)
package {
public dynamic class mc_beetle1 extends UnitObjectBase {
}
}//package
Section 82
//mc_beetle2 (mc_beetle2)
package {
public dynamic class mc_beetle2 extends UnitObjectBase {
}
}//package
Section 83
//mc_beetle3 (mc_beetle3)
package {
public dynamic class mc_beetle3 extends UnitObjectBase {
}
}//package
Section 84
//mc_bloodsplash (mc_bloodsplash)
package {
import flash.display.*;
public dynamic class mc_bloodsplash extends MovieClip {
public function mc_bloodsplash(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package
Section 85
//mc_bullet1 (mc_bullet1)
package {
public dynamic class mc_bullet1 extends BulletObjectBase {
public function mc_bullet1(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 86
//mc_bullet2 (mc_bullet2)
package {
public dynamic class mc_bullet2 extends BulletObjectBase {
public function mc_bullet2(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 87
//mc_bullet3 (mc_bullet3)
package {
public dynamic class mc_bullet3 extends BulletObjectBase {
public function mc_bullet3(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 88
//mc_character1 (mc_character1)
package {
public dynamic class mc_character1 extends UnitObjectBase {
}
}//package
Section 89
//mc_createtowerprogress (mc_createtowerprogress)
package {
import flash.display.*;
public dynamic class mc_createtowerprogress extends MovieClip {
}
}//package
Section 90
//mc_hopper1 (mc_hopper1)
package {
public dynamic class mc_hopper1 extends UnitObjectBase {
}
}//package
Section 91
//mc_hopper2 (mc_hopper2)
package {
public dynamic class mc_hopper2 extends UnitObjectBase {
}
}//package
Section 92
//mc_hopper3 (mc_hopper3)
package {
public dynamic class mc_hopper3 extends UnitObjectBase {
}
}//package
Section 93
//mc_larva1 (mc_larva1)
package {
public dynamic class mc_larva1 extends UnitObjectBase {
}
}//package
Section 94
//mc_larva2 (mc_larva2)
package {
public dynamic class mc_larva2 extends UnitObjectBase {
}
}//package
Section 95
//mc_larva3 (mc_larva3)
package {
public dynamic class mc_larva3 extends UnitObjectBase {
}
}//package
Section 96
//mc_mouseblocker (mc_mouseblocker)
package {
import flash.display.*;
public dynamic class mc_mouseblocker extends MovieClip {
}
}//package
Section 97
//mc_notemessage (mc_notemessage)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mc_notemessage extends MovieClip {
public var t2:TextField;
public var t3:TextField;
public var t1:TextField;
public var txt1;
public var txt2;
public var txt3;
public function mc_notemessage(){
addFrameScript(0, frame1, 5, frame6);
}
public function hideNote(){
if (currentFrame > 5){
gotoAndStop(1);
};
}
function frame6(){
stop();
t1.text = txt1;
t2.text = txt2;
t3.text = txt3;
}
function frame1(){
stop();
}
public function showNote(_arg1, _arg2, _arg3, _arg4, _arg5){
txt1 = _arg1;
txt2 = _arg2;
txt3 = _arg3;
this.x = _arg4;
this.y = _arg5;
if (currentFrame == 1){
gotoAndPlay(2);
};
}
}
}//package
Section 98
//mc_opponentlarva1 (mc_opponentlarva1)
package {
public dynamic class mc_opponentlarva1 extends UnitObjectBase {
}
}//package
Section 99
//mc_opponentlarva2 (mc_opponentlarva2)
package {
public dynamic class mc_opponentlarva2 extends UnitObjectBase {
}
}//package
Section 100
//mc_opponentlarva3 (mc_opponentlarva3)
package {
public dynamic class mc_opponentlarva3 extends UnitObjectBase {
}
}//package
Section 101
//mc_queen (mc_queen)
package {
public dynamic class mc_queen extends UnitObjectBase {
}
}//package
Section 102
//mc_roach1 (mc_roach1)
package {
public dynamic class mc_roach1 extends UnitObjectBase {
}
}//package
Section 103
//mc_roach2 (mc_roach2)
package {
public dynamic class mc_roach2 extends UnitObjectBase {
}
}//package
Section 104
//mc_roach3 (mc_roach3)
package {
public dynamic class mc_roach3 extends UnitObjectBase {
}
}//package
Section 105
//mc_scene_lv1 (mc_scene_lv1)
package {
import flash.display.*;
public dynamic class mc_scene_lv1 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 106
//mc_scene_lv2 (mc_scene_lv2)
package {
import flash.display.*;
public dynamic class mc_scene_lv2 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 107
//mc_scene_lv3 (mc_scene_lv3)
package {
import flash.display.*;
public dynamic class mc_scene_lv3 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 108
//mc_scene_lv4 (mc_scene_lv4)
package {
import flash.display.*;
public dynamic class mc_scene_lv4 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 109
//mc_scene_lv5 (mc_scene_lv5)
package {
import flash.display.*;
public dynamic class mc_scene_lv5 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 110
//mc_scene_lv6 (mc_scene_lv6)
package {
import flash.display.*;
public dynamic class mc_scene_lv6 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 111
//mc_scene_lv7 (mc_scene_lv7)
package {
import flash.display.*;
public dynamic class mc_scene_lv7 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 112
//mc_scene_lv8 (mc_scene_lv8)
package {
import flash.display.*;
public dynamic class mc_scene_lv8 extends MovieClip {
public var b2:mc_base1;
public var b4:mc_base1;
public var b9:mc_base1;
public var b5:mc_base1;
public var b6:mc_base1;
public var b7:mc_base1;
public var b1:mc_base1;
public var b3:mc_base1;
public var b8:mc_base1;
}
}//package
Section 113
//mc_stagepanel (mc_stagepanel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mc_stagepanel extends MovieClip {
public var btsfx:MovieClip;
public var btquitgame:MovieClip;
public var btmoregame:SimpleButton;
public var btspeed:MovieClip;
public var btbgm:MovieClip;
public var mcquitnote:MovieClip;
public var mcsacrificedialog:MovieClip;
public var mcupgrades:MovieClip;
public var mcwinnote:MovieClip;
public var btcreatetower2:MovieClip;
public var btcreatetower3:MovieClip;
public var btcreatetower1:MovieClip;
public var notebody:TextField;
public var mcqueenhealth:MovieClip;
public var mcloosenote:MovieClip;
public var mcgamepaused:MovieClip;
public var thisparent;
public var mcnotebg:MovieClip;
public var btpausegame:MovieClip;
public var mctowercreate:mc_towercreate;
public var noteheader:TextField;
public function mc_stagepanel(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
thisparent = parent;
mcquitnote.visible = false;
mcloosenote.visible = false;
mcwinnote.visible = false;
mcnotebg.visible = false;
}
}
}//package
Section 114
//mc_tower1 (mc_tower1)
package {
public dynamic class mc_tower1 extends TowerObjectBase {
}
}//package
Section 115
//mc_tower2 (mc_tower2)
package {
public dynamic class mc_tower2 extends TowerObjectBase {
}
}//package
Section 116
//mc_tower3 (mc_tower3)
package {
public dynamic class mc_tower3 extends TowerObjectBase {
}
}//package
Section 117
//mc_towercreate (mc_towercreate)
package {
import flash.display.*;
public dynamic class mc_towercreate extends MovieClip {
public function mc_towercreate(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop(2);
}
}
}//package
Section 118
//mc_tutorial (mc_tutorial)
package {
import flash.display.*;
import flash.events.*;
public dynamic class mc_tutorial extends MovieClip {
public var btyestutorial:SimpleButton;
public var btnotutorial:SimpleButton;
public function mc_tutorial(){
addFrameScript(5, frame6, 15, frame16, 25, frame26, 35, frame36, 45, frame46, 55, frame56, 65, frame66, 75, frame76, 85, frame86, 89, frame90);
}
function frame76(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame86(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
public function doStop(_arg1=null){
gotoAndStop(totalFrames);
}
function frame90(){
stop();
}
function frame6(){
stop();
btyestutorial.addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
btnotutorial.addEventListener(MouseEvent.MOUSE_UP, doStop, false, 0, true);
}
public function doContinue(_arg1=null){
play();
}
function frame26(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame16(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame36(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame46(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame56(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
function frame66(){
stop();
addEventListener(MouseEvent.MOUSE_UP, doContinue, false, 0, true);
}
}
}//package
Section 119
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 120
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 121
//ParticleContainer (ParticleContainer)
package {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class ParticleContainer extends Sprite {
public var stagescene;
private var matrixfilter;
public var bulletarray;
public var bloodarray;
public var blooddata;
public var bloodcontainer;
public var gamemgr;
private var matrixdata;
public var blowarray;
public function ParticleContainer(_arg1){
matrixdata = [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0]];
matrixfilter = new ColorMatrixFilter(matrixdata);
bloodarray = new Array();
blowarray = new Array();
bulletarray = new Array();
super();
stagescene = _arg1;
gamemgr = stagescene.gamemgr;
blooddata = new BitmapData(640, 480, true, 0);
bloodcontainer = new Bitmap(blooddata);
this.addChild(bloodcontainer);
}
public function createBullet(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
var _local7:*;
switch (_arg1){
case 1:
_local7 = new mc_bullet1();
break;
case 2:
_local7 = new mc_bullet2();
break;
case 3:
_local7 = new mc_bullet3();
break;
};
if (_local7){
_local7.x = _arg4;
_local7.y = _arg5;
_local7.rotation = _arg6;
this.addChild(_local7);
_local7.init(_arg1, _arg2, _arg3, _arg6);
bulletarray.push(_local7);
};
}
private function drawPermanentBlood(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local4 = Math.random();
if (_local4 < 0.25){
_local2 = new splash1((_arg1.width / 2), (_arg1.height / 2));
} else {
if (_local4 < 0.5){
_local2 = new splash2((_arg1.width / 2), (_arg1.height / 2));
} else {
if (_local4 < 0.75){
_local2 = new splash3((_arg1.width / 2), (_arg1.height / 2));
} else {
_local2 = new splash4((_arg1.width / 2), (_arg1.height / 2));
};
};
};
blooddata.merge(_local2, _local2.rect, new Point((_arg1.x - (_local2.rect.width / 2)), (_arg1.y - (_local2.rect.height / 2))), 68, 68, 68, 68);
}
public function removeBullet(_arg1){
this.removeChild(bulletarray[_arg1]);
bulletarray.splice(_arg1, 1);
}
public function createParticle(_arg1, _arg2, _arg3, _arg4=1){
var _local5:*;
switch (_arg1){
case "bloodsplash":
_local5 = new mc_bloodsplash();
bloodarray.push(_local5);
break;
case "bullet1":
case "bullet2":
case "bullet3":
_local5 = new mc_bloodsplash();
blowarray.push(_local5);
break;
};
if (_local5){
_local5.x = _arg2;
_local5.y = _arg3;
_local5.width = _arg4;
_local5.height = _arg4;
this.addChild(_local5);
};
}
public function moveClip(){
var _local1:*;
_local1 = (bloodarray.length - 1);
while (_local1 > -1) {
if (bloodarray[_local1].currentFrame == bloodarray[_local1].totalFrames){
drawPermanentBlood(bloodarray[_local1]);
this.removeChild(bloodarray[_local1]);
bloodarray.splice(_local1, 1);
};
_local1--;
};
_local1 = (blowarray.length - 1);
while (_local1 > -1) {
if (blowarray[_local1].currentFrame == blowarray[_local1].totalFrames){
drawPermanentBlow(blowarray[_local1]);
this.removeChild(blowarray[_local1]);
blowarray.splice(_local1, 1);
};
_local1--;
};
_local1 = (bulletarray.length - 1);
while (_local1 > -1) {
bulletarray[_local1].moveClip();
if (bulletarray[_local1].currentFrame == bulletarray[_local1].totalFrames){
switch (bulletarray[_local1].typed){
case 1:
createParticle("bullet1", bulletarray[_local1].x, bulletarray[_local1].y);
break;
case 2:
createParticle("bullet2", bulletarray[_local1].x, bulletarray[_local1].y);
break;
case 3:
createParticle("bullet3", bulletarray[_local1].x, bulletarray[_local1].y);
break;
};
this.removeChild(bulletarray[_local1]);
bulletarray.splice(_local1, 1);
};
_local1--;
};
}
private function drawPermanentBlow(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local4 = Math.random();
if (_local4 < 0.25){
_local2 = new splash5((_arg1.width / 2), (_arg1.height / 2));
} else {
if (_local4 < 0.5){
_local2 = new splash6((_arg1.width / 2), (_arg1.height / 2));
} else {
if (_local4 < 0.75){
_local2 = new splash7((_arg1.width / 2), (_arg1.height / 2));
} else {
_local2 = new splash8((_arg1.width / 2), (_arg1.height / 2));
};
};
};
blooddata.merge(_local2, _local2.rect, new Point((_arg1.x - (_local2.rect.width / 2)), (_arg1.y - (_local2.rect.height / 2))), 68, 68, 68, 68);
}
}
}//package
Section 122
//SceneContainer (SceneContainer)
package {
import flash.display.*;
import flash.geom.*;
public class SceneContainer extends MovieClip {
public var basearray;
public var layertower;
public var gamesound;
private var mcnotemessage;
public var towercreateprogress;
public var basearrayteam;
public var gamedata;
public var towercreatemaxtimer;
public var baserangearray;
public var teamcount;// = 2
public var layerparticle;
public var gamemgr;
public var towerarray;
public var towercreatetimer;
public var unitarrayteam;
public var layerbackground;
public var towerarrayteam;
public var layerforeground;
public var unitarray;
public var mcqueen;
private var clickcounter;// = 0
public var layertutorial;
public var mouseblocker;
public var mouseblocking;// = false
public var layerscene;
public var targetbase;
public var selectedbase;
public var towercreatetype;
public function SceneContainer(_arg1){
mouseblocking = false;
teamcount = 2;
basearray = new Array();
basearrayteam = new Array();
towerarray = new Array();
towerarrayteam = new Array();
unitarray = new Array();
unitarrayteam = new Array();
towercreatetimer = new Array();
towercreatemaxtimer = new Array();
towercreatetype = new Array();
towercreateprogress = new Array();
baserangearray = new Array();
selectedbase = new Array();
mcqueen = new mc_queen();
mcnotemessage = new mc_notemessage();
clickcounter = 0;
super();
gamemgr = _arg1;
gamedata = gamemgr.gamedata;
gamesound = gamemgr.gamesound;
if (!gamemgr.contains(this)){
gamemgr.addChild(this);
};
mouseblocker = new mc_mouseblocker();
}
public function getMiddleOfRoad(_arg1, _arg2, _arg3):Point{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local9 = _arg2;
_local7 = new Point((_arg1.x + (5 * Math.cos((((_arg3 + 90) * Math.PI) / 180)))), (_arg1.y + (5 * Math.sin((((_arg3 + 90) * Math.PI) / 180)))));
_local8 = new Point((_arg1.x + (5 * Math.cos((((_arg3 - 90) * Math.PI) / 180)))), (_arg1.y + (5 * Math.sin((((_arg3 - 90) * Math.PI) / 180)))));
_local4 = checkOnRoad(_local7);
_local6 = checkOnRoad(_local8);
_local5 = checkOnRoad(_arg2);
if (_local5){
if (!_local6){
_local9 = new Point((_arg1.x + (20 * Math.cos((((_arg3 + 15) * Math.PI) / 180)))), (_arg1.y + (20 * Math.sin((((_arg3 + 15) * Math.PI) / 180)))));
};
if (!_local4){
_local9 = new Point((_arg1.x + (20 * Math.cos((((_arg3 - 15) * Math.PI) / 180)))), (_arg1.y + (20 * Math.sin((((_arg3 - 15) * Math.PI) / 180)))));
};
} else {
if (_local6){
_local9 = new Point((_arg1.x + (20 * Math.cos((((_arg3 - 30) * Math.PI) / 180)))), (_arg1.y + (20 * Math.sin((((_arg3 - 30) * Math.PI) / 180)))));
};
if (_local4){
_local9 = new Point((_arg1.x + (20 * Math.cos((((_arg3 + 30) * Math.PI) / 180)))), (_arg1.y + (20 * Math.sin((((_arg3 + 30) * Math.PI) / 180)))));
};
};
return (_local9);
}
public function refreshMouseBlocker(_arg1){
var _local2:*;
_local2 = this.globalToLocal(_arg1);
mouseblocker.width = Math.abs((_local2.x - mouseblocker.x));
mouseblocker.height = Math.abs((_local2.y - mouseblocker.y));
if (_local2.x < mouseblocker.x){
if (mouseblocker.scaleX > 0){
mouseblocker.scaleX = (mouseblocker.scaleX * -1);
};
} else {
if (mouseblocker.scaleX < 0){
mouseblocker.scaleX = (mouseblocker.scaleX * -1);
};
};
if (_local2.y < mouseblocker.y){
if (mouseblocker.scaleY > 0){
mouseblocker.scaleY = (mouseblocker.scaleY * -1);
};
} else {
if (mouseblocker.scaleY < 0){
mouseblocker.scaleY = (mouseblocker.scaleY * -1);
};
};
}
public function destroyBaseRange(){
var _local1:*;
_local1 = (baserangearray.length - 1);
while (_local1 >= 0) {
layerbackground.removeChild(baserangearray[_local1]);
baserangearray.splice(_local1, 1);
_local1--;
};
}
private function resetNonSelectedBase(){
var _local1:*;
_local1 = 0;
while (_local1 < basearray.length) {
if (selectedbase.indexOf(basearray[_local1]) == -1){
basearray[_local1].mcselectedbase.visible = false;
};
_local1++;
};
}
public function isTargetReachable(_arg1):Boolean{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = false;
_local3 = 0;
while (_local3 < selectedbase.length) {
_local2 = ((_local2) || ((selectedbase[_local3].neighbour.indexOf(_arg1) > -1)));
_local3++;
};
return (_local2);
}
public function removeUnit(_arg1){
if (_arg1){
if (_arg1.health == 0){
gamesound.playSFX("dead");
createParticle("bloodsplash", _arg1.x, _arg1.y, _arg1.width);
};
unitarray.splice(unitarray.indexOf(_arg1), 1);
unitarrayteam[_arg1.team].splice(unitarrayteam[_arg1.team].indexOf(_arg1), 1);
layerscene.removeChild(_arg1);
};
}
public function loadLevel():int{
var _local1:*;
var _local2:*;
var _local3:*;
if (gamedata.selectedlevel < 9){
_local3 = gamedata.selectedlevel;
createLayers(gamedata.selectedlevel);
_local1 = 0;
while (_local1 < gamedata.basecount[(gamedata.selectedlevel - 1)]) {
basearray.push(layerscene[("b" + (_local1 + 1))]);
basearray[_local1].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 9);
_local1++;
};
_local1 = 0;
while (_local1 < basearray.length) {
_local2 = 0;
while (_local2 < gamedata.baseneighbour[(gamedata.selectedlevel - 1)][_local1].length) {
basearray[_local1].neighbour.push(basearray[(gamedata.baseneighbour[(gamedata.selectedlevel - 1)][_local1][_local2] - 1)]);
_local2++;
};
_local1++;
};
} else {
_local3 = (Math.floor((Math.random() * 5)) + 1);
createLayers(_local3);
_local1 = 0;
while (_local1 < gamedata.basecount[(_local3 - 1)]) {
basearray.push(layerscene[("b" + (_local1 + 1))]);
basearray[_local1].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 9);
_local1++;
};
_local1 = 0;
while (_local1 < basearray.length) {
_local2 = 0;
while (_local2 < gamedata.baseneighbour[(_local3 - 1)][_local1].length) {
basearray[_local1].neighbour.push(basearray[(gamedata.baseneighbour[(_local3 - 1)][_local1][_local2] - 1)]);
_local2++;
};
_local1++;
};
};
teamcount = gamedata.teamcount[(gamedata.selectedlevel - 1)];
_local1 = 0;
while (_local1 < teamcount) {
basearrayteam[_local1] = new Array(basearray[_local1]);
basearrayteam[_local1][0].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), _local1);
towerarrayteam[_local1] = new Array();
unitarrayteam[_local1] = new Array();
towercreatetimer[_local1] = new Array();
towercreatemaxtimer[_local1] = new Array();
towercreatetype[_local1] = new Array();
towercreateprogress[_local1] = new Array();
_local1++;
};
basearrayteam[0][0].mcattack.gotoAndPlay(3);
basearrayteam[0][0].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 0);
basearrayteam[1][0].init(gamedata.getOpponentUnitType(basearrayteam[0][0].typed, 1), 1);
if (teamcount > 2){
basearrayteam[2][0].init(gamedata.getOpponentUnitType(basearrayteam[0][0].typed, 2), 2);
};
if (gamedata.selectedlevel == 9){
mcqueen.init(gamemgr, 1, "Queen", gamedata.getUnitHealth("Queen"));
basearrayteam[1][0].addUnit(mcqueen);
};
return (_local3);
}
public function getClosestOpponentUnit(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local4 = 0;
_local2 = 0;
while (_local2 < unitarray.length) {
if (((!((_arg1 == unitarray[_local2]))) && (!((unitarray[_local2].team == _arg1.team))))){
_local5 = getDistance(_arg1, unitarray[_local2]);
if (((!(_local3)) || ((_local5 < _local4)))){
_local4 = _local5;
_local3 = unitarray[_local2];
};
};
_local2++;
};
return (_local3);
}
public function getOpponentTowerInRange(_arg1, _arg2, _arg3=75):Array{
var _local4:*;
var _local5:*;
_local4 = new Array();
_local5 = 0;
while (_local5 < towerarray.length) {
if (towerarray[_local5].team != _arg2){
if (getDistance(_arg1, towerarray[_local5]) < _arg3){
_local4.push(towerarray[_local5]);
};
};
_local5++;
};
return (_local4);
}
private function hideNote(_arg1=null){
mcnotemessage.hideNote();
}
public function getClosestUnit(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local4 = 0;
_local2 = 0;
while (_local2 < unitarray.length) {
if (_arg1 != unitarray[_local2]){
_local5 = getDistance(_arg1, unitarray[_local2]);
if (((!(_local3)) || ((_local5 < _local4)))){
_local4 = _local5;
_local3 = unitarray[_local2];
};
};
_local2++;
};
return (_local3);
}
public function pauseClip(){
var _local1:*;
_local1 = 0;
while (_local1 < unitarray.length) {
unitarray[_local1].stop();
_local1++;
};
}
public function moveBase(){
var _local1:*;
_local1 = (basearray.length - 1);
while (_local1 > -1) {
basearray[_local1].moveClip();
_local1--;
};
}
public function getAllyTowerInRange(_arg1, _arg2, _arg3=75):Array{
var _local4:*;
var _local5:*;
_local4 = new Array();
_local5 = 0;
while (_local5 < towerarray.length) {
if (towerarray[_local5].team == _arg2){
if (getDistance(_arg1, towerarray[_local5]) < _arg3){
_local4.push(towerarray[_local5]);
};
};
_local5++;
};
return (_local4);
}
public function selectBaseInRange(_arg1, _arg2, _arg3, _arg4):int{
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
if (_arg1 < _arg3){
_local6 = _arg1;
_local8 = _arg3;
} else {
_local6 = _arg3;
_local8 = _arg1;
};
if (_arg2 < _arg4){
_local7 = _arg2;
_local9 = _arg4;
} else {
_local7 = _arg4;
_local9 = _arg2;
};
resetSelection();
_local5 = 0;
while (_local5 < basearrayteam[0].length) {
if ((((((((basearrayteam[0][_local5].x >= _local6)) && ((basearrayteam[0][_local5].y >= _local7)))) && ((basearrayteam[0][_local5].x <= _local8)))) && ((basearrayteam[0][_local5].y <= _local9)))){
selectedbase.push(basearrayteam[0][_local5]);
basearrayteam[0][_local5].mcselectedbase.visible = true;
};
_local5++;
};
return (basearrayteam[0].length);
}
private function showNote(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = _arg1.typed;
_local3 = ((_arg1.team)==9) ? "Neutral" : ("Team #" + (_arg1.team + 1));
_local4 = ("Population: " + _arg1.unitarray.length);
_local5 = _arg1.x;
_local6 = ((_arg1.y)>240) ? (_arg1.y - 55) : (_arg1.y + 55);
mcnotemessage.showNote(_local2, _local3, _local4, _local5, _local6);
}
public function continueClip(){
var _local1:*;
_local1 = 0;
while (_local1 < unitarray.length) {
unitarray[_local1].play();
_local1++;
};
}
public function stopMouseBlocker(_arg1, _arg2=false){
var _local3:*;
var _local4:*;
var _local5:*;
_local5 = null;
if (mouseblocking){
_local4 = this.globalToLocal(_arg1);
mouseblocking = false;
mouseblocker.width = Math.abs((_local4.x - mouseblocker.x));
mouseblocker.height = Math.abs((_local4.y - mouseblocker.y));
if ((((mouseblocker.width < 5)) && ((mouseblocker.width < 5)))){
_local5 = getClosestBase(_local4);
if (_local5){
if (getDistance(_local5, _local4) < 40){
if (_local5.team == 0){
if (_arg2){
selectedbase.push(_local5);
_local5.mcselectedbase.visible = true;
} else {
if (selectedbase.length > 0){
if (isTargetReachable(_local5)){
targetbase = _local5;
if ((((selectedbase.length > 1)) || (!((selectedbase[0] == _local5))))){
_local5.mcattack.gotoAndPlay(3);
};
_local3 = 0;
while (_local3 < selectedbase.length) {
if (selectedbase[_local3] != _local5){
selectedbase[_local3].setTarget(_local5);
};
_local3++;
};
resetSelection();
} else {
resetSelection();
selectedbase.push(_local5);
_local5.mcselectedbase.visible = true;
};
} else {
selectedbase.push(_local5);
_local5.mcselectedbase.visible = true;
};
};
} else {
if (selectedbase.length > 0){
if (isTargetReachable(_local5)){
targetbase = _local5;
_local5.mcattack.gotoAndPlay(3);
_local3 = 0;
while (_local3 < selectedbase.length) {
selectedbase[_local3].setTarget(_local5);
_local3++;
};
resetSelection();
};
};
};
} else {
if (selectedbase.length > 0){
resetSelection();
};
if (targetbase){
targetbase = null;
};
};
};
} else {
selectBaseInRange(mouseblocker.x, mouseblocker.y, _local4.x, _local4.y);
};
if (layerforeground.contains(mouseblocker)){
layerforeground.removeChild(mouseblocker);
};
} else {
_local4 = this.globalToLocal(_arg1);
_local5 = getClosestBase(_local4);
if (_local5){
if (getDistance(_local5, _local4) < 25){
resetNonSelectedBase();
if (getDistance(_local5, _local4) < 7){
showNote(_local5);
};
} else {
resetNonSelectedBase();
hideNote();
};
};
};
}
public function moveClip(){
moveBase();
moveTower();
moveUnit();
layerparticle.moveClip();
detectBulletHit();
refreshTowerTimer();
}
public function checkOnRoad(_arg1):Boolean{
var _local2:*;
var _local3:*;
_local2 = true;
_local3 = gamemgr.mapdata.getPixel(Math.floor((_arg1.x / 4)), Math.floor((_arg1.y / 4)));
_local2 = ((_local2) && (!((_local3 == 0))));
return (_local2);
}
public function getRangedOpponentUnit(_arg1, _arg2):Array{
var _local3:*;
var _local4:*;
var _local5:*;
_local4 = new Array();
_local5 = 0;
_local3 = 0;
while (_local3 < unitarray.length) {
if (((!((_arg1 == unitarray[_local3]))) && (!((unitarray[_local3].team == _arg1.team))))){
_local5 = getDistance(_arg1, unitarray[_local3]);
if (_local5 < _arg2){
_local4.push(unitarray[_local3]);
};
};
_local3++;
};
return (_local4);
}
public function removeLayers(){
this.removeChild(layerbackground);
this.removeChild(layerparticle);
this.removeChild(layertower);
this.removeChild(layerscene);
this.removeChild(layerforeground);
this.removeChild(layertutorial);
}
public function moveUnit(){
var _local1:*;
_local1 = (unitarray.length - 1);
while (_local1 > -1) {
if (unitarray[_local1].health == 0){
removeUnit(unitarray[_local1]);
} else {
unitarray[_local1].moveClip();
};
_local1--;
};
checkWin();
}
private function resetSelection(){
var _local1:*;
_local1 = 0;
while (_local1 < selectedbase.length) {
selectedbase[_local1].mcselectedbase.visible = false;
_local1++;
};
selectedbase.splice(0);
}
public function refreshTowerTimer(){
var _local1:*;
var _local2:*;
var _local3:*;
_local2 = 0;
while (_local2 < teamcount) {
_local1 = (towercreatetimer[_local2].length - 1);
while (_local1 >= 0) {
towercreatetimer[_local2][_local1] = (towercreatetimer[_local2][_local1] + gamemgr.gamespeed);
if (towercreatetimer[_local2][_local1] > towercreatemaxtimer[_local2][_local1]){
switch (towercreatetype[_local2][_local1]){
case 1:
_local3 = new mc_tower1();
break;
case 2:
_local3 = new mc_tower2();
break;
case 3:
_local3 = new mc_tower3();
break;
};
if (((_local3) && ((gamemgr.gamestatus == "playing")))){
_local3.x = towercreateprogress[_local2][_local1].x;
_local3.y = towercreateprogress[_local2][_local1].y;
layertower.addChild(_local3);
_local3.init(gamemgr, towercreatetype[_local2][_local1], _local2, basearrayteam[_local2][0].typed);
towerarray.push(_local3);
towerarrayteam[_local2].push(_local3);
gamedata.addCreatedTower(_local2);
};
layertower.removeChild(towercreateprogress[_local2][_local1]);
towercreatetimer[_local2].splice(_local1, 1);
towercreatemaxtimer[_local2].splice(_local1, 1);
towercreatetype[_local2].splice(_local1, 1);
towercreateprogress[_local2].splice(_local1, 1);
} else {
towercreateprogress[_local2][_local1].gotoAndStop((Math.floor(((towercreatetimer[_local2][_local1] / towercreatemaxtimer[_local2][_local1]) * 100)) + 1));
};
_local1--;
};
_local2++;
};
}
public function startMouseBlocker(_arg1){
var _local2:*;
if ((((_arg1.y > 30)) && ((_arg1.y < 450)))){
_local2 = this.globalToLocal(_arg1);
mouseblocking = true;
mouseblocker.x = _local2.x;
mouseblocker.y = _local2.y;
mouseblocker.width = 1;
mouseblocker.height = 1;
if (!layerforeground.contains(mouseblocker)){
layerforeground.addChild(mouseblocker);
};
};
}
public function createBullet(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
layerparticle.createBullet(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function doUpgrade(){
var _local1:*;
var _local2:*;
var _local3:*;
_local2 = gamedata.getUnitHealth(basearrayteam[0][0].typed);
_local3 = gamedata.getUnitSpeed(basearrayteam[0][0].typed);
_local1 = 0;
while (_local1 < basearrayteam[0].length) {
basearrayteam[0][_local1].setData(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 0);
basearrayteam[0][_local1].health = _local2;
basearrayteam[0][_local1].speed = _local3;
_local1++;
};
_local1 = 0;
while (_local1 < unitarrayteam[0].length) {
unitarrayteam[0][_local1].health = _local2;
unitarrayteam[0][_local1].speed = _local3;
_local1++;
};
}
public function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (((Math.atan2(_local4, _local3) * 180) / Math.PI));
}
public function destroyTower(_arg1){
if (_arg1){
gamesound.playSFX("dead");
createParticle("bloodsplash", _arg1.x, _arg1.y, _arg1.width);
gamedata.addDestroyedTower(_arg1.team);
layertower.removeChild(_arg1);
towerarray.splice(towerarray.indexOf(_arg1), 1);
towerarrayteam[_arg1.team].splice(towerarrayteam[_arg1.team].indexOf(_arg1), 1);
};
}
public function createBaseRange(_arg1){
var _local2:*;
var _local3:*;
_local3 = (baserangearray.length - 1);
while (_local3 > (basearrayteam[0].length - 1)) {
if (layerbackground.contains(baserangearray[_local3])){
layerbackground.removeChild(baserangearray[_local3]);
};
baserangearray.splice(_local3, 1);
_local3--;
};
_local3 = 0;
while (_local3 < baserangearray.length) {
baserangearray[_local3].x = basearrayteam[0][_local3].x;
baserangearray[_local3].y = basearrayteam[0][_local3].y;
if (basearrayteam[0][_local3].unitarray.length > _arg1){
baserangearray[_local3].visible = true;
} else {
baserangearray[_local3].visible = false;
};
_local3++;
};
_local3 = baserangearray.length;
while (_local3 < basearrayteam[0].length) {
_local2 = new mc_baserange();
_local2.x = basearrayteam[0][_local3].x;
_local2.y = basearrayteam[0][_local3].y;
layerbackground.addChild(_local2);
baserangearray.push(_local2);
if (basearrayteam[0][_local3].unitarray.length > _arg1){
_local2.visible = true;
} else {
_local2.visible = false;
};
_local3++;
};
}
public function setBaseTeam(_arg1, _arg2, _arg3){
var _local4:*;
var _local5:*;
if (_arg1.team != 9){
basearrayteam[_arg1.team].splice(basearrayteam[_arg1.team].indexOf(_arg1), 1);
if ((((_arg2 == 0)) && ((basearrayteam[_arg1.team].length < 4)))){
gamemgr.startUpgrade();
};
};
if ((((_arg1.team == 0)) || ((_arg2 == 0)))){
gamedata.addTakenSpawn(_arg2);
gamedata.addLostSpawn(_arg1.team);
};
_arg1.unitarray.splice(0);
_arg1.setData(_arg3, _arg2);
basearrayteam[_arg2].push(_arg1);
_local5 = getOpponentTowerInRange(_arg1, _arg1.team);
_local4 = (_local5.length - 1);
while (_local4 > -1) {
destroyTower(_local5[_local4]);
_local4--;
};
checkWin();
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public function createLayers(_arg1){
layerbackground = new Sprite();
this.addChild(layerbackground);
layerparticle = new ParticleContainer(this);
this.addChild(layerparticle);
layertower = new Sprite();
this.addChild(layertower);
switch (_arg1){
case 1:
layerscene = new mc_scene_lv1();
break;
case 2:
layerscene = new mc_scene_lv2();
break;
case 3:
layerscene = new mc_scene_lv3();
break;
case 4:
layerscene = new mc_scene_lv4();
break;
case 5:
layerscene = new mc_scene_lv5();
break;
case 6:
layerscene = new mc_scene_lv6();
break;
case 7:
layerscene = new mc_scene_lv7();
break;
case 8:
layerscene = new mc_scene_lv8();
break;
};
this.addChild(layerscene);
layerforeground = new Sprite();
this.addChild(layerforeground);
if ((((gamedata.selectedlevel == 1)) && (!(gamedata.unlockedlevel[1])))){
layertutorial = new mc_tutorial();
} else {
layertutorial = new mc_tutorial();
layertutorial.gotoAndStop(layertutorial.totalFrames);
};
this.addChild(layertutorial);
layerforeground.addChild(mcnotemessage);
layerbackground.addChild(layerscene.getChildAt(0));
}
public function resetLevel(){
removeLayers();
basearray.splice(0);
basearrayteam.splice(0);
towerarray.splice(0);
towerarrayteam.splice(0);
unitarray.splice(0);
unitarrayteam.splice(0);
towercreatetimer.splice(0);
towercreatemaxtimer.splice(0);
towercreatetype.splice(0);
towercreateprogress.splice(0);
}
public function selectAllBase(){
var _local1:*;
_local1 = 0;
while (_local1 < basearrayteam[0].length) {
selectedbase.push(basearrayteam[0][_local1]);
basearrayteam[0][_local1].mcselectedbase.visible = true;
_local1++;
};
}
public function createTower(_arg1, _arg2, _arg3=0){
var _local4:*;
var _local5:*;
_local5 = this.globalToLocal(new Point(_arg2.x, _arg2.y));
_local4 = new mc_createtowerprogress();
_local4.x = _local5.x;
_local4.y = _local5.y;
_local4.gotoAndStop(1);
layertower.addChild(_local4);
towercreatetimer[_arg3].push(0);
towercreatemaxtimer[_arg3].push(gamedata.towertime[(_arg1 - 1)]);
towercreatetype[_arg3].push(_arg1);
towercreateprogress[_arg3].push(_local4);
}
public function getClosestBase(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local2 = 0;
while (_local2 < basearray.length) {
_local5 = getDistance(basearray[_local2], _arg1);
if (_local3){
if (_local5 < _local4){
_local4 = _local5;
_local3 = basearray[_local2];
};
} else {
_local4 = _local5;
_local3 = basearray[_local2];
};
_local2++;
};
return (_local3);
}
public function createParticle(_arg1, _arg2, _arg3, _arg4=1){
layerparticle.createParticle(_arg1, _arg2, _arg3, _arg4);
}
public function reduceUnits(_arg1, _arg2){
if (_arg1.unitarray.length > _arg2){
_arg1.unitarray.splice(0, _arg2);
_arg1.unitarrayhealth.splice(0, _arg2);
if (_arg1.team == 0){
gamedata.addDeadUnit(_arg1.team, _arg2);
};
gamesound.playSFX("dead");
createParticle("bloodsplash", _arg1.x, _arg1.y);
};
}
public function checkWin():Boolean{
var _local1:*;
var _local2:*;
_local2 = true;
_local1 = 1;
while (_local1 < basearrayteam.length) {
_local2 = ((((_local2) && ((basearrayteam[_local1].length == 0)))) && ((unitarrayteam[_local1].length == 0)));
_local1++;
};
if (_local2){
gamemgr.gamestatus = "stopplayerwin";
} else {
if (basearrayteam[0].length == 0){
gamemgr.gamestatus = "stopplayerloose";
};
};
return (_local2);
}
public function addUnit(_arg1){
if (_arg1){
unitarray.push(_arg1);
unitarrayteam[_arg1.team].push(_arg1);
layerscene.addChild(_arg1);
};
}
public function detectBulletHit(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = (layerparticle.bulletarray.length - 1);
while (_local1 > -1) {
_local3 = getClosestOpponentUnit(layerparticle.bulletarray[_local1]);
if (((_local3) && ((getDistance(_local3, layerparticle.bulletarray[_local1]) < 10)))){
switch (layerparticle.bulletarray[_local1].typed){
case 1:
if (_local3.health > layerparticle.bulletarray[_local1].attack){
_local3.health = (_local3.health - layerparticle.bulletarray[_local1].attack);
if (_local3.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local3.health / _local3.maxhealth) * 100)) + 1));
};
} else {
_local3.health = 0;
if (_local3.team == 0){
gamedata.addDeadUnit(_local3.team);
} else {
if (layerparticle.bulletarray[_local1].team == 0){
gamedata.addDeadUnit(_local3.team);
gamedata.addKilledUnit(_local3.typed);
if (_local3.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local3.health / _local3.maxhealth) * 100)) + 1));
};
};
};
};
break;
case 2:
_local4 = getRangedOpponentUnit(layerparticle.bulletarray[_local1], 50);
_local2 = 0;
while (_local2 < _local4.length) {
if (_local4[_local2].health > layerparticle.bulletarray[_local1].attack){
_local4[_local2].health = (_local4[_local2].health - layerparticle.bulletarray[_local1].attack);
if (_local4[_local2].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local4[_local2].health / _local4[_local2].maxhealth) * 100)) + 1));
};
} else {
_local4[_local2].health = 0;
if (_local4[_local2].team == 0){
gamedata.addDeadUnit(_local4[_local2].team);
} else {
if (layerparticle.bulletarray[_local1].team == 0){
gamedata.addDeadUnit(_local4[_local2].team);
gamedata.addKilledUnit(_local4[_local2].typed);
};
};
if (_local4[_local2].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local4[_local2].health / _local4[_local2].maxhealth) * 100)) + 1));
};
};
_local2++;
};
break;
case 3:
_local4 = getRangedOpponentUnit(layerparticle.bulletarray[_local1], 50);
_local2 = 0;
while (_local2 < _local4.length) {
if (_local4[_local2].health > layerparticle.bulletarray[_local1].attack){
if (_local4[_local2].speed > 1){
_local4[_local2].speed = (_local4[_local2].speed * 0.5);
};
_local4[_local2].health = (_local4[_local2].health - layerparticle.bulletarray[_local1].attack);
if (_local4[_local2].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local4[_local2].health / _local4[_local2].maxhealth) * 100)) + 1));
};
} else {
_local4[_local2].health = 0;
if (_local4[_local2].team == 0){
gamedata.addDeadUnit(_local4[_local2].team);
} else {
if (layerparticle.bulletarray[_local1].team == 0){
gamedata.addDeadUnit(_local4[_local2].team);
gamedata.addKilledUnit(_local4[_local2].typed);
};
};
if (_local4[_local2].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_local4[_local2].health / _local4[_local2].maxhealth) * 100)) + 1));
};
};
_local2++;
};
break;
};
layerparticle.removeBullet(_local1);
};
_local1--;
};
}
public function moveTower(){
var _local1:*;
_local1 = (towerarray.length - 1);
while (_local1 > -1) {
towerarray[_local1].moveClip();
_local1--;
};
}
public function getClosestAllyUnit(_arg1):MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = null;
_local4 = 0;
_local2 = 0;
while (_local2 < unitarray.length) {
if (((!((_arg1 == unitarray[_local2]))) && ((unitarray[_local2].team == _arg1.team)))){
_local5 = getDistance(_arg1, unitarray[_local2]);
if (((!(_local3)) || ((_local5 < _local4)))){
_local4 = _local5;
_local3 = unitarray[_local2];
};
};
_local2++;
};
return (_local3);
}
}
}//package
Section 123
//sfx_btnover (sfx_btnover)
package {
public dynamic class sfx_btnover extends BaseSound {
}
}//package
Section 124
//sfx_dead1 (sfx_dead1)
package {
public dynamic class sfx_dead1 extends BaseSound {
}
}//package
Section 125
//sfx_dead2 (sfx_dead2)
package {
public dynamic class sfx_dead2 extends BaseSound {
}
}//package
Section 126
//sfx_dead3 (sfx_dead3)
package {
public dynamic class sfx_dead3 extends BaseSound {
}
}//package
Section 127
//SoundManager (SoundManager)
package {
public class SoundManager {
public var bgmVolume:Number;// = 1
private var bgmambience;
private var sfxbtnover;
private var sndFx;
private var sndBgm;// = null
private var sfxdead1;
private var sfxdead2;
private var sfxdead3;
private var bgmcover;
private var myParent;
private var usingsfxarray;// = false
public var sfxVolume:Number;// = 1
public function SoundManager(){
bgmVolume = 1;
sfxVolume = 1;
sfxbtnover = new sfx_btnover();
sfxdead1 = new sfx_dead1();
sfxdead2 = new sfx_dead2();
sfxdead3 = new sfx_dead3();
bgmcover = new bgm_cover();
bgmambience = new bgm_ambience();
sndBgm = null;
sndFx = new Array();
usingsfxarray = false;
super();
}
private function startSFX(_arg1, _arg2=1){
var _local3:*;
_local3 = 0;
if (sndFx.length < 10){
_arg1.playSound();
_arg1.setVolume((_arg2 * sfxVolume));
sndFx.push(_arg1);
} else {
_local3 = (sndFx.length - 1);
while (_local3 >= 0) {
if (!sndFx[_local3].sndPlaying){
sndFx[_local3].stopSound();
sndFx.splice(_local3, 1);
};
_local3--;
};
_arg1.playSound();
_arg1.setVolume((_arg2 * sfxVolume));
sndFx.push(_arg1);
};
}
public function adjustSFX(_arg1=1){
sfxVolume = _arg1;
}
public function refreshVolume(){
if (sndBgm){
sndBgm.setVolume(bgmVolume);
};
}
public function stopSFX(){
var _local1:*;
if (usingsfxarray){
_local1 = (sndFx.length - 1);
while (_local1 >= 0) {
if (sndFx[_local1].sndPlaying){
sndFx[_local1].stopSound();
};
sndFx.splice(_local1, 1);
_local1--;
};
} else {
if (sfxbtnover.sndPlaying){
sfxbtnover.stopSound();
};
if (sfxdead1.sndPlaying){
sfxdead1.stopSound();
};
if (sfxdead2.sndPlaying){
sfxdead2.stopSound();
};
if (sfxdead3.sndPlaying){
sfxdead3.stopSound();
};
};
}
public function stopBGM(){
if (sndBgm){
sndBgm.stopSound();
sndBgm = null;
};
}
private function startSFX2(_arg1, _arg2=1){
_arg1.playSound();
_arg1.setVolume((_arg2 * sfxVolume));
}
public function playSFX(_arg1:String=""){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Math.random();
_local3 = false;
_local4 = 0;
if (usingsfxarray){
switch (_arg1){
case "btnover":
startSFX(new sfx_btnover(), 1);
break;
case "dead":
if (_local2 < 3){
startSFX(new sfx_dead1(), 1);
} else {
if (_local2 < 6){
startSFX(new sfx_dead2(), 1);
} else {
startSFX(new sfx_dead3(), 1);
};
};
break;
};
} else {
switch (_arg1){
case "btnover":
startSFX2(sfxbtnover, 1);
break;
case "dead":
if (_local2 < 3){
startSFX2(sfxdead1, 1);
} else {
if (_local2 < 6){
startSFX2(sfxdead2, 1);
} else {
startSFX2(sfxdead3, 1);
};
};
break;
};
};
}
public function playBGM(_arg1:String=""){
switch (_arg1){
case "cover":
if (sndBgm != bgmcover){
stopBGM();
sndBgm = bgmcover;
sndBgm.playSoundLoop();
sndBgm.setVolume((1 * bgmVolume));
} else {
sndBgm.setVolume((1 * bgmVolume));
};
break;
case "ambience":
if (sndBgm != bgmambience){
stopBGM();
sndBgm = bgmambience;
sndBgm.playSoundLoop();
sndBgm.setVolume((1 * bgmVolume));
} else {
sndBgm.setVolume((1 * bgmVolume));
};
break;
};
}
public function adjustBGM(_arg1=1){
bgmVolume = _arg1;
refreshVolume();
}
}
}//package
Section 128
//splash1 (splash1)
package {
import flash.display.*;
public dynamic class splash1 extends BitmapData {
public function splash1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 129
//splash2 (splash2)
package {
import flash.display.*;
public dynamic class splash2 extends BitmapData {
public function splash2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 130
//splash3 (splash3)
package {
import flash.display.*;
public dynamic class splash3 extends BitmapData {
public function splash3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 131
//splash4 (splash4)
package {
import flash.display.*;
public dynamic class splash4 extends BitmapData {
public function splash4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 132
//splash5 (splash5)
package {
import flash.display.*;
public dynamic class splash5 extends BitmapData {
public function splash5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 133
//splash6 (splash6)
package {
import flash.display.*;
public dynamic class splash6 extends BitmapData {
public function splash6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 134
//splash7 (splash7)
package {
import flash.display.*;
public dynamic class splash7 extends BitmapData {
public function splash7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 135
//splash8 (splash8)
package {
import flash.display.*;
public dynamic class splash8 extends BitmapData {
public function splash8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 136
//TimeParser (TimeParser)
package {
import flash.utils.*;
public class TimeParser {
public var stime:String;
public var hour:uint;
public var smsecond:String;
public var ssecond:String;
public var time:uint;
public var msecond:uint;
public var second:uint;
public var minute:uint;
public var shour:String;
public var sminute:String;
public function TimeParser(_arg1=null){
if (_arg1){
time = _arg1;
} else {
time = getTimer();
};
Parse(time);
}
public function Parse(_arg1:uint, _arg2:String=":"):String{
time = _arg1;
hour = Math.floor((time / 3600000));
minute = (Math.floor((time / 60000)) % 60);
second = (Math.floor((time / 1000)) % 60);
msecond = (Math.floor((time / 10)) % 100);
shour = String(hour);
if (minute < 10){
sminute = ("0" + String(minute));
} else {
sminute = String(minute);
};
if (second < 10){
ssecond = ("0" + String(second));
} else {
ssecond = String(second);
};
if (msecond < 10){
smsecond = ("0" + String(msecond));
} else {
smsecond = String(msecond);
};
if (hour > 0){
stime = ((((shour + _arg2) + sminute) + _arg2) + ssecond);
} else {
stime = ((sminute + _arg2) + ssecond);
};
return (stime);
}
}
}//package
Section 137
//TowerObjectBase (TowerObjectBase)
package {
import flash.display.*;
public class TowerObjectBase extends MovieClip {
public var attacktimer;// = 0
public var attack;
public var stagescene;
public var typed;
public var team;// = 9
public var gamemgr;
public var cannon:MovieClip;
public var attackspeed;// = 10
public function TowerObjectBase(){
team = 9;
attacktimer = 0;
attackspeed = 10;
super();
}
public function init(_arg1, _arg2, _arg3, _arg4){
gamemgr = _arg1;
stagescene = gamemgr.stagescene;
typed = _arg2;
team = _arg3;
attack = (gamemgr.gamedata.getUnitHealth(_arg4) / 2);
attackspeed = (10 * _arg2);
switch (_arg4){
case "Larva 1":
case "Larva 2":
case "Larva 3":
if (team == 0){
this.gotoAndStop(1);
cannon.gotoAndStop(1);
} else {
this.gotoAndStop(2);
cannon.gotoAndStop(2);
};
break;
case "Ant 1":
case "Ant 2":
case "Ant 3":
this.gotoAndStop(3);
cannon.gotoAndStop(3);
break;
case "Roach 1":
case "Roach 2":
case "Roach 3":
this.gotoAndStop(4);
cannon.gotoAndStop(4);
break;
case "Beetle 1":
case "Beetle 2":
case "Beetle 3":
this.gotoAndStop(5);
cannon.gotoAndStop(5);
break;
case "Hopper 1":
case "Hopper 2":
case "Hopper 3":
this.gotoAndStop(6);
cannon.gotoAndStop(6);
break;
};
}
private function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (((180 - ((Math.atan2(_local4, _local3) * 180) / Math.PI)) + 90));
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public function moveClip(){
moveTower();
}
public function moveTower(){
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = stagescene.getClosestOpponentUnit(this);
if (_local1){
_local2 = getDistance(this, _local1);
if (_local2 < 75){
_local3 = getAngle(this, _local1);
cannon.rotation = _local3;
attacktimer = (attacktimer + gamemgr.gamespeed);
if (attacktimer > attackspeed){
attacktimer = 0;
stagescene.createBullet(typed, team, attack, this.x, this.y, (cannon.rotation - 90));
};
};
};
}
}
}//package
Section 138
//UnitObjectBase (UnitObjectBase)
package {
import flash.display.*;
import flash.geom.*;
public class UnitObjectBase extends MovieClip {
public var attack;
public var stagescene;
public var speed;
public var health;
public var typed;
public var team;// = 9
public var sourcebase;
public var gamedata;
public var maxhealth;
public var stuckobject;// = 0
public var stuckcounter;// = 0
public var gamemgr;
public var targetbase;
public function UnitObjectBase(){
team = 9;
stuckcounter = 0;
stuckobject = 0;
super();
}
private function moveUnit(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
_local10 = speed;
_local1 = getDistance(this, targetbase);
if (_local1 < 20){
targetbase.addUnit(this);
if (health > 0){
stagescene.removeUnit(this);
};
} else {
if (_local1 < 50){
this.rotation = getAngle(this, targetbase);
} else {
_local2 = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation + 90) * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation + 90) * Math.PI) / 180)));
_local6 = stagescene.checkOnRoad(new Point((this.x + _local2), (this.y + _local3)));
_local2 = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation - 90) * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation - 90) * Math.PI) / 180)));
_local7 = stagescene.checkOnRoad(new Point((this.x + _local2), (this.y + _local3)));
if (!_local6){
this.rotation = (this.rotation - 5);
};
if (!_local7){
this.rotation = (this.rotation + 5);
};
if (((!(_local6)) && (!(_local7)))){
this.rotation = getAngle(this, targetbase);
};
_local2 = ((gamemgr.gamespeed * speed) * Math.cos(((this.rotation * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * speed) * Math.sin(((this.rotation * Math.PI) / 180)));
if (!stagescene.checkOnRoad(new Point(((this.x + _local2) + _local2), ((this.y + _local3) + _local3)))){
_local10 = (speed / 2);
};
};
};
_local11 = this.x;
_local12 = this.y;
_local2 = ((gamemgr.gamespeed * _local10) * Math.cos(((this.rotation * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * _local10) * Math.sin(((this.rotation * Math.PI) / 180)));
this.x = (this.x + _local2);
this.y = (this.y + _local3);
_local4 = stagescene.getClosestOpponentUnit(this);
if (((((_local4) && ((_local4.health > 0)))) && ((getDistance(this, _local4) < ((this.width + _local4.width) / 2))))){
moveAttack(_local4);
this.x = _local11;
this.y = _local12;
} else {
_local4 = stagescene.getClosestAllyUnit(this);
if (((_local4) && ((getDistance(this, _local4) < ((this.width + _local4.width) / 2))))){
if (stuckcounter < 5){
stuckcounter++;
this.x = _local11;
this.y = _local12;
_local2 = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation + 90) * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation + 90) * Math.PI) / 180)));
_local6 = stagescene.checkOnRoad(new Point((this.x + _local2), (this.y + _local3)));
_local2 = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation - 90) * Math.PI) / 180)));
_local3 = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation - 90) * Math.PI) / 180)));
_local7 = stagescene.checkOnRoad(new Point((this.x + _local2), (this.y + _local3)));
if (!_local6){
this.rotation = (this.rotation - 10);
};
if (!_local7){
this.rotation = (this.rotation + 10);
};
if (((!(_local6)) && (!(_local7)))){
this.rotation = getAngle(this, targetbase);
};
};
};
};
}
public function init(_arg1, _arg2, _arg3, _arg4){
gamemgr = _arg1;
typed = _arg3;
team = _arg2;
health = _arg4;
gamedata = gamemgr.gamedata;
stagescene = gamemgr.stagescene;
speed = gamedata.getUnitSpeed(typed);
maxhealth = gamedata.getUnitHealth(typed);
attack = gamedata.getUnitAttack(typed);
}
private function getAngle(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return ((180 - ((Math.atan2(_local4, _local3) * 180) / Math.PI)));
}
private function getDistance(_arg1, _arg2):Number{
var _local3:*;
var _local4:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg2.y - _arg1.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
private function moveAttack(_arg1){
if (_arg1.health > attack){
_arg1.health = (_arg1.health - attack);
if (_arg1.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_arg1.health / _arg1.maxhealth) * 100)) + 1));
};
} else {
_arg1.health = 0;
if (team == 0){
gamemgr.gamedata.addDeadUnit(_arg1.team);
gamemgr.gamedata.addKilledUnit(_arg1.typed);
} else {
if (_arg1.team == 0){
gamemgr.gamedata.addDeadUnit(_arg1.team);
};
};
};
}
public function moveClip(){
moveUnit();
if (typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((health / maxhealth) * 100)) + 1));
};
}
}
}//package