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(){
super();
addFrameScript(0, frame1);
}
public function goSponsor(e=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(){
super();
addFrameScript(0, frame1, 1, frame2);
}
public function bgmOnClick(e=null){
gotoAndStop(2);
}
public function bgmOffClick(e=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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
addFrameScript(0, frame1, 1, frame2);
}
public function pauseClick(e=null){
gotoAndStop(2);
}
public function resumeClick(e=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(){
super();
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(){
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
public function cancelClick(e=null){
gotoAndStop(1);
}
public function continueClick(e=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(e=null){
gotoAndStop(2);
}
public function restartClick(e=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(){
super();
addFrameScript(0, frame1, 1, frame2);
}
public function sfxOn(e=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(e=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(){
super();
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(e=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(e=null){
gotoAndStop(2);
}
public function bt3Click(e=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(){
super();
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(){
super();
addFrameScript(0, frame1);
}
public function goSponsor(e=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(){
super();
addFrameScript(0, frame1);
}
public function goSponsor(e=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;
public function BubbleBoxLogoGraphicMc_190(){
super();
}
}
}//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(){
super();
addFrameScript(0, frame1, 160, frame161);
}
public function goSponsor(e){
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 url;
public var item1:ContextMenuItem;
public var usecpm;
public var prerollid;
public var gamedata;
public var gamemgr;
public function MainTimeline(){
super();
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(e=null){
var targetURL:*;
targetURL = "http://artlogicgames.com/?gamereferral=bugwar";
navigateToURL(new URLRequest(targetURL), "_blank");
}
public function goSponsor(_param:String){
var targetURL:*;
targetURL = ("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1390&subid=" + _param);
navigateToURL(new URLRequest(targetURL), "_blank");
}
function frame10(){
gamedata = new DataManager(this);
}
function frame12(){
stop();
}
function frame1(){
stage.scaleMode = StageScaleMode.NO_SCALE;
prerollid = "629Q3A4AE391";
itlevelid = "630QE61FF733";
usecpm = true;
gamelocked = false;
url = loaderInfo.loaderURL;
if (url.indexOf("armorgames.com") == -1){
MochiBot.track(this, "e239531e");
};
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(e=null){
var targetURL:*;
targetURL = "http://www.bubblebox.com/clickreg.php?type=gamestats&id=1390&subid=walkthrough&action=walkthrough_bugwar";
navigateToURL(new URLRequest(targetURL), "_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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
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(){
super();
addFrameScript(0, frame1);
}
public function goExit(e=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(e=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(){
super();
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(){
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
public function goExit(e=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(e=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame5(){
stop();
}
public function goPage3(e=null){
gotoAndStop(3);
}
public function goPage4(e=null){
gotoAndStop(4);
}
function frame2(){
stop();
}
public function goPage2(e=null){
gotoAndStop(2);
}
public function goPage6(e=null){
gotoAndStop(6);
}
public function goPage1(e=null){
gotoAndStop(1);
}
function frame4(){
stop();
}
public function goPage5(e=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(){
super();
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(){
super();
addFrameScript(0, frame1, 1, frame2, 59, frame60, 125, frame126);
}
public function goNextLevel(e){
thisparent.gamedata.prepareLevel();
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
if (cpmad){
mcplaceadd.removeChild(cpmad);
};
};
} else {
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
MochiAd.unload(mcplaceadd);
};
};
thisparent.gotoAndPlay("playpage");
}
function frame1(){
thisparent = parent;
thisparent.gamedata.recordScore(false);
}
public function playBtnSound(e=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame2(){
if (thisparent.usecpm){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
mcplaceadd.visible = false;
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
cpmad = new AdLoader(thisparent.itlevelid);
mcplaceadd.addChild(cpmad);
};
};
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
MochiAd.showClickAwayAd({clip:mcplaceadd, id:"c7d3518b0acb0cd6"});
};
};
}
public function goMenuPage(e){
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
if (cpmad){
mcplaceadd.removeChild(cpmad);
};
};
} else {
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
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(){
super();
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(){
super();
addFrameScript(0, frame1);
}
public function goSponsor(e){
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(){
super();
addFrameScript(0, frame1, 2, frame3);
}
public function goPlayGame(e=null){
var res:*;
res = false;
if (thisparent.gamelocked){
res = ((res) || ((thisparent.url.indexOf("bubblebox.com") > -1)));
};
btplaygame.removeEventListener(MouseEvent.MOUSE_UP, goPlayGame);
if (thisparent.usecpm){
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
if (cpmad){
mcpreloaderbig.removeChild(cpmad);
};
};
} else {
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
MochiAd.unload(mcpreloaderbig);
};
};
if (thisparent.gamelocked){
if (res){
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(e=null){
var pl:*;
var pt:*;
var pc:*;
pl = parent.loaderInfo.bytesLoaded;
pt = parent.loaderInfo.bytesTotal;
pc = Math.ceil(((pl / pt) * 100));
mcpreloaderbar.gotoAndStop((pc + 1));
if (pc == 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){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
mcpreloaderbig.visible = false;
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
cpmad = new AdLoader(thisparent.prerollid);
mcpreloaderbig.addChild(cpmad);
};
};
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
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(){
super();
addFrameScript(0, frame1);
}
public function goSponsor(e){
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(){
super();
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(){
super();
addFrameScript(0, frame1, 7, frame8, 13, frame14);
}
public function goAccept(e=null){
thisparent.resetData();
btyesclear.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnoclear.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
public function goRefuse(e=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(){
super();
addFrameScript(0, frame1, 7, frame8, 13, frame14);
}
public function goAccept(e=null){
thisparent.thisparent.doCreateTower();
btyessacrifice.removeEventListener(MouseEvent.MOUSE_UP, goAccept);
btnosacrifice.removeEventListener(MouseEvent.MOUSE_UP, goRefuse);
gotoAndPlay("hiding");
}
public function goRefuse(e=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 btlevel5:MovieClip;
public var btlevel6:MovieClip;
public var btlevel7:MovieClip;
public var btlevel8:MovieClip;
public var sndmgr;
public var btcredits:SimpleButton;
public var btlevel4:MovieClip;
public var btlevel3:MovieClip;
public var btqueenlevel:MovieClip;
public var bttryother:SimpleButton;
public var gamedata;
public var thisparent;
public var btsfx:MovieClip;
public var btinstructions:SimpleButton;
public var btbgm:MovieClip;
public var mctoprightwalkthrough:MovieClip;
public var btwalkthrough:SimpleButton;
public var btplaygame:SimpleButton;
public var btresetgame:SimpleButton;
public var btlevel1:MovieClip;
public function mc_selectlevel_191(){
super();
addFrameScript(0, frame1, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 35, frame36);
}
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 playSound(e=null){
sndmgr.playSFX("btnover");
}
function frame14(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame16(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame15(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame18(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
public function goPlayGame(e=null){
thisparent.gotoAndPlay("playpage");
}
function frame17(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame11(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame12(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame13(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame1(){
thisparent = parent;
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
mctoprightwalkthrough.visible = false;
};
}
function frame19(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame20(){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
};
}
function frame36(){
stop();
gamedata = thisparent.gamedata;
sndmgr = thisparent.sndmgr;
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
btwalkthrough.visible = false;
mctoprightwalkthrough.visible = false;
};
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 toggleSFX(e=null){
if (sndmgr.sfxVolume == 1){
sndmgr.adjustSFX(0);
} else {
sndmgr.adjustSFX(1);
};
}
public function goCredits(e=null){
thisparent.gotoAndPlay("creditspage");
}
public function goInstructions(e=null){
thisparent.gotoAndPlay("instructionspage");
}
public function toggleBGM(e=null){
if (sndmgr.bgmVolume == 1){
sndmgr.adjustBGM(0);
} else {
sndmgr.adjustBGM(1);
};
}
public function goWalkthrough(e=null){
thisparent.goWalkthrough();
}
public function goKongregate(e=null){
thisparent.goSponsor("cover");
}
public function goTryOther(e=null){
thisparent.goSponsor("cover");
}
public function selectLevel1(e=null){
if (thisparent.gamedata.unlockedlevel[0]){
thisparent.gamedata.selectedlevel = 1;
};
refreshButtons();
}
public function selectLevel4(e=null){
if (thisparent.gamedata.unlockedlevel[3]){
thisparent.gamedata.selectedlevel = 4;
};
refreshButtons();
}
public function selectLevel5(e=null){
if (thisparent.gamedata.unlockedlevel[4]){
thisparent.gamedata.selectedlevel = 5;
};
refreshButtons();
}
public function selectLevel6(e=null){
if (thisparent.gamedata.unlockedlevel[5]){
thisparent.gamedata.selectedlevel = 6;
};
refreshButtons();
}
public function selectLevel7(e=null){
if (thisparent.gamedata.unlockedlevel[6]){
thisparent.gamedata.selectedlevel = 7;
};
refreshButtons();
}
public function selectLevel8(e=null){
if (thisparent.gamedata.unlockedlevel[7]){
thisparent.gamedata.selectedlevel = 8;
};
refreshButtons();
}
public function selectLevel3(e=null){
if (thisparent.gamedata.unlockedlevel[2]){
thisparent.gamedata.selectedlevel = 3;
};
refreshButtons();
}
public function selectLevel9(e=null){
if (thisparent.gamedata.bonuslevel != "locked"){
thisparent.gamedata.selectedlevel = 9;
refreshButtons();
};
}
public function selectLevel2(e=null){
if (thisparent.gamedata.unlockedlevel[1]){
thisparent.gamedata.selectedlevel = 2;
};
refreshButtons();
}
public function resetData(){
gamedata.resetData();
gamedata.saveData();
refreshButtons();
}
public function goResetGame(e=null){
mcresetdialog.gotoAndPlay(3);
}
public function goArtlogic(e=null){
thisparent.goArtlogic();
}
}
}//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(){
super();
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(e){
gotoAndPlay("showtotal");
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
}
public function goStats3(e){
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(e){
gotoAndPlay("showlastplay");
removeEventListener(Event.ENTER_FRAME, frameEnterCurrent);
removeEventListener(Event.ENTER_FRAME, frameEnterTotal);
removeEventListener(Event.ENTER_FRAME, frameEnterStats);
}
function frame40(){
stop();
}
public function frameEnterTotal(e){
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(e){
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(e){
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(){
super();
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(){
super();
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(){
super();
addFrameScript(0, frame1, 1, frame2, 58, frame59, 129, frame130);
}
public function goNextLevel(e){
thisparent.gamedata.prepareLevel();
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
if (cpmad){
mcplaceadd.removeChild(cpmad);
};
};
} else {
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
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(e=null){
thisparent.sndmgr.playSFX("btnover");
}
function frame2(){
if (thisparent.usecpm){
if ((((thisparent.url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
mcplaceadd.visible = false;
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
cpmad = new AdLoader(thisparent.itlevelid);
mcplaceadd.addChild(cpmad);
};
};
} else {
if (thisparent.url.indexOf("kongregate.com") == -1){
MochiAd.showClickAwayAd({clip:mcplaceadd, id:"c7d3518b0acb0cd6"});
};
};
}
public function goMenuPage(e){
btgomenu.removeEventListener(MouseEvent.MOUSE_UP, goMenuPage);
btcontinue.removeEventListener(MouseEvent.MOUSE_UP, goNextLevel);
if (thisparent.usecpm){
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
if (cpmad){
mcplaceadd.removeChild(cpmad);
};
};
} else {
if ((((((thisparent.url.indexOf("kongregate.com") == -1)) && ((thisparent.url.indexOf("armorgames.com") == -1)))) && ((thisparent.url.indexOf("artlogicgames.com") == -1)))){
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(){
super();
addFrameScript(0, frame1);
}
function frame1(){
stop();
maintimeline = stage.getChildAt(0);
bttoprightwalkthrough.addEventListener(MouseEvent.CLICK, goWalkthrough, false, 0, true);
}
public function goWalkthrough(e=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(contentspotid:String){
super();
this.contentspotid = contentspotid;
addEventListener(Event.ADDED, addedHandler);
}
private function addedHandler(event:Event):void{
var cpmstarViewSWFUrl:String;
var container:DisplayObjectContainer;
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
cpmstarViewSWFUrl = "http://server.cpmstar.com/adviewas3.swf";
container = parent;
cpmstarLoader = new Loader();
cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler);
cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler);
cpmstarLoader.load(new URLRequest(((cpmstarViewSWFUrl + "?contentspotid=") + contentspotid)));
addChild(cpmstarLoader);
}
private function dispatchHandler(event:Event):void{
dispatchEvent(event);
}
}
}//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(_typed, _team=9){
var i:*;
stagescene = MovieClip(this.parent.parent);
gamemgr = MovieClip(this.parent.parent.parent);
setData(_typed, _team);
unitarray.splice(0);
unitarrayhealth.splice(0);
if (team != 9){
i = 0;
while (i < (10 + Math.floor((10 * Math.random())))) {
addUnit();
i++;
};
} else {
i = 0;
while (i < (5 + Math.floor((5 * Math.random())))) {
addUnit();
i++;
};
};
showNote();
}
public function setData(_typed, _team=9){
typed = _typed;
team = _team;
unitcreatetime = gamemgr.gamedata.getUnitCreateTime(_typed);
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(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (((Math.atan2(dy, dx) * 180) / Math.PI));
}
public function sendUnit(n=0){
var newunit:*;
var obj:*;
var objdist:*;
var senddistance:*;
var angledelta:*;
var pt:*;
if (((targetbase) && ((unitarray.length > 0)))){
angledelta = ((Math.random() * 10) - 5);
pt = new Point((this.x + (20 * Math.cos((((targetangle + angledelta) * Math.PI) / 180)))), (this.y + (20 * Math.sin((((targetangle + angledelta) * Math.PI) / 180)))));
obj = getClosestUnit(pt);
if (((obj) && ((obj.team == team)))){
objdist = getDistance(pt, obj);
senddistance = obj.width;
} else {
objdist = 100;
senddistance = 0;
};
if (objdist > senddistance){
switch (unitarray[n]){
case "Larva 1":
if (team == 0){
newunit = new mc_larva1();
} else {
newunit = new mc_opponentlarva1();
};
break;
case "Larva 2":
if (team == 0){
newunit = new mc_larva2();
} else {
newunit = new mc_opponentlarva2();
};
break;
case "Larva 3":
if (team == 0){
newunit = new mc_larva3();
} else {
newunit = new mc_opponentlarva3();
};
break;
case "Ant 1":
newunit = new mc_ant1();
break;
case "Ant 2":
newunit = new mc_ant2();
break;
case "Ant 3":
newunit = new mc_ant3();
break;
case "Roach 1":
newunit = new mc_roach1();
break;
case "Roach 2":
newunit = new mc_roach2();
break;
case "Roach 3":
newunit = new mc_roach3();
break;
case "Beetle 1":
newunit = new mc_beetle1();
break;
case "Beetle 2":
newunit = new mc_beetle2();
break;
case "Beetle 3":
newunit = new mc_beetle3();
break;
case "Hopper 1":
newunit = new mc_hopper1();
break;
case "Hopper 2":
newunit = new mc_hopper2();
break;
case "Hopper 3":
newunit = new mc_hopper3();
break;
case "Queen":
newunit = new mc_queen();
break;
};
newunit.init(gamemgr, team, unitarray[n], unitarrayhealth[n]);
newunit.sourcebase = this;
newunit.targetbase = targetbase;
newunit.stuckcounter = 0;
newunit.rotation = targetangle;
newunit.x = pt.x;
newunit.y = pt.y;
stagescene.addUnit(newunit);
unitarray.splice(n, 1);
unitarrayhealth.splice(n, 1);
targetcount--;
showNote();
};
};
}
public function getClosestUnit(pt):MovieClip{
var i:*;
var obj:*;
var dist1:*;
var dist2:*;
obj = null;
i = 0;
while (i < stagescene.unitarray.length) {
dist2 = getDistance(pt, stagescene.unitarray[i]);
if (i > 0){
if (dist1 > dist2){
dist1 = dist2;
obj = stagescene.unitarray[i];
};
} else {
dist1 = dist2;
obj = stagescene.unitarray[i];
};
i++;
};
return (obj);
}
private function getDistance(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
private function showNote(){
nametxt.text = typed;
counttxt.text = String(unitarray.length);
}
public function createUnit(){
var createlevel:*;
var rnd:*;
rnd = (Math.random() * 20);
if (unitarray.length < (10 + rnd)){
createlevel = unitcreatetime;
} else {
if (unitarray.length < (25 + rnd)){
createlevel = (unitcreatetime * 2);
} else {
if (unitarray.length < (50 + rnd)){
createlevel = (unitcreatetime * 3);
} else {
if (unitarray.length < (75 + rnd)){
createlevel = (unitcreatetime * 4);
} else {
if (unitarray.length < (100 + rnd)){
createlevel = (unitcreatetime * 5);
} else {
if (unitarray.length < (125 + rnd)){
createlevel = (unitcreatetime * 6);
} else {
if (unitarray.length < (150 + rnd)){
createlevel = (unitcreatetime * 7);
} else {
timer = 0;
};
};
};
};
};
};
};
if ((((((gamemgr.gamedata.selectedlevel == 9)) && (!((team == 0))))) && (!((unitarray.indexOf("Queen") == -1))))){
createlevel = (createlevel * 0.3);
};
if (team != 9){
timer = (timer + gamemgr.gamespeed);
};
if (timer > createlevel){
timer = 0;
stagescene.gamedata.addCreatedUnit(team, typed);
addUnit();
};
}
public function setTarget(_obj, _count=0.5){
var i:*;
var newtarget:*;
newtarget = null;
if (((_obj) && (!((this == _obj))))){
if (neighbour.indexOf(_obj) == -1){
i = 0;
while (((!(newtarget)) && ((i < neighbour.length)))) {
if (neighbour[i].neighbour.indexOf(_obj) > -1){
newtarget = neighbour[i];
};
i++;
};
if (((newtarget) && ((newtarget.team == team)))){
if (newtarget.targetbase == this){
newtarget.targetbase = null;
};
targetbase = newtarget;
targetangle = (180 - getAngle(this, targetbase));
targetcount = (targetcount + Math.floor((unitarray.length * _count)));
if (targetcount > unitarray.length){
targetcount = (unitarray.length - 1);
};
};
} else {
if ((((_obj.team == team)) && ((_obj.targetbase == this)))){
_obj.targetbase = null;
};
targetbase = _obj;
targetangle = (180 - getAngle(this, targetbase));
targetcount = Math.floor((unitarray.length * _count));
if (targetcount > unitarray.length){
targetcount = (unitarray.length - 1);
};
};
} else {
targetbase = null;
};
}
public function moveClip(){
var idx:*;
createUnit();
if (targetcount > 0){
basestatus = "attacking";
sendUnit();
} else {
if (basestatus == "attacking"){
basestatus = "idle";
};
};
if ((((gamemgr.gamedata.selectedlevel == 9)) && ((unitarray.indexOf("Queen") > -1)))){
idx = unitarray.indexOf("Queen");
if (unitarrayhealth[idx] < gamemgr.gamedata.getUnitHealth("Queen")){
unitarrayhealth[idx] = (unitarrayhealth[idx] + (50 * gamemgr.gamespeed));
} else {
unitarrayhealth[idx] = gamemgr.gamedata.getUnitHealth("Queen");
};
gamemgr.showQueenHealth((Math.floor(((unitarrayhealth[idx] / gamemgr.gamedata.getUnitHealth("Queen")) * 100)) + 1));
};
}
public function addUnit(_obj=null){
var obj:*;
if (_obj){
if (team == _obj.team){
unitarray.push(_obj.typed);
unitarrayhealth.push(_obj.health);
basestatus = "idle";
} else {
while ((((_obj.health > 0)) && ((unitarray.length > 0)))) {
if (_obj.health < unitarrayhealth[0]){
if ((((team == 0)) || ((_obj.team == 0)))){
gamemgr.gamedata.addDeadUnit(_obj.team);
};
unitarrayhealth[0] = (unitarrayhealth[0] - _obj.health);
_obj.health = 0;
} else {
if ((((team == 0)) || ((_obj.team == 0)))){
gamemgr.gamedata.addDeadUnit(team);
};
_obj.health = (_obj.health - unitarrayhealth[0]);
if ((((_obj.health == 0)) && ((((team == 0)) || ((_obj.team == 0)))))){
gamemgr.gamedata.addDeadUnit(_obj.team);
};
unitarray.splice(0, 1);
unitarrayhealth.splice(0, 1);
};
};
if (_obj.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_obj.health / _obj.maxhealth) * 100)) + 1));
} else {
if (unitarray[0] == "Queen"){
gamemgr.showQueenHealth((Math.floor(((unitarrayhealth[0] / gamemgr.gamedata.getUnitHealth("Queen")) * 100)) + 1));
};
};
if (_obj.health > 0){
unitarray.splice(0);
unitarrayhealth.splice(0);
if (_obj.team == 0){
stagescene.setBaseTeam(this, _obj.team, gamemgr.gamedata.getPlayerUnitType(gamemgr.doneupgrade));
} else {
stagescene.setBaseTeam(this, _obj.team, gamemgr.gamedata.getOpponentUnitType(gamemgr.gamedata.getPlayerUnitType(gamemgr.doneupgrade), _obj.team));
};
if (_obj.typed == "Queen"){
unitarray.push(_obj.typed);
unitarrayhealth.push(_obj.health);
} else {
unitarray.push(_obj.typed);
unitarrayhealth.push(_obj.health);
};
basestatus = "infiltrated";
} else {
basestatus = "attacked";
if (((!((team == 0))) && (!((team == 9))))){
if (_obj.sourcebase.unitarray.length < unitarray.length){
setTarget(_obj.sourcebase, (_obj.sourcebase.unitarray.length / unitarray.length));
} else {
setTarget(_obj.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(){
super();
sndObj = this;
sndChannel = null;
sndTransform = null;
sndVolume = 1;
sndPan = 0;
sndPosTime = 0;
sndFadeIn = false;
sndFadeOut = false;
loop = false;
}
public function setVolume(vol:Number):void{
var sndTransform:SoundTransform;
sndVolume = vol;
if (sndChannel){
sndTransform = sndChannel.soundTransform;
sndTransform.volume = sndVolume;
sndChannel.soundTransform = sndTransform;
};
}
public function stopSound():void{
if (sndChannel){
sndPlaying = false;
sndChannel.stop();
sndChannel.removeEventListener(Event.SOUND_COMPLETE, sound_loop);
loop = false;
};
}
public function fadeOut(init:Boolean):void{
sndFadeOut = true;
sndFadeIn = false;
if (init){
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(init:Boolean):void{
sndFadeIn = true;
sndFadeOut = false;
if (init){
setVolume(0);
};
if (!sndTimer){
sndTimer = new Timer(50);
sndTimer.addEventListener(TimerEvent.TIMER, sndTimerHandler, false, 0, true);
sndTimer.start();
};
}
private function sndTimerHandler(event: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(pan:Number):void{
var sndTransform:SoundTransform;
sndPan = pan;
if (sndChannel){
sndTransform = sndChannel.soundTransform;
sndTransform.pan = sndPan;
sndChannel.soundTransform = sndTransform;
};
}
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(event:Event){
sndChannel.removeEventListener(Event.SOUND_COMPLETE, sound_complete);
sndPlaying = false;
}
private function sound_loop(event: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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//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(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 61
//bgm_ambience (bgm_ambience)
package {
public dynamic class bgm_ambience extends BaseSound {
public function bgm_ambience(){
super();
}
}
}//package
Section 62
//bgm_cover (bgm_cover)
package {
public dynamic class bgm_cover extends BaseSound {
public function bgm_cover(){
super();
}
}
}//package
Section 63
//BloodShed1 (BloodShed1)
package {
import flash.display.*;
public dynamic class BloodShed1 extends BitmapData {
public function BloodShed1(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 64
//BloodShed2 (BloodShed2)
package {
import flash.display.*;
public dynamic class BloodShed2 extends BitmapData {
public function BloodShed2(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 65
//BloodShed3 (BloodShed3)
package {
import flash.display.*;
public dynamic class BloodShed3 extends BitmapData {
public function BloodShed3(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 66
//BloodShed4 (BloodShed4)
package {
import flash.display.*;
public dynamic class BloodShed4 extends BitmapData {
public function BloodShed4(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 67
//BloodShed5 (BloodShed5)
package {
import flash.display.*;
public dynamic class BloodShed5 extends BitmapData {
public function BloodShed5(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 68
//BloodShed6 (BloodShed6)
package {
import flash.display.*;
public dynamic class BloodShed6 extends BitmapData {
public function BloodShed6(w:Number, h:Number){
super(w, h);
}
}
}//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 BulletObjectBase(){
super();
}
public function init(_typed, _team, _attack, _angle){
stagescene = this.parent;
gamemgr = stagescene.gamemgr;
typed = _typed;
team = _team;
switch (typed){
case 1:
dr = 0;
attack = (_attack / 2);
attackspeedfactor = 1;
break;
case 2:
dr = 15;
attack = (_attack / 4);
attackspeedfactor = 1;
break;
case 3:
dr = 0;
attack = (_attack / 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(p_matrix:Array=null){
super();
p_matrix = fixMatrix(p_matrix);
copyMatrix(((p_matrix.length)==LENGTH) ? p_matrix : IDENTITY_MATRIX);
}
public function adjustBrightness(p_val:Number):void{
p_val = cleanValue(p_val, 100);
if ((((p_val == 0)) || (isNaN(p_val)))){
return;
};
multiplyMatrix([1, 0, 0, 0, p_val, 0, 1, 0, 0, p_val, 0, 0, 1, 0, p_val, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
protected function multiplyMatrix(p_matrix:Array):void{
var col:Array;
var i:uint;
var j:uint;
var val:Number;
var k:Number;
col = [];
i = 0;
while (i < 5) {
j = 0;
while (j < 5) {
col[j] = this[(j + (i * 5))];
j++;
};
j = 0;
while (j < 5) {
val = 0;
k = 0;
while (k < 5) {
val = (val + (p_matrix[(j + (k * 5))] * col[k]));
k++;
};
this[(j + (i * 5))] = val;
j++;
};
i++;
};
}
public function adjustSaturation(p_val:Number):void{
var x:Number;
var lumR:Number;
var lumG:Number;
var lumB:Number;
p_val = cleanValue(p_val, 100);
if ((((p_val == 0)) || (isNaN(p_val)))){
return;
};
x = (1 + ((p_val)>0) ? ((3 * p_val) / 100) : (p_val / 100));
lumR = 0.3086;
lumG = 0.6094;
lumB = 0.082;
multiplyMatrix([((lumR * (1 - x)) + x), (lumG * (1 - x)), (lumB * (1 - x)), 0, 0, (lumR * (1 - x)), ((lumG * (1 - x)) + x), (lumB * (1 - x)), 0, 0, (lumR * (1 - x)), (lumG * (1 - x)), ((lumB * (1 - x)) + x), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function reset():void{
var i:uint;
i = 0;
while (i < LENGTH) {
this[i] = IDENTITY_MATRIX[i];
i++;
};
}
public function adjustColor(p_brightness:Number, p_contrast:Number, p_saturation:Number, p_hue:Number):void{
adjustHue(p_hue);
adjustContrast(p_contrast);
adjustBrightness(p_brightness);
adjustSaturation(p_saturation);
}
public function clone():ColorMatrix{
return (new ColorMatrix(this));
}
public function toArray():Array{
return (slice(0, 20));
}
protected function cleanValue(p_val:Number, p_limit:Number):Number{
return (Math.min(p_limit, Math.max(-(p_limit), p_val)));
}
public function adjustHue(p_val:Number):void{
var cosVal:Number;
var sinVal:Number;
var lumR:Number;
var lumG:Number;
var lumB:Number;
p_val = ((cleanValue(p_val, 180) / 180) * Math.PI);
if ((((p_val == 0)) || (isNaN(p_val)))){
return;
};
cosVal = Math.cos(p_val);
sinVal = Math.sin(p_val);
lumR = 0.213;
lumG = 0.715;
lumB = 0.072;
multiplyMatrix([((lumR + (cosVal * (1 - lumR))) + (sinVal * -(lumR))), ((lumG + (cosVal * -(lumG))) + (sinVal * -(lumG))), ((lumB + (cosVal * -(lumB))) + (sinVal * (1 - lumB))), 0, 0, ((lumR + (cosVal * -(lumR))) + (sinVal * 0.143)), ((lumG + (cosVal * (1 - lumG))) + (sinVal * 0.14)), ((lumB + (cosVal * -(lumB))) + (sinVal * -0.283)), 0, 0, ((lumR + (cosVal * -(lumR))) + (sinVal * -((1 - lumR)))), ((lumG + (cosVal * -(lumG))) + (sinVal * lumG)), ((lumB + (cosVal * (1 - lumB))) + (sinVal * lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
}
public function concat(p_matrix:Array):void{
p_matrix = fixMatrix(p_matrix);
if (p_matrix.length != LENGTH){
return;
};
multiplyMatrix(p_matrix);
}
protected function copyMatrix(p_matrix:Array):void{
var l:Number;
var i:uint;
l = LENGTH;
i = 0;
while (i < l) {
this[i] = p_matrix[i];
i++;
};
}
protected function fixMatrix(p_matrix:Array=null):Array{
if (p_matrix == null){
return (IDENTITY_MATRIX);
};
if ((p_matrix is ColorMatrix)){
p_matrix = p_matrix.slice(0);
};
if (p_matrix.length < LENGTH){
p_matrix = p_matrix.slice(0, p_matrix.length).concat(IDENTITY_MATRIX.slice(p_matrix.length, LENGTH));
} else {
if (p_matrix.length > LENGTH){
p_matrix = p_matrix.slice(0, LENGTH);
};
};
return (p_matrix);
}
public function adjustContrast(p_val:Number):void{
var x:Number;
p_val = cleanValue(p_val, 100);
if ((((p_val == 0)) || (isNaN(p_val)))){
return;
};
if (p_val < 0){
x = (127 + ((p_val / 100) * 127));
} else {
x = (p_val % 1);
if (x == 0){
x = DELTA_INDEX[p_val];
} else {
x = ((DELTA_INDEX[(p_val << 0)] * (1 - x)) + (DELTA_INDEX[((p_val << 0) + 1)] * x));
};
x = ((x * 127) + 127);
};
multiplyMatrix([(x / 127), 0, 0, 0, (0.5 * (127 - x)), 0, (x / 127), 0, 0, (0.5 * (127 - x)), 0, 0, (x / 127), 0, (0.5 * (127 - x)), 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(_gamemgr, _team, _typed="Larva 1"){
super();
team = _team;
typed = _typed;
gamemgr = _gamemgr;
gamedata = gamemgr.gamedata;
stagescene = gamemgr.stagescene;
}
private function detectWeakestEnemyNeighbour(_base):MovieClip{
var i:*;
var res:*;
res = null;
i = 0;
while (i < _base.neighbour.length) {
if (_base.neighbour[i].team != team){
if (res){
if (res.unitarray.length > _base.neighbour[i].unitarray.length){
res = _base.neighbour[i];
};
} else {
res = _base.neighbour[i];
};
};
i++;
};
return (res);
}
private function getAngle(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return ((180 - ((Math.atan2(dy, dx) * 180) / Math.PI)));
}
public function moveClip(){
var i:*;
i = 0;
while (i < stagescene.basearrayteam[team].length) {
analyzeBaseCondition(stagescene.basearrayteam[team][i]);
i++;
};
}
private function detectWeakestAlliedNeighbour(_base):MovieClip{
var i:*;
var res:*;
res = null;
i = 0;
while (i < _base.neighbour.length) {
if (_base.neighbour[i].team == team){
if (res){
if (res.unitarray.length > _base.neighbour[i].unitarray.length){
res = _base.neighbour[i];
};
} else {
res = _base.neighbour[i];
};
};
i++;
};
return (res);
}
private function detectStrongestEnemyNeighbour(_base):MovieClip{
var i:*;
var res:*;
res = null;
i = 0;
while (i < _base.neighbour.length) {
if (_base.neighbour[i].team != team){
if (res){
if (res.unitarray.length < _base.neighbour[i].unitarray.length){
res = _base.neighbour[i];
};
} else {
res = _base.neighbour[i];
};
};
i++;
};
return (res);
}
private function detectThreatenedAlliedNeighbour(_base):MovieClip{
var i:*;
var res:*;
var resenemy:*;
var enemybase:*;
res = null;
resenemy = null;
enemybase = null;
i = 0;
while (i < _base.neighbour.length) {
enemybase = detectStrongestEnemyNeighbour(_base.neighbour[i]);
if (enemybase){
if (!res){
res = _base.neighbour[i];
resenemy = enemybase;
} else {
if (resenemy.unitarray.length < enemybase.unitarray.length){
res = _base.neighbour[i];
resenemy = enemybase;
};
};
};
i++;
};
if (((res) && ((res.unitarray.length < ((resenemy.unitarray.length * 2) / 3))))){
return (res);
};
return (null);
}
private function getDistance(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
private function detectStrongestAlliedNeighbour(_base):MovieClip{
var i:*;
var res:*;
res = null;
i = 0;
while (i < _base.neighbour.length) {
if (_base.neighbour[i].team == team){
if (res){
if (res.unitarray.length < _base.neighbour[i].unitarray.length){
res = _base.neighbour[i];
};
} else {
res = _base.neighbour[i];
};
};
i++;
};
return (res);
}
private function analyzeBaseCondition(_base){
var target:*;
var obj:*;
var rnd:*;
var newtower:*;
target = null;
rnd = Math.random();
obj = detectStrongestEnemyNeighbour(_base);
if (obj){
if ((((((rnd < 0.01)) && ((gamedata.selectedlevel > 1)))) && ((obj.unitarray.length > _base.unitarray.length)))){
if (_base.unitarray.length > 100){
newtower = getNewTower(_base, obj, 3);
if (newtower){
stagescene.createTower(newtower.typed, new Point(newtower.x, newtower.y), team);
stagescene.reduceUnits(_base, 75);
};
} else {
if (_base.unitarray.length > 75){
newtower = getNewTower(_base, obj, 2);
if (newtower){
stagescene.createTower(newtower.typed, new Point(newtower.x, newtower.y), team);
stagescene.reduceUnits(_base, 50);
};
} else {
if (_base.unitarray.length > 50){
newtower = getNewTower(_base, obj, 1);
if (newtower){
stagescene.createTower(newtower.typed, new Point(newtower.x, newtower.y), team);
stagescene.reduceUnits(_base, 25);
};
};
};
};
} else {
if ((((rnd < 0.02)) || ((_base.unitarray.length > 100)))){
if (obj.unitarray.length < (_base.unitarray.length / 2)){
obj = detectWeakestEnemyNeighbour(_base);
_base.setTarget(obj, ((obj.unitarray.length / _base.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 1)) && ((rnd < 0.05)))){
if (obj.unitarray.length < (_base.unitarray.length / 2)){
obj = detectWeakestEnemyNeighbour(_base);
_base.setTarget(obj, ((obj.unitarray.length / _base.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 2)) && ((rnd < 0.06)))){
if (obj.unitarray.length < ((_base.unitarray.length * 3) / 4)){
obj = detectWeakestEnemyNeighbour(_base);
_base.setTarget(obj, ((obj.unitarray.length / _base.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 4)) && ((rnd < 0.07)))){
if (obj.unitarray.length < _base.unitarray.length){
obj = detectWeakestEnemyNeighbour(_base);
_base.setTarget(obj, ((obj.unitarray.length / _base.unitarray.length) + 0.1));
};
} else {
if ((((gamedata.selectedlevel > 6)) && ((rnd < 0.08)))){
if (obj.unitarray.length < (_base.unitarray.length * 1.1)){
obj = detectWeakestEnemyNeighbour(_base);
_base.setTarget(obj, 0.1);
};
};
};
};
};
};
};
} else {
if ((((rnd < 0.01)) || ((_base.unitarray.length > 100)))){
obj = detectThreatenedAlliedNeighbour(_base);
if ((((gamedata.selectedlevel > 4)) && (obj))){
_base.setTarget(obj);
} else {
if ((((gamedata.selectedlevel > 2)) && ((rnd < 0.005)))){
obj = detectWeakestAlliedNeighbour(_base);
if (obj.unitarray.length < _base.unitarray.length){
_base.setTarget(obj, (((_base.unitarray.length - obj.unitarray.length) / _base.unitarray.length) + 0.1));
};
};
};
};
};
}
private function getNewTower(_base, _targetbase, _towertype):MovieClip{
var oldangle:*;
var newangle:*;
var existingtowers:*;
var newtower:*;
existingtowers = stagescene.getAllyTowerInRange(_base, team);
if (existingtowers.length < 2){
switch (_towertype){
case 1:
newtower = new mc_tower1();
break;
case 2:
newtower = new mc_tower2();
break;
case 3:
newtower = new mc_tower3();
break;
};
newtower.init(gamemgr, _towertype, _base.team, _base.typed);
oldangle = getAngle(_base, _targetbase);
if (Math.random() > 0.5){
newangle = (oldangle + 30);
} else {
newangle = (oldangle - 30);
};
newtower.x = (_base.x + (50 * Math.cos(((newangle * Math.PI) / 180))));
newtower.y = (_base.y + (50 * Math.sin(((newangle * Math.PI) / 180))));
if (existingtowers.length > 0){
if (getDistance(newtower, existingtowers[0]) < 30){
if (newangle < oldangle){
newangle = (newangle + 60);
} else {
newangle = (newangle - 60);
};
newtower.x = (_base.x + (50 * Math.cos(((newangle * Math.PI) / 180))));
newtower.y = (_base.y + (50 * Math.sin(((newangle * Math.PI) / 180))));
};
};
if (gamemgr.checkOnRoad(newtower, true)){
newtower = null;
};
} else {
newtower = null;
};
return (newtower);
}
}
}//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(_thisparent){
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 = _thisparent;
}
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(e){
mousepress = false;
}
private function mouseMoveHandler(e){
mousepos.x = e.stageX;
mousepos.y = e.stageY;
shiftbutton = e.shiftKey;
controlbutton = e.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(e){
if (thisparent.gamestatus == "playing"){
switch (e.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 (e.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(e){
if (thisparent.gamestatus == "playing"){
switch (e.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(e){
mousepress = true;
}
private function mouseWheelHandler(e){
if (e.delta > 0){
mousescrollup = true;
mousescrolldown = false;
} else {
if (e.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(_thisparent){
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 = _thisparent;
loadData();
}
public function getLockedLevelCount():int{
var i:*;
var unlockednum:*;
unlockednum = 0;
i = 0;
while (i < unlockedlevel.length) {
if (unlockedlevel[i]){
unlockednum++;
};
i++;
};
return (((unlockedlevel.length - unlockednum) - 1));
}
public function doUpgrade(_type){
switch (selectedlevel){
case 1:
selectedupgrades[0] = _type;
break;
case 2:
selectedupgrades[1] = _type;
break;
case 3:
selectedupgrades[2] = _type;
break;
case 5:
selectedupgrades[3] = _type;
break;
case 7:
selectedupgrades[4] = _type;
break;
};
if (upgradelevel < 5){
upgradelevel++;
};
}
public function addLostSpawn(_team){
if (_team == 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(_typed="Larva 1"){
switch (_typed){
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(_team, _typed="Larva 1"){
if (_team == 0){
var _local3 = levelcreatedunit;
var _local4:int;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
switch (_typed){
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(_team){
if (_team == 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(typed):Number{
var res:*;
switch (typed){
case "Larva 1":
res = ((unitmaxspeed[0] - 1) + Math.random());
break;
case "Larva 2":
res = (((selectedupgrades[0]) ? unitmaxspeed[0] : unitmaxspeed[1] - 1) + Math.random());
break;
case "Larva 3":
res = (((((selectedupgrades[0]) && (selectedupgrades[1]))) ? (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxspeed[1] : unitmaxspeed[2] : unitmaxspeed[0] - 1) + Math.random());
break;
case "Ant 1":
res = ((unitmaxspeed[3] - 1) + Math.random());
break;
case "Ant 2":
res = (((selectedupgrades[3]) ? unitmaxspeed[3] : unitmaxspeed[4] - 1) + Math.random());
break;
case "Ant 3":
res = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[4] : unitmaxspeed[5] : unitmaxspeed[3] - 1) + Math.random());
break;
case "Roach 1":
res = ((unitmaxspeed[6] - 1) + Math.random());
break;
case "Roach 2":
res = (((selectedupgrades[3]) ? unitmaxspeed[6] : unitmaxspeed[7] - 1) + Math.random());
break;
case "Roach 3":
res = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[7] : unitmaxspeed[8] : unitmaxspeed[6] - 1) + Math.random());
break;
case "Beetle 1":
res = ((unitmaxspeed[9] - 1) + Math.random());
break;
case "Beetle 2":
res = (((selectedupgrades[3]) ? unitmaxspeed[9] : unitmaxspeed[10] - 1) + Math.random());
break;
case "Beetle 3":
res = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[10] : unitmaxspeed[11] : unitmaxspeed[9] - 1) + Math.random());
break;
case "Hopper 1":
res = ((unitmaxspeed[12] - 1) + Math.random());
break;
case "Hopper 2":
res = (((selectedupgrades[3]) ? unitmaxspeed[12] : unitmaxspeed[13] - 1) + Math.random());
break;
case "Hopper 3":
res = (((((selectedupgrades[3]) && (selectedupgrades[4]))) ? (((selectedupgrades[3]) || (selectedupgrades[4]))) ? unitmaxspeed[13] : unitmaxspeed[14] : unitmaxspeed[12] - 1) + Math.random());
break;
case "Queen":
res = unitmaxspeed[15];
break;
};
return (res);
}
public function addDestroyedTower(_team){
if (_team == 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(_team){
if (_team == 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(typed):Number{
return (towermaxattack[(typed - 1)]);
}
public function getUnitCreateTime(typed):Number{
var res:*;
switch (typed){
case "Larva 1":
res = unitcreatetime[0];
break;
case "Larva 2":
res = unitcreatetime[1];
break;
case "Larva 3":
res = unitcreatetime[2];
break;
case "Ant 1":
res = unitcreatetime[3];
break;
case "Ant 2":
res = unitcreatetime[4];
break;
case "Ant 3":
res = unitcreatetime[5];
break;
case "Roach 1":
res = unitcreatetime[6];
break;
case "Roach 2":
res = unitcreatetime[7];
break;
case "Roach 3":
res = unitcreatetime[8];
break;
case "Beetle 1":
res = unitcreatetime[9];
break;
case "Beetle 2":
res = unitcreatetime[10];
break;
case "Beetle 3":
res = unitcreatetime[11];
break;
case "Hopper 1":
res = unitcreatetime[12];
break;
case "Hopper 2":
res = unitcreatetime[13];
break;
case "Hopper 3":
res = unitcreatetime[14];
break;
case "Queen":
res = unitcreatetime[15];
break;
};
return (res);
}
public function getPlayedLevelCount():int{
var i:*;
var unlockednum:*;
unlockednum = 0;
i = 0;
while (i < playedlevel.length) {
if (playedlevel[i]){
unlockednum++;
};
i++;
};
return (unlockednum);
}
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(_newtime){
if (getCompletedCampaign() < 100){
totalcampaigntime = (totalcampaigntime + _newtime);
};
totalgametime = (totalgametime + _newtime);
}
public function loadData(){
var so:*;
so = SharedObject.getLocal(savelabel);
if (so.data.size == 0){
saveData();
};
resetData();
if (so.data.selectedlevel){
selectedlevel = so.data.selectedlevel;
playedlevel = so.data.playedlevel;
unlockedlevel = so.data.unlockedlevel;
upgradelevel = so.data.upgradelevel;
selectedupgrades = so.data.selectedupgrades;
achievementstatus = so.data.achievementstatus;
bonuslevel = so.data.bonuslevel;
campaigncompleted = so.data.campaigncompleted;
totalcampaigntime = so.data.totalcampaigntime;
totalgametime = so.data.totalgametime;
wincount = so.data.wincount;
lostcount = so.data.lostcount;
totalcreatedunit = so.data.totalcreatedunit;
totaldeadunit = so.data.totaldeadunit;
totalcreatedtower = so.data.totalcreatedtower;
totaldestroyedtower = so.data.totaldestroyedtower;
totaltakenspawn = so.data.totaltakenspawn;
totallostspawn = so.data.totallostspawn;
totalscore = so.data.totalscore;
totalcreatedunittype = so.data.totalcreatedunittype;
totalkilledunittype = so.data.totalkilledunittype;
};
}
public function recordScore(_win){
var i:*;
var res:*;
if (_win){
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]);
i = 0;
while (i < achievementstatus.length) {
if (achievementstatus[i] == "new"){
achievementstatus[i] = "unlocked";
};
i++;
};
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 so:*;
so = SharedObject.getLocal(savelabel);
so.data.selectedlevel = selectedlevel;
so.data.playedlevel = playedlevel;
so.data.unlockedlevel = unlockedlevel;
so.data.upgradelevel = upgradelevel;
so.data.selectedupgrades = selectedupgrades;
so.data.achievementstatus = achievementstatus;
so.data.bonuslevel = bonuslevel;
so.data.campaigncompleted = campaigncompleted;
so.data.totalcampaigntime = totalcampaigntime;
so.data.totalgametime = totalgametime;
so.data.wincount = wincount;
so.data.lostcount = lostcount;
so.data.totalcreatedunit = totalcreatedunit;
so.data.totaldeadunit = totaldeadunit;
so.data.totalcreatedtower = totalcreatedtower;
so.data.totaldestroyedtower = totaldestroyedtower;
so.data.totaltakenspawn = totaltakenspawn;
so.data.totallostspawn = totallostspawn;
so.data.totalscore = totalscore;
so.data.totalcreatedunittype = totalcreatedunittype;
so.data.totalkilledunittype = totalkilledunittype;
so.flush();
}
public function addDeadUnit(_team, _count=1){
if (_team == 0){
leveldeadunit[0] = (leveldeadunit[0] + _count);
} else {
leveldeadunit[1] = (leveldeadunit[1] + _count);
};
}
public function getCompletedCampaign():int{
var i:*;
var unlockednum:*;
unlockednum = 0;
i = 0;
while (i < (playedlevel.length - 1)) {
if (playedlevel[i]){
unlockednum++;
};
i++;
};
return (Math.floor(((unlockednum / (playedlevel.length - 1)) * 100)));
}
public function getOpponentUnitType(_playertype, _opponentteam):String{
var res:*;
res = "Larva 1";
switch (selectedlevel){
case 1:
res = "Larva 1";
break;
case 2:
res = "Larva 2";
break;
case 3:
res = "Larva 3";
break;
case 4:
if (_playertype.indexOf("Ant") > -1){
if (_opponentteam == 1){
res = "Roach 1";
} else {
res = "Larva 3";
};
} else {
if (_playertype.indexOf("Roach") > -1){
if (_opponentteam == 1){
res = "Beetle 1";
} else {
res = "Larva 3";
};
} else {
if (_playertype.indexOf("Beetle") > -1){
if (_opponentteam == 1){
res = "Ant 1";
} else {
res = "Larva 3";
};
};
};
};
break;
case 5:
if (_playertype.indexOf("Ant") > -1){
if (_opponentteam == 1){
res = "Hopper 1";
} else {
res = "Larva 3";
};
} else {
if (_playertype.indexOf("Roach") > -1){
if (_opponentteam == 1){
res = "Hopper 1";
} else {
res = "Larva 3";
};
} else {
if (_playertype.indexOf("Beetle") > -1){
if (_opponentteam == 1){
res = "Hopper 1";
} else {
res = "Larva 3";
};
};
};
};
break;
case 6:
if (_playertype.indexOf("Ant") > -1){
if (_opponentteam == 1){
res = "Roach 2";
} else {
res = "Hopper 1";
};
} else {
if (_playertype.indexOf("Roach") > -1){
if (_opponentteam == 1){
res = "Beetle 2";
} else {
res = "Hopper 1";
};
} else {
if (_playertype.indexOf("Beetle") > -1){
if (_opponentteam == 1){
res = "Ant 2";
} else {
res = "Hopper 1";
};
};
};
};
break;
case 7:
if (_playertype.indexOf("Ant") > -1){
if (_opponentteam == 1){
res = "Roach 2";
} else {
res = "Beetle 2";
};
} else {
if (_playertype.indexOf("Roach") > -1){
if (_opponentteam == 1){
res = "Beetle 2";
} else {
res = "Ant 2";
};
} else {
if (_playertype.indexOf("Beetle") > -1){
if (_opponentteam == 1){
res = "Ant 2";
} else {
res = "Roach 2";
};
};
};
};
break;
case 8:
if (_playertype.indexOf("Ant") > -1){
if (_opponentteam == 1){
res = "Roach 3";
} else {
res = "Beetle 3";
};
} else {
if (_playertype.indexOf("Roach") > -1){
if (_opponentteam == 1){
res = "Beetle 3";
} else {
res = "Ant 3";
};
} else {
if (_playertype.indexOf("Beetle") > -1){
if (_opponentteam == 1){
res = "Ant 3";
} else {
res = "Roach 3";
};
};
};
};
break;
case 9:
res = "Larva 3";
break;
default:
if (_playertype.indexOf("Ant") > -1){
res = "Roach 3";
} else {
if (_playertype.indexOf("Roach") > -1){
res = "Beetle 3";
} else {
if (_playertype.indexOf("Beetle") > -1){
res = "Ant 3";
};
};
};
break;
};
return (res);
}
public function getPlayerUnitType(_doneupgrade):String{
var res:*;
res = "Larva 1";
switch (teamlevel[(selectedlevel - 1)]){
case 1:
if (upgradelevel < 1){
res = "Larva 1";
} else {
res = "Larva 2";
};
break;
case 2:
if (upgradelevel < 2){
res = "Larva 2";
} else {
res = "Larva 3";
};
break;
case 3:
if (((!(_doneupgrade)) || ((upgradelevel < 3)))){
res = "Larva 3";
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 1";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 1";
} else {
res = "Ant 1";
};
};
};
break;
case 4:
if (upgradelevel < 4){
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 1";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 1";
} else {
res = "Ant 1";
};
};
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 2";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 2";
} else {
res = "Ant 2";
};
};
};
break;
case 5:
if (upgradelevel < 5){
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 2";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 2";
} else {
res = "Ant 2";
};
};
} else {
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 3";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 3";
} else {
res = "Ant 3";
};
};
};
break;
case 6:
if (((((selectedupgrades[0]) && (selectedupgrades[1]))) && (selectedupgrades[2]))){
res = "Beetle 3";
} else {
if (((((((selectedupgrades[0]) && (selectedupgrades[1]))) || (((selectedupgrades[0]) && (selectedupgrades[2]))))) || (((selectedupgrades[1]) && (selectedupgrades[2]))))){
res = "Roach 3";
} else {
res = "Ant 3";
};
};
break;
};
return (res);
}
public function getUnitAttack(typed):Number{
var res:*;
switch (typed){
case "Larva 1":
res = unitmaxattack[0];
break;
case "Larva 2":
res = unitmaxattack[1];
break;
case "Larva 3":
res = unitmaxattack[2];
break;
case "Ant 1":
res = unitmaxattack[3];
break;
case "Ant 2":
res = unitmaxattack[4];
break;
case "Ant 3":
res = unitmaxattack[5];
break;
case "Roach 1":
res = unitmaxattack[6];
break;
case "Roach 2":
res = unitmaxattack[7];
break;
case "Roach 3":
res = unitmaxattack[8];
break;
case "Beetle 1":
res = unitmaxattack[9];
break;
case "Beetle 2":
res = unitmaxattack[10];
break;
case "Beetle 3":
res = unitmaxattack[11];
break;
case "Hopper 1":
res = unitmaxattack[12];
break;
case "Hopper 2":
res = unitmaxattack[13];
break;
case "Hopper 3":
res = unitmaxattack[14];
break;
case "Queen":
res = unitmaxattack[15];
break;
};
return (res);
}
public function getUnitHealth(typed):Number{
var res:*;
switch (typed){
case "Larva 1":
res = unitmaxhealth[0];
break;
case "Larva 2":
res = (selectedupgrades[0]) ? unitmaxhealth[1] : unitmaxhealth[0];
break;
case "Larva 3":
res = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[2] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[1] : unitmaxhealth[0];
break;
case "Ant 1":
res = unitmaxhealth[3];
break;
case "Ant 2":
res = (selectedupgrades[3]) ? unitmaxhealth[4] : unitmaxhealth[3];
break;
case "Ant 3":
res = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[5] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[4] : unitmaxhealth[3];
break;
case "Roach 1":
res = unitmaxhealth[6];
break;
case "Roach 2":
res = (selectedupgrades[3]) ? unitmaxhealth[7] : unitmaxhealth[6];
break;
case "Roach 3":
res = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[8] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[7] : unitmaxhealth[6];
break;
case "Beetle 1":
res = unitmaxhealth[9];
break;
case "Beetle 2":
res = (selectedupgrades[3]) ? unitmaxhealth[10] : unitmaxhealth[9];
break;
case "Beetle 3":
res = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[11] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[10] : unitmaxhealth[9];
break;
case "Hopper 1":
res = unitmaxhealth[12];
break;
case "Hopper 2":
res = (selectedupgrades[3]) ? unitmaxhealth[13] : unitmaxhealth[12];
break;
case "Hopper 3":
res = (((selectedupgrades[0]) && (selectedupgrades[1]))) ? unitmaxhealth[14] : (((selectedupgrades[0]) || (selectedupgrades[1]))) ? unitmaxhealth[13] : unitmaxhealth[12];
break;
case "Queen":
res = unitmaxhealth[15];
break;
};
return (res);
}
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 url;
public var stageparticle;
public var gamespeed;// = 1
public var controlmgr;
private var startpausetime;// = 0
public var stagepanel;
public function GameManager(_thisparent){
computermgr = new Array();
gamespeed = 1;
gamestatus = "playing";
closestbase = null;
closestbasedistance = 0;
closesttower = null;
closesttowerdistance = 0;
doneupgrade = false;
starttime = 0;
startpausetime = 0;
totalpausetime = 0;
super();
url = _thisparent.url;
thisparent = _thisparent;
gamedata = _thisparent.gamedata;
gamesound = _thisparent.sndmgr;
if (!thisparent.contains(this)){
thisparent.addChild(this);
};
controlmgr = new ControlManager(this);
stagescene = new SceneContainer(this);
stagepanel = new mc_stagepanel();
this.addChild(stagepanel);
if ((((url.indexOf("armorgames.com") > -1)) || ((thisparent.url.indexOf("artlogicgames.com") > -1)))){
stagepanel.mctoprightwalkthrough.visible = false;
};
startGame();
}
public function stopTowerCreator(){
var cm:*;
cm = new ColorMatrix();
cm.adjustColor(0, 0, -80, 0);
stagescene.filters = [new ColorMatrixFilter(cm)];
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 onroad:*;
onroad = 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();
onroad = checkOnRoad(towercreator, true);
if (((((((((closestbase) && ((closesttowerdistance > 15)))) && ((closestbasedistance > 25)))) && ((closestbasedistance < 75)))) && (!(onroad)))){
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(_type){
stagescene.stopMouseBlocker(controlmgr.mousepos, ((controlmgr.shiftbutton) || (controlmgr.controlbutton)));
towercreator.visible = true;
towercreator.gotoAndStop((_type + 2));
towercreator.x = 320;
towercreator.y = 240;
towercreatorlimit = gamedata.towerprice[(_type - 1)];
}
public function createTower2(e=null){
startTowerCreator(2);
}
private function stopListeners(){
resetPanel();
if (gamestatus == "paused"){
controlmgr.pauseListeners();
} else {
controlmgr.stopListeners();
this.removeEventListener(Event.ENTER_FRAME, moveClip);
};
}
public function createTower1(e=null){
startTowerCreator(1);
}
public function pauseClip(e=null){
var cm:*;
var bf:*;
if (gamestatus == "playing"){
cm = new ColorMatrix();
cm.adjustColor(0, 0, -80, 0);
stagescene.filters = [new ColorMatrixFilter(cm)];
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));
};
};
}
public function cancelTowerCreator(){
stagescene.destroyBaseRange();
towercreator.visible = false;
}
private function toggleSFX(e=null){
if (gamesound.sfxVolume == 1){
gamesound.adjustSFX(0);
} else {
gamesound.adjustSFX(1);
};
}
public function stopClip(e=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 i:*;
var obj:*;
var dist1:*;
var dist2:*;
if (stagescene.towerarray.length > 0){
obj = stagescene.towerarray[0];
dist1 = getDistance(obj, stagescene.globalToLocal(controlmgr.mousepos));
i = 1;
while (i < stagescene.towerarray.length) {
dist2 = getDistance(stagescene.towerarray[i], stagescene.globalToLocal(controlmgr.mousepos));
if (dist2 < dist1){
dist1 = dist2;
obj = stagescene.towerarray[i];
};
i++;
};
closesttower = obj;
closesttowerdistance = dist1;
} else {
closesttower = null;
closesttowerdistance = 9999;
};
if (stagescene.towercreateprogress[0].length > 0){
if (!obj){
obj = stagescene.towercreateprogress[0][0];
dist1 = getDistance(obj, stagescene.globalToLocal(controlmgr.mousepos));
} else {
dist2 = getDistance(stagescene.towercreateprogress[0][0], stagescene.globalToLocal(controlmgr.mousepos));
if (dist2 < dist1){
obj = stagescene.towercreateprogress[0][0];
dist1 = dist2;
};
};
i = 1;
while (i < stagescene.towercreateprogress[0].length) {
dist2 = getDistance(stagescene.towercreateprogress[0][i], stagescene.globalToLocal(controlmgr.mousepos));
if (dist2 < dist1){
dist1 = dist2;
obj = stagescene.towercreateprogress[0][i];
};
i++;
};
closesttower = obj;
closesttowerdistance = dist1;
};
return (closesttower);
}
public function createTower3(e=null){
startTowerCreator(3);
}
private function moveClip(e){
var i:*;
switch (gamestatus){
case "playing":
stagescene.moveClip();
if (stagescene.layertutorial.currentFrame == stagescene.layertutorial.totalFrames){
i = 1;
while (i < gamedata.teamcount[(gamedata.selectedlevel - 1)]) {
computermgr[(i - 1)].moveClip();
i++;
};
};
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(_obj, _ranged=false):Boolean{
var res:*;
var px:*;
var pt:*;
res = true;
pt = stagescene.globalToLocal(new Point(_obj.x, _obj.y));
px = mapdata.getPixel(Math.floor((pt.x / 4)), Math.floor((pt.y / 4)));
res = ((res) && (!((px == 0))));
if (_ranged){
pt = stagescene.globalToLocal(new Point((_obj.x + (_obj.width / 2)), _obj.y));
px = mapdata.getPixel(Math.floor((pt.x / 4)), Math.floor((pt.y / 4)));
res = ((res) || (!((px == 0))));
pt = stagescene.globalToLocal(new Point((_obj.x - (_obj.width / 2)), _obj.y));
px = mapdata.getPixel(Math.floor((pt.x / 4)), Math.floor((pt.y / 4)));
res = ((res) || (!((px == 0))));
pt = stagescene.globalToLocal(new Point(_obj.x, (_obj.y + (_obj.height / 2))));
px = mapdata.getPixel(Math.floor((pt.x / 4)), Math.floor((pt.y / 4)));
res = ((res) || (!((px == 0))));
pt = stagescene.globalToLocal(new Point(_obj.x, (_obj.y - (_obj.height / 2))));
px = mapdata.getPixel(Math.floor((pt.x / 4)), Math.floor((pt.y / 4)));
res = ((res) || (!((px == 0))));
};
return (res);
}
private function toggleBGM(e=null){
if (gamesound.bgmVolume == 1){
gamesound.adjustBGM(0);
} else {
gamesound.adjustBGM(1);
};
}
public function showQueenHealth(_h){
stagepanel.mcqueenhealth.gotoAndStop(_h);
}
private function goSponsor(e=null){
thisparent.goSponsor("gameplay");
}
public function stopGame(){
stopListeners();
gamestatus = "stop";
}
private function refreshContainerPosition(_xx, _yy, _scale=1){
stagescene.scaleX = _scale;
stagescene.scaleY = _scale;
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 = _xx;
stagescene.y = _yy;
if (stagescene.x > 0){
stagescene.x = 0;
} else {
if (stagescene.y > 0){
stagescene.y = 0;
};
};
}
public function getAngle(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (((Math.atan2(dy, dx) * 180) / Math.PI));
}
private function doUpgrade1(e=null){
stopUpgrade(0);
}
private function doUpgrade2(e=null){
stopUpgrade(1);
}
public function startUpgrade(){
var cm:*;
var bf:*;
cm = new ColorMatrix();
cm.adjustColor(0, 0, -80, 0);
switch (gamedata.selectedlevel){
case 1:
if (!doneupgrade){
startpausetime = getTimer();
doneupgrade = true;
stagescene.filters = [new ColorMatrixFilter(cm)];
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(cm)];
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(cm)];
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(cm)];
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(cm)];
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(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
public function selectAllBase(){
stagescene.selectAllBase();
}
public function refreshContainerStatus(){
var nextzoom:*;
var nextx:*;
var nexty:*;
var up:*;
var down:*;
var left:*;
var right:*;
nextzoom = stagescene.scaleX;
nextx = stagescene.x;
nexty = stagescene.y;
up = (((controlmgr.mousepos.y < 55)) && ((controlmgr.mousepos.y > 25)));
down = (((((controlmgr.mousepos.y > 390)) && ((controlmgr.mousepos.y < 420)))) && ((controlmgr.mousepos.x < 480)));
left = (((((controlmgr.mousepos.x < 30)) && ((controlmgr.mousepos.x > 2)))) && ((controlmgr.mousepos.y < 420)));
right = (((((controlmgr.mousepos.x > 610)) && ((controlmgr.mousepos.x < 638)))) && ((controlmgr.mousepos.y < 360)));
if (((controlmgr.zoomin) || (controlmgr.mousescrollup))){
if (controlmgr.mousescrollup){
nextzoom = (nextzoom + 0.07);
controlmgr.mousescrollup = false;
} else {
nextzoom = (nextzoom + 0.01);
};
} else {
if (((controlmgr.zoomout) || (controlmgr.mousescrolldown))){
if (controlmgr.mousescrolldown){
nextzoom = (nextzoom - 0.07);
controlmgr.mousescrolldown = false;
} else {
nextzoom = (nextzoom - 0.01);
};
};
};
if (((up) || (controlmgr.scrollup))){
nexty = (nexty + 10);
};
if (((down) || (controlmgr.scrolldown))){
nexty = (nexty - 10);
};
if (((left) || (controlmgr.scrollleft))){
nextx = (nextx + 10);
};
if (((right) || (controlmgr.scrollright))){
nextx = (nextx - 10);
};
refreshContainerPosition(nextx, nexty, nextzoom);
}
public function startGame(){
var i:*;
var selectedmap:*;
gamestatus = "playing";
i = 1;
while (i < gamedata.teamcount[(gamedata.selectedlevel - 1)]) {
computermgr.push(new ComputerManager(this, i, gamedata.getOpponentUnitType(gamedata.getPlayerUnitType(doneupgrade), i)));
i++;
};
selectedmap = stagescene.loadLevel();
switch (selectedmap){
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(_minunit=0):MovieClip{
var i:*;
var obj:*;
var dist1:*;
var dist2:*;
obj = null;
i = 0;
while (i < stagescene.basearrayteam[0].length) {
if ((((_minunit == 0)) || ((stagescene.basearrayteam[0][i].unitarray.length > _minunit)))){
dist2 = getDistance(stagescene.basearrayteam[0][i], stagescene.globalToLocal(controlmgr.mousepos));
if (((!(obj)) || ((dist2 < dist1)))){
dist1 = dist2;
obj = stagescene.basearrayteam[0][i];
};
};
i++;
};
if (obj){
closestbase = obj;
closestbasedistance = dist1;
} else {
closestbase = null;
};
return (closestbase);
}
private function stopUpgrade(_sel){
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 (_sel == 0){
gamedata.doUpgrade(0);
} else {
gamedata.doUpgrade(1);
};
stagescene.doUpgrade();
}
public function showTowerNote1(e=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(e=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(e=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(e=null){
stagepanel.noteheader.text = "";
stagepanel.notebody.text = "";
stagepanel.mcnotebg.visible = false;
}
public function hideTowerNote3(e=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(e=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 {
public function mc_ant1(){
super();
}
}
}//package
Section 77
//mc_ant2 (mc_ant2)
package {
public dynamic class mc_ant2 extends UnitObjectBase {
public function mc_ant2(){
super();
}
}
}//package
Section 78
//mc_ant3 (mc_ant3)
package {
public dynamic class mc_ant3 extends UnitObjectBase {
public function mc_ant3(){
super();
}
}
}//package
Section 79
//mc_base1 (mc_base1)
package {
public dynamic class mc_base1 extends BaseObjectBase {
public function mc_base1(){
super();
}
}
}//package
Section 80
//mc_baserange (mc_baserange)
package {
import flash.display.*;
public dynamic class mc_baserange extends MovieClip {
public function mc_baserange(){
super();
}
}
}//package
Section 81
//mc_beetle1 (mc_beetle1)
package {
public dynamic class mc_beetle1 extends UnitObjectBase {
public function mc_beetle1(){
super();
}
}
}//package
Section 82
//mc_beetle2 (mc_beetle2)
package {
public dynamic class mc_beetle2 extends UnitObjectBase {
public function mc_beetle2(){
super();
}
}
}//package
Section 83
//mc_beetle3 (mc_beetle3)
package {
public dynamic class mc_beetle3 extends UnitObjectBase {
public function mc_beetle3(){
super();
}
}
}//package
Section 84
//mc_bloodsplash (mc_bloodsplash)
package {
import flash.display.*;
public dynamic class mc_bloodsplash extends MovieClip {
public function mc_bloodsplash(){
super();
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(){
super();
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(){
super();
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(){
super();
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 {
public function mc_character1(){
super();
}
}
}//package
Section 89
//mc_createtowerprogress (mc_createtowerprogress)
package {
import flash.display.*;
public dynamic class mc_createtowerprogress extends MovieClip {
public function mc_createtowerprogress(){
super();
}
}
}//package
Section 90
//mc_hopper1 (mc_hopper1)
package {
public dynamic class mc_hopper1 extends UnitObjectBase {
public function mc_hopper1(){
super();
}
}
}//package
Section 91
//mc_hopper2 (mc_hopper2)
package {
public dynamic class mc_hopper2 extends UnitObjectBase {
public function mc_hopper2(){
super();
}
}
}//package
Section 92
//mc_hopper3 (mc_hopper3)
package {
public dynamic class mc_hopper3 extends UnitObjectBase {
public function mc_hopper3(){
super();
}
}
}//package
Section 93
//mc_larva1 (mc_larva1)
package {
public dynamic class mc_larva1 extends UnitObjectBase {
public function mc_larva1(){
super();
}
}
}//package
Section 94
//mc_larva2 (mc_larva2)
package {
public dynamic class mc_larva2 extends UnitObjectBase {
public function mc_larva2(){
super();
}
}
}//package
Section 95
//mc_larva3 (mc_larva3)
package {
public dynamic class mc_larva3 extends UnitObjectBase {
public function mc_larva3(){
super();
}
}
}//package
Section 96
//mc_mouseblocker (mc_mouseblocker)
package {
import flash.display.*;
public dynamic class mc_mouseblocker extends MovieClip {
public function mc_mouseblocker(){
super();
}
}
}//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(){
super();
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(_t1, _t2, _t3, _xx, _yy){
txt1 = _t1;
txt2 = _t2;
txt3 = _t3;
this.x = _xx;
this.y = _yy;
if (currentFrame == 1){
gotoAndPlay(2);
};
}
}
}//package
Section 98
//mc_opponentlarva1 (mc_opponentlarva1)
package {
public dynamic class mc_opponentlarva1 extends UnitObjectBase {
public function mc_opponentlarva1(){
super();
}
}
}//package
Section 99
//mc_opponentlarva2 (mc_opponentlarva2)
package {
public dynamic class mc_opponentlarva2 extends UnitObjectBase {
public function mc_opponentlarva2(){
super();
}
}
}//package
Section 100
//mc_opponentlarva3 (mc_opponentlarva3)
package {
public dynamic class mc_opponentlarva3 extends UnitObjectBase {
public function mc_opponentlarva3(){
super();
}
}
}//package
Section 101
//mc_queen (mc_queen)
package {
public dynamic class mc_queen extends UnitObjectBase {
public function mc_queen(){
super();
}
}
}//package
Section 102
//mc_roach1 (mc_roach1)
package {
public dynamic class mc_roach1 extends UnitObjectBase {
public function mc_roach1(){
super();
}
}
}//package
Section 103
//mc_roach2 (mc_roach2)
package {
public dynamic class mc_roach2 extends UnitObjectBase {
public function mc_roach2(){
super();
}
}
}//package
Section 104
//mc_roach3 (mc_roach3)
package {
public dynamic class mc_roach3 extends UnitObjectBase {
public function mc_roach3(){
super();
}
}
}//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;
public function mc_scene_lv1(){
super();
}
}
}//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;
public function mc_scene_lv2(){
super();
}
}
}//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;
public function mc_scene_lv3(){
super();
}
}
}//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;
public function mc_scene_lv4(){
super();
}
}
}//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;
public function mc_scene_lv5(){
super();
}
}
}//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;
public function mc_scene_lv6(){
super();
}
}
}//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;
public function mc_scene_lv7(){
super();
}
}
}//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;
public function mc_scene_lv8(){
super();
}
}
}//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 mctoprightwalkthrough: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(){
super();
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 {
public function mc_tower1(){
super();
}
}
}//package
Section 115
//mc_tower2 (mc_tower2)
package {
public dynamic class mc_tower2 extends TowerObjectBase {
public function mc_tower2(){
super();
}
}
}//package
Section 116
//mc_tower3 (mc_tower3)
package {
public dynamic class mc_tower3 extends TowerObjectBase {
public function mc_tower3(){
super();
}
}
}//package
Section 117
//mc_towercreate (mc_towercreate)
package {
import flash.display.*;
public dynamic class mc_towercreate extends MovieClip {
public function mc_towercreate(){
super();
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(){
super();
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(e=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(e=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 function MochiAd(){
super();
}
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(options: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 = options;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (width:Number, height: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 (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
sendHostProgress = false;
mc.regContLC = function (lc_name:String):void{
mc._containerLCName = lc_name;
};
chk["onEnterFrame"] = function ():void{
var ad_clip:Object;
var elapsed:Number;
var finished:Boolean;
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
ad_clip = this.parent._mochiad_ctr;
elapsed = (getTimer() - this.started);
finished = false;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
finished = true;
chk.started = getTimer();
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (this.root == null){
finished = true;
};
if (finished){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(server:String):String{
var hostname:String;
hostname = server.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(hostname);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(hostname);
return (hostname);
}
public static function unload(clip:Object):Boolean{
if (((clip.clip) && (clip.clip._mochiad))){
clip = clip.clip;
};
if (clip.origFrameRate != undefined){
clip.stage.frameRate = clip.origFrameRate;
};
if (!clip._mochiad){
return (false);
};
if (clip._mochiad._containerLCName != undefined){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
};
if (clip._mochiad.onUnload){
clip._mochiad.onUnload();
};
delete clip._mochiad_loaded;
delete clip._mochiad;
return (true);
}
public static function showInterLevelAd(options: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 = options;
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 (width:Number, height: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 p:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 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 (msec:Number):void{
var _chk:Object;
_chk = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = (msec - 250);
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
chk["onEnterFrame"] = function ():void{
var ad_clip:Object;
var elapsed:Number;
var finished:Boolean;
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
ad_clip = this.parent._mochiad_ctr;
elapsed = (getTimer() - this.started);
finished = false;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (finished){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(options:Object, defaults:Object):Object{
var optcopy:Object;
var k:String;
var pairs:Array;
var i:Number;
var kv:Array;
optcopy = {};
for (k in defaults) {
optcopy[k] = defaults[k];
};
if (options){
for (k in options) {
optcopy[k] = options[k];
};
};
if (optcopy.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."));
};
options = optcopy.clip.loaderInfo.parameters.mochiad_options;
if (options){
pairs = options.split("&");
i = 0;
while (i < pairs.length) {
kv = pairs[i].split("=");
optcopy[unescape(kv[0])] = unescape(kv[1]);
i++;
};
};
if (optcopy.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (optcopy);
}
public static function _cleanup(mc:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = mc;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
lc.client = null;
lc.close();
//unresolved jump
var _slot1 = e;
};
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(options: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 = options;
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);
};
if (clip._mochiad_loaded){
return (null);
};
//unresolved jump
var _slot1 = e;
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 (ev:Object):void{
ev.target.removeEventListener(ev.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(base:Object, methodName:String, argsArray:Array):Object{
var nameArray:Array;
var i:Number;
nameArray = methodName.split(".");
i = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
if (typeof(base[nameArray[i]]) == "function"){
return (base[nameArray[i]].apply(base, argsArray));
};
return (undefined);
}
public static function createEmptyMovieClip(parent:Object, name:String, depth:Number):MovieClip{
var mc:MovieClip;
mc = new MovieClip();
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
parent[name] = mc;
mc["_name"] = name;
return (mc);
}
public static function _getRes(options:Object, clip:Object):Array{
var b:Object;
var w:Number;
var h:Number;
var xy:Array;
b = clip.getBounds(clip.root);
w = 0;
h = 0;
if (typeof(options.res) != "undefined"){
xy = options.res.split("x");
w = parseFloat(xy[0]);
h = parseFloat(xy[1]);
} else {
w = (b.xMax - b.xMin);
h = (b.yMax - b.yMin);
};
if ((((w == 0)) || ((h == 0)))){
w = clip.stage.stageWidth;
h = clip.stage.stageHeight;
};
return ([w, h]);
}
public static function adShowing(mc:Object):void{
mc.origFrameRate = mc.stage.frameRate;
mc.stage.frameRate = 30;
}
public static function getValue(base:Object, objectName:String):Object{
var nameArray:Array;
var i:Number;
nameArray = objectName.split(".");
i = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
return (base[nameArray[i]]);
}
public static function rpc(clip:Object, callbackID:Number, arg:Object):void{
var _local4:Object;
var _local5:Object;
switch (arg.id){
case "setValue":
MochiAd.setValue(clip, arg.objectName, arg.value);
break;
case "getValue":
_local4 = MochiAd.getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + arg.id));
};
}
public static function setValue(base:Object, objectName:String, value:Object):void{
var nameArray:Array;
var i:Number;
nameArray = objectName.split(".");
i = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return;
};
base = base[nameArray[i]];
i++;
};
base[nameArray[i]] = value;
}
public static function showPreGameAd(options: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 = options;
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 (width:Number, height: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 (percent: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 p:Number;
p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (ev:Event):void{
ev.target.removeEventListener(ev.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 (msec:Number):void{
var _chk:Object;
_chk = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = msec;
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s:String):Object{
trace(("[MOCHIAD rpcTestFn] " + s));
return (s);
};
mc.regContLC = function (lc_name:String):void{
mc._containerLCName = lc_name;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (lc_name:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _clip:Object;
var ad_clip:Object;
var elapsed:Number;
var finished:Boolean;
var clip_total:Number;
var clip_loaded:Number;
var clip_pcnt:Number;
var ad_pcnt:Number;
var _inside:Object;
var pcnt:Number;
var total:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_clip = this.parent.parent.root;
ad_clip = this.parent._mochiad_ctr;
elapsed = (getTimer() - this.started);
finished = false;
clip_total = _clip.loaderInfo.bytesTotal;
clip_loaded = _clip.loaderInfo.bytesLoaded;
if (complete){
clip_loaded = Math.max(1, clip_loaded);
clip_total = clip_loaded;
};
clip_pcnt = ((100 * clip_loaded) / clip_total);
ad_pcnt = ((100 * elapsed) / chk.ad_msec);
_inside = this._mochiad_bar._inside;
pcnt = Math.min(100, Math.min(((clip_pcnt) || (0)), ad_pcnt));
pcnt = Math.max(this.last_pcnt, pcnt);
this.last_pcnt = pcnt;
_inside.scaleX = (pcnt * 0.01);
options.ad_progress(pcnt);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:clip_pcnt});
if (clip_pcnt == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((elapsed > chk.ad_timeout)) && ((clip_pcnt == 100)))){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (((complete) && (finished))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(options);
}
public static function showTimedAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(options);
}
public static function doOnEnterFrame(mc:MovieClip):void{
var f:Function;
var mc = mc;
f = function (ev:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
ev.target.removeEventListener(ev.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 function MochiBot(){
super();
}
public static function track(parent:Sprite, tag:String):MochiBot{
var self:MochiBot;
var server:String;
var lv:URLVariables;
var url:String;
var req:URLRequest;
var loader:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
self = new (MochiBot);
parent.addChild(self);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
server = "http://core.mochibot.com/my/core.swf";
lv = new URLVariables();
lv["sb"] = Security.sandboxType;
lv["v"] = Capabilities.version;
lv["swfid"] = tag;
lv["mv"] = "8";
lv["fv"] = "9";
url = self.root.loaderInfo.loaderURL;
if (url.indexOf("http") == 0){
lv["url"] = url;
} else {
lv["url"] = "local";
};
req = new URLRequest(server);
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
self.addChild(loader);
loader.load(req);
return (self);
}
}
}//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(_thisparent){
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 = _thisparent;
gamemgr = stagescene.gamemgr;
blooddata = new BitmapData(640, 480, true, 0);
bloodcontainer = new Bitmap(blooddata);
this.addChild(bloodcontainer);
}
public function createBullet(_typed, _team, _attack, _xx, _yy, _angle){
var obj:*;
switch (_typed){
case 1:
obj = new mc_bullet1();
break;
case 2:
obj = new mc_bullet2();
break;
case 3:
obj = new mc_bullet3();
break;
};
if (obj){
obj.x = _xx;
obj.y = _yy;
obj.rotation = _angle;
this.addChild(obj);
obj.init(_typed, _team, _attack, _angle);
bulletarray.push(obj);
};
}
private function drawPermanentBlood(_obj){
var bd:*;
var bdmask:*;
var rand:*;
rand = Math.random();
if (rand < 0.25){
bd = new splash1((_obj.width / 2), (_obj.height / 2));
} else {
if (rand < 0.5){
bd = new splash2((_obj.width / 2), (_obj.height / 2));
} else {
if (rand < 0.75){
bd = new splash3((_obj.width / 2), (_obj.height / 2));
} else {
bd = new splash4((_obj.width / 2), (_obj.height / 2));
};
};
};
blooddata.merge(bd, bd.rect, new Point((_obj.x - (bd.rect.width / 2)), (_obj.y - (bd.rect.height / 2))), 68, 68, 68, 68);
}
public function removeBullet(_idx){
this.removeChild(bulletarray[_idx]);
bulletarray.splice(_idx, 1);
}
public function createParticle(_type, _xx, _yy, _ww=1){
var obj:*;
switch (_type){
case "bloodsplash":
obj = new mc_bloodsplash();
bloodarray.push(obj);
break;
case "bullet1":
case "bullet2":
case "bullet3":
obj = new mc_bloodsplash();
blowarray.push(obj);
break;
};
if (obj){
obj.x = _xx;
obj.y = _yy;
obj.width = _ww;
obj.height = _ww;
this.addChild(obj);
};
}
public function moveClip(){
var i:*;
i = (bloodarray.length - 1);
while (i > -1) {
if (bloodarray[i].currentFrame == bloodarray[i].totalFrames){
drawPermanentBlood(bloodarray[i]);
this.removeChild(bloodarray[i]);
bloodarray.splice(i, 1);
};
i--;
};
i = (blowarray.length - 1);
while (i > -1) {
if (blowarray[i].currentFrame == blowarray[i].totalFrames){
drawPermanentBlow(blowarray[i]);
this.removeChild(blowarray[i]);
blowarray.splice(i, 1);
};
i--;
};
i = (bulletarray.length - 1);
while (i > -1) {
bulletarray[i].moveClip();
if (bulletarray[i].currentFrame == bulletarray[i].totalFrames){
switch (bulletarray[i].typed){
case 1:
createParticle("bullet1", bulletarray[i].x, bulletarray[i].y);
break;
case 2:
createParticle("bullet2", bulletarray[i].x, bulletarray[i].y);
break;
case 3:
createParticle("bullet3", bulletarray[i].x, bulletarray[i].y);
break;
};
this.removeChild(bulletarray[i]);
bulletarray.splice(i, 1);
};
i--;
};
}
private function drawPermanentBlow(_obj){
var bd:*;
var bdmask:*;
var rand:*;
rand = Math.random();
if (rand < 0.25){
bd = new splash5((_obj.width / 2), (_obj.height / 2));
} else {
if (rand < 0.5){
bd = new splash6((_obj.width / 2), (_obj.height / 2));
} else {
if (rand < 0.75){
bd = new splash7((_obj.width / 2), (_obj.height / 2));
} else {
bd = new splash8((_obj.width / 2), (_obj.height / 2));
};
};
};
blooddata.merge(bd, bd.rect, new Point((_obj.x - (bd.rect.width / 2)), (_obj.y - (bd.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(_gamemgr){
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 = _gamemgr;
gamedata = gamemgr.gamedata;
gamesound = gamemgr.gamesound;
if (!gamemgr.contains(this)){
gamemgr.addChild(this);
};
mouseblocker = new mc_mouseblocker();
}
public function getMiddleOfRoad(_base, _pt, _angle):Point{
var l:*;
var m:*;
var r:*;
var ptl:*;
var ptr:*;
var newpoint:*;
newpoint = _pt;
ptl = new Point((_base.x + (5 * Math.cos((((_angle + 90) * Math.PI) / 180)))), (_base.y + (5 * Math.sin((((_angle + 90) * Math.PI) / 180)))));
ptr = new Point((_base.x + (5 * Math.cos((((_angle - 90) * Math.PI) / 180)))), (_base.y + (5 * Math.sin((((_angle - 90) * Math.PI) / 180)))));
l = checkOnRoad(ptl);
r = checkOnRoad(ptr);
m = checkOnRoad(_pt);
if (m){
if (!r){
newpoint = new Point((_base.x + (20 * Math.cos((((_angle + 15) * Math.PI) / 180)))), (_base.y + (20 * Math.sin((((_angle + 15) * Math.PI) / 180)))));
};
if (!l){
newpoint = new Point((_base.x + (20 * Math.cos((((_angle - 15) * Math.PI) / 180)))), (_base.y + (20 * Math.sin((((_angle - 15) * Math.PI) / 180)))));
};
} else {
if (r){
newpoint = new Point((_base.x + (20 * Math.cos((((_angle - 30) * Math.PI) / 180)))), (_base.y + (20 * Math.sin((((_angle - 30) * Math.PI) / 180)))));
};
if (l){
newpoint = new Point((_base.x + (20 * Math.cos((((_angle + 30) * Math.PI) / 180)))), (_base.y + (20 * Math.sin((((_angle + 30) * Math.PI) / 180)))));
};
};
return (newpoint);
}
public function refreshMouseBlocker(_mousepos){
var pt:*;
pt = this.globalToLocal(_mousepos);
mouseblocker.width = Math.abs((pt.x - mouseblocker.x));
mouseblocker.height = Math.abs((pt.y - mouseblocker.y));
if (pt.x < mouseblocker.x){
if (mouseblocker.scaleX > 0){
mouseblocker.scaleX = (mouseblocker.scaleX * -1);
};
} else {
if (mouseblocker.scaleX < 0){
mouseblocker.scaleX = (mouseblocker.scaleX * -1);
};
};
if (pt.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 i:*;
i = (baserangearray.length - 1);
while (i >= 0) {
layerbackground.removeChild(baserangearray[i]);
baserangearray.splice(i, 1);
i--;
};
}
private function resetNonSelectedBase(){
var i:*;
i = 0;
while (i < basearray.length) {
if (selectedbase.indexOf(basearray[i]) == -1){
basearray[i].mcselectedbase.visible = false;
};
i++;
};
}
public function isTargetReachable(_obj):Boolean{
var res:*;
var i:*;
var j:*;
res = false;
i = 0;
while (i < selectedbase.length) {
res = ((res) || ((selectedbase[i].neighbour.indexOf(_obj) > -1)));
i++;
};
return (res);
}
public function removeUnit(_obj){
if (_obj){
if (_obj.health == 0){
gamesound.playSFX("dead");
createParticle("bloodsplash", _obj.x, _obj.y, _obj.width);
};
unitarray.splice(unitarray.indexOf(_obj), 1);
unitarrayteam[_obj.team].splice(unitarrayteam[_obj.team].indexOf(_obj), 1);
layerscene.removeChild(_obj);
};
}
public function loadLevel():int{
var i:*;
var j:*;
var randommap:*;
if (gamedata.selectedlevel < 9){
randommap = gamedata.selectedlevel;
createLayers(gamedata.selectedlevel);
i = 0;
while (i < gamedata.basecount[(gamedata.selectedlevel - 1)]) {
basearray.push(layerscene[("b" + (i + 1))]);
basearray[i].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 9);
i++;
};
i = 0;
while (i < basearray.length) {
j = 0;
while (j < gamedata.baseneighbour[(gamedata.selectedlevel - 1)][i].length) {
basearray[i].neighbour.push(basearray[(gamedata.baseneighbour[(gamedata.selectedlevel - 1)][i][j] - 1)]);
j++;
};
i++;
};
} else {
randommap = (Math.floor((Math.random() * 5)) + 1);
createLayers(randommap);
i = 0;
while (i < gamedata.basecount[(randommap - 1)]) {
basearray.push(layerscene[("b" + (i + 1))]);
basearray[i].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 9);
i++;
};
i = 0;
while (i < basearray.length) {
j = 0;
while (j < gamedata.baseneighbour[(randommap - 1)][i].length) {
basearray[i].neighbour.push(basearray[(gamedata.baseneighbour[(randommap - 1)][i][j] - 1)]);
j++;
};
i++;
};
};
teamcount = gamedata.teamcount[(gamedata.selectedlevel - 1)];
i = 0;
while (i < teamcount) {
basearrayteam[i] = new Array(basearray[i]);
basearrayteam[i][0].init(gamedata.getPlayerUnitType(gamemgr.doneupgrade), i);
towerarrayteam[i] = new Array();
unitarrayteam[i] = new Array();
towercreatetimer[i] = new Array();
towercreatemaxtimer[i] = new Array();
towercreatetype[i] = new Array();
towercreateprogress[i] = new Array();
i++;
};
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 (randommap);
}
public function getClosestOpponentUnit(_obj):MovieClip{
var i:*;
var res:*;
var dis1:*;
var dis2:*;
res = null;
dis1 = 0;
i = 0;
while (i < unitarray.length) {
if (((!((_obj == unitarray[i]))) && (!((unitarray[i].team == _obj.team))))){
dis2 = getDistance(_obj, unitarray[i]);
if (((!(res)) || ((dis2 < dis1)))){
dis1 = dis2;
res = unitarray[i];
};
};
i++;
};
return (res);
}
public function getOpponentTowerInRange(_base, _team, _range=75):Array{
var res:*;
var i:*;
res = new Array();
i = 0;
while (i < towerarray.length) {
if (towerarray[i].team != _team){
if (getDistance(_base, towerarray[i]) < _range){
res.push(towerarray[i]);
};
};
i++;
};
return (res);
}
private function hideNote(e=null){
mcnotemessage.hideNote();
}
public function getClosestUnit(_obj):MovieClip{
var i:*;
var res:*;
var dis1:*;
var dis2:*;
res = null;
dis1 = 0;
i = 0;
while (i < unitarray.length) {
if (_obj != unitarray[i]){
dis2 = getDistance(_obj, unitarray[i]);
if (((!(res)) || ((dis2 < dis1)))){
dis1 = dis2;
res = unitarray[i];
};
};
i++;
};
return (res);
}
public function pauseClip(){
var i:*;
i = 0;
while (i < unitarray.length) {
unitarray[i].stop();
i++;
};
}
public function moveBase(){
var i:*;
i = (basearray.length - 1);
while (i > -1) {
basearray[i].moveClip();
i--;
};
}
public function getAllyTowerInRange(_base, _team, _range=75):Array{
var res:*;
var i:*;
res = new Array();
i = 0;
while (i < towerarray.length) {
if (towerarray[i].team == _team){
if (getDistance(_base, towerarray[i]) < _range){
res.push(towerarray[i]);
};
};
i++;
};
return (res);
}
public function selectBaseInRange(_x1, _y1, _x2, _y2):int{
var i:*;
var x1:*;
var y1:*;
var x2:*;
var y2:*;
if (_x1 < _x2){
x1 = _x1;
x2 = _x2;
} else {
x1 = _x2;
x2 = _x1;
};
if (_y1 < _y2){
y1 = _y1;
y2 = _y2;
} else {
y1 = _y2;
y2 = _y1;
};
resetSelection();
i = 0;
while (i < basearrayteam[0].length) {
if ((((((((basearrayteam[0][i].x >= x1)) && ((basearrayteam[0][i].y >= y1)))) && ((basearrayteam[0][i].x <= x2)))) && ((basearrayteam[0][i].y <= y2)))){
selectedbase.push(basearrayteam[0][i]);
basearrayteam[0][i].mcselectedbase.visible = true;
};
i++;
};
return (basearrayteam[0].length);
}
private function showNote(_obj){
var s1:*;
var s2:*;
var s3:*;
var xx:*;
var yy:*;
s1 = _obj.typed;
s2 = ((_obj.team)==9) ? "Neutral" : ("Team #" + (_obj.team + 1));
s3 = ("Population: " + _obj.unitarray.length);
xx = _obj.x;
yy = ((_obj.y)>240) ? (_obj.y - 55) : (_obj.y + 55);
mcnotemessage.showNote(s1, s2, s3, xx, yy);
}
public function continueClip(){
var i:*;
i = 0;
while (i < unitarray.length) {
unitarray[i].play();
i++;
};
}
public function stopMouseBlocker(_mousepos, _addbutton=false){
var i:*;
var pt:*;
var obj:*;
obj = null;
if (mouseblocking){
pt = this.globalToLocal(_mousepos);
mouseblocking = false;
mouseblocker.width = Math.abs((pt.x - mouseblocker.x));
mouseblocker.height = Math.abs((pt.y - mouseblocker.y));
if ((((mouseblocker.width < 5)) && ((mouseblocker.width < 5)))){
obj = getClosestBase(pt);
if (obj){
if (getDistance(obj, pt) < 40){
if (obj.team == 0){
if (_addbutton){
selectedbase.push(obj);
obj.mcselectedbase.visible = true;
} else {
if (selectedbase.length > 0){
if (isTargetReachable(obj)){
targetbase = obj;
if ((((selectedbase.length > 1)) || (!((selectedbase[0] == obj))))){
obj.mcattack.gotoAndPlay(3);
};
i = 0;
while (i < selectedbase.length) {
if (selectedbase[i] != obj){
selectedbase[i].setTarget(obj);
};
i++;
};
resetSelection();
} else {
resetSelection();
selectedbase.push(obj);
obj.mcselectedbase.visible = true;
};
} else {
selectedbase.push(obj);
obj.mcselectedbase.visible = true;
};
};
} else {
if (selectedbase.length > 0){
if (isTargetReachable(obj)){
targetbase = obj;
obj.mcattack.gotoAndPlay(3);
i = 0;
while (i < selectedbase.length) {
selectedbase[i].setTarget(obj);
i++;
};
resetSelection();
};
};
};
} else {
if (selectedbase.length > 0){
resetSelection();
};
if (targetbase){
targetbase = null;
};
};
};
} else {
selectBaseInRange(mouseblocker.x, mouseblocker.y, pt.x, pt.y);
};
if (layerforeground.contains(mouseblocker)){
layerforeground.removeChild(mouseblocker);
};
} else {
pt = this.globalToLocal(_mousepos);
obj = getClosestBase(pt);
if (obj){
if (getDistance(obj, pt) < 25){
resetNonSelectedBase();
if (getDistance(obj, pt) < 7){
showNote(obj);
};
} else {
resetNonSelectedBase();
hideNote();
};
};
};
}
public function moveClip(){
moveBase();
moveTower();
moveUnit();
layerparticle.moveClip();
detectBulletHit();
refreshTowerTimer();
}
public function checkOnRoad(_pt):Boolean{
var res:*;
var px:*;
res = true;
px = gamemgr.mapdata.getPixel(Math.floor((_pt.x / 4)), Math.floor((_pt.y / 4)));
res = ((res) && (!((px == 0))));
return (res);
}
public function getRangedOpponentUnit(_obj, _range):Array{
var i:*;
var res:*;
var dis:*;
res = new Array();
dis = 0;
i = 0;
while (i < unitarray.length) {
if (((!((_obj == unitarray[i]))) && (!((unitarray[i].team == _obj.team))))){
dis = getDistance(_obj, unitarray[i]);
if (dis < _range){
res.push(unitarray[i]);
};
};
i++;
};
return (res);
}
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 i:*;
i = (unitarray.length - 1);
while (i > -1) {
if (unitarray[i].health == 0){
removeUnit(unitarray[i]);
} else {
unitarray[i].moveClip();
};
i--;
};
checkWin();
}
private function resetSelection(){
var i:*;
i = 0;
while (i < selectedbase.length) {
selectedbase[i].mcselectedbase.visible = false;
i++;
};
selectedbase.splice(0);
}
public function refreshTowerTimer(){
var i:*;
var j:*;
var obj:*;
j = 0;
while (j < teamcount) {
i = (towercreatetimer[j].length - 1);
while (i >= 0) {
towercreatetimer[j][i] = (towercreatetimer[j][i] + gamemgr.gamespeed);
if (towercreatetimer[j][i] > towercreatemaxtimer[j][i]){
switch (towercreatetype[j][i]){
case 1:
obj = new mc_tower1();
break;
case 2:
obj = new mc_tower2();
break;
case 3:
obj = new mc_tower3();
break;
};
if (((obj) && ((gamemgr.gamestatus == "playing")))){
obj.x = towercreateprogress[j][i].x;
obj.y = towercreateprogress[j][i].y;
layertower.addChild(obj);
obj.init(gamemgr, towercreatetype[j][i], j, basearrayteam[j][0].typed);
towerarray.push(obj);
towerarrayteam[j].push(obj);
gamedata.addCreatedTower(j);
};
layertower.removeChild(towercreateprogress[j][i]);
towercreatetimer[j].splice(i, 1);
towercreatemaxtimer[j].splice(i, 1);
towercreatetype[j].splice(i, 1);
towercreateprogress[j].splice(i, 1);
} else {
towercreateprogress[j][i].gotoAndStop((Math.floor(((towercreatetimer[j][i] / towercreatemaxtimer[j][i]) * 100)) + 1));
};
i--;
};
j++;
};
}
public function startMouseBlocker(_mousepos){
var pt:*;
if ((((_mousepos.y > 30)) && ((_mousepos.y < 450)))){
pt = this.globalToLocal(_mousepos);
mouseblocking = true;
mouseblocker.x = pt.x;
mouseblocker.y = pt.y;
mouseblocker.width = 1;
mouseblocker.height = 1;
if (!layerforeground.contains(mouseblocker)){
layerforeground.addChild(mouseblocker);
};
};
}
public function createBullet(_typed, _team, _attack, _xx, _yy, _angle){
layerparticle.createBullet(_typed, _team, _attack, _xx, _yy, _angle);
}
public function doUpgrade(){
var i:*;
var h:*;
var s:*;
h = gamedata.getUnitHealth(basearrayteam[0][0].typed);
s = gamedata.getUnitSpeed(basearrayteam[0][0].typed);
i = 0;
while (i < basearrayteam[0].length) {
basearrayteam[0][i].setData(gamedata.getPlayerUnitType(gamemgr.doneupgrade), 0);
basearrayteam[0][i].health = h;
basearrayteam[0][i].speed = s;
i++;
};
i = 0;
while (i < unitarrayteam[0].length) {
unitarrayteam[0][i].health = h;
unitarrayteam[0][i].speed = s;
i++;
};
}
public function getAngle(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (((Math.atan2(dy, dx) * 180) / Math.PI));
}
public function destroyTower(_obj){
if (_obj){
gamesound.playSFX("dead");
createParticle("bloodsplash", _obj.x, _obj.y, _obj.width);
gamedata.addDestroyedTower(_obj.team);
layertower.removeChild(_obj);
towerarray.splice(towerarray.indexOf(_obj), 1);
towerarrayteam[_obj.team].splice(towerarrayteam[_obj.team].indexOf(_obj), 1);
};
}
public function createBaseRange(_minunits){
var obj:*;
var i:*;
i = (baserangearray.length - 1);
while (i > (basearrayteam[0].length - 1)) {
if (layerbackground.contains(baserangearray[i])){
layerbackground.removeChild(baserangearray[i]);
};
baserangearray.splice(i, 1);
i--;
};
i = 0;
while (i < baserangearray.length) {
baserangearray[i].x = basearrayteam[0][i].x;
baserangearray[i].y = basearrayteam[0][i].y;
if (basearrayteam[0][i].unitarray.length > _minunits){
baserangearray[i].visible = true;
} else {
baserangearray[i].visible = false;
};
i++;
};
i = baserangearray.length;
while (i < basearrayteam[0].length) {
obj = new mc_baserange();
obj.x = basearrayteam[0][i].x;
obj.y = basearrayteam[0][i].y;
layerbackground.addChild(obj);
baserangearray.push(obj);
if (basearrayteam[0][i].unitarray.length > _minunits){
obj.visible = true;
} else {
obj.visible = false;
};
i++;
};
}
public function setBaseTeam(_obj, _team, _typed){
var i:*;
var opptowers:*;
if (_obj.team != 9){
basearrayteam[_obj.team].splice(basearrayteam[_obj.team].indexOf(_obj), 1);
if ((((_team == 0)) && ((basearrayteam[_obj.team].length < 4)))){
gamemgr.startUpgrade();
};
};
if ((((_obj.team == 0)) || ((_team == 0)))){
gamedata.addTakenSpawn(_team);
gamedata.addLostSpawn(_obj.team);
};
_obj.unitarray.splice(0);
_obj.setData(_typed, _team);
basearrayteam[_team].push(_obj);
opptowers = getOpponentTowerInRange(_obj, _obj.team);
i = (opptowers.length - 1);
while (i > -1) {
destroyTower(opptowers[i]);
i--;
};
checkWin();
}
private function getDistance(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
public function createLayers(_lv){
layerbackground = new Sprite();
this.addChild(layerbackground);
layerparticle = new ParticleContainer(this);
this.addChild(layerparticle);
layertower = new Sprite();
this.addChild(layertower);
switch (_lv){
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 i:*;
i = 0;
while (i < basearrayteam[0].length) {
selectedbase.push(basearrayteam[0][i]);
basearrayteam[0][i].mcselectedbase.visible = true;
i++;
};
}
public function createTower(_type, _pos, _team=0){
var obj:*;
var pt:*;
pt = this.globalToLocal(new Point(_pos.x, _pos.y));
obj = new mc_createtowerprogress();
obj.x = pt.x;
obj.y = pt.y;
obj.gotoAndStop(1);
layertower.addChild(obj);
towercreatetimer[_team].push(0);
towercreatemaxtimer[_team].push(gamedata.towertime[(_type - 1)]);
towercreatetype[_team].push(_type);
towercreateprogress[_team].push(obj);
}
public function getClosestBase(_pos):MovieClip{
var i:*;
var obj:*;
var dist1:*;
var dist2:*;
obj = null;
i = 0;
while (i < basearray.length) {
dist2 = getDistance(basearray[i], _pos);
if (obj){
if (dist2 < dist1){
dist1 = dist2;
obj = basearray[i];
};
} else {
dist1 = dist2;
obj = basearray[i];
};
i++;
};
return (obj);
}
public function createParticle(_param, _posx, _posy, _radius=1){
layerparticle.createParticle(_param, _posx, _posy, _radius);
}
public function reduceUnits(_base, _count){
if (_base.unitarray.length > _count){
_base.unitarray.splice(0, _count);
_base.unitarrayhealth.splice(0, _count);
if (_base.team == 0){
gamedata.addDeadUnit(_base.team, _count);
};
gamesound.playSFX("dead");
createParticle("bloodsplash", _base.x, _base.y);
};
}
public function checkWin():Boolean{
var i:*;
var checkwin:*;
checkwin = true;
i = 1;
while (i < basearrayteam.length) {
checkwin = ((((checkwin) && ((basearrayteam[i].length == 0)))) && ((unitarrayteam[i].length == 0)));
i++;
};
if (checkwin){
gamemgr.gamestatus = "stopplayerwin";
} else {
if (basearrayteam[0].length == 0){
gamemgr.gamestatus = "stopplayerloose";
};
};
return (checkwin);
}
public function addUnit(_obj){
if (_obj){
unitarray.push(_obj);
unitarrayteam[_obj.team].push(_obj);
layerscene.addChild(_obj);
};
}
public function detectBulletHit(){
var i:*;
var j:*;
var obj:*;
var objarray:*;
i = (layerparticle.bulletarray.length - 1);
while (i > -1) {
obj = getClosestOpponentUnit(layerparticle.bulletarray[i]);
if (((obj) && ((getDistance(obj, layerparticle.bulletarray[i]) < 10)))){
switch (layerparticle.bulletarray[i].typed){
case 1:
if (obj.health > layerparticle.bulletarray[i].attack){
obj.health = (obj.health - layerparticle.bulletarray[i].attack);
if (obj.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((obj.health / obj.maxhealth) * 100)) + 1));
};
} else {
obj.health = 0;
if (obj.team == 0){
gamedata.addDeadUnit(obj.team);
} else {
if (layerparticle.bulletarray[i].team == 0){
gamedata.addDeadUnit(obj.team);
gamedata.addKilledUnit(obj.typed);
if (obj.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((obj.health / obj.maxhealth) * 100)) + 1));
};
};
};
};
break;
case 2:
objarray = getRangedOpponentUnit(layerparticle.bulletarray[i], 50);
j = 0;
while (j < objarray.length) {
if (objarray[j].health > layerparticle.bulletarray[i].attack){
objarray[j].health = (objarray[j].health - layerparticle.bulletarray[i].attack);
if (objarray[j].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((objarray[j].health / objarray[j].maxhealth) * 100)) + 1));
};
} else {
objarray[j].health = 0;
if (objarray[j].team == 0){
gamedata.addDeadUnit(objarray[j].team);
} else {
if (layerparticle.bulletarray[i].team == 0){
gamedata.addDeadUnit(objarray[j].team);
gamedata.addKilledUnit(objarray[j].typed);
};
};
if (objarray[j].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((objarray[j].health / objarray[j].maxhealth) * 100)) + 1));
};
};
j++;
};
break;
case 3:
objarray = getRangedOpponentUnit(layerparticle.bulletarray[i], 50);
j = 0;
while (j < objarray.length) {
if (objarray[j].health > layerparticle.bulletarray[i].attack){
if (objarray[j].speed > 1){
objarray[j].speed = (objarray[j].speed * 0.5);
};
objarray[j].health = (objarray[j].health - layerparticle.bulletarray[i].attack);
if (objarray[j].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((objarray[j].health / objarray[j].maxhealth) * 100)) + 1));
};
} else {
objarray[j].health = 0;
if (objarray[j].team == 0){
gamedata.addDeadUnit(objarray[j].team);
} else {
if (layerparticle.bulletarray[i].team == 0){
gamedata.addDeadUnit(objarray[j].team);
gamedata.addKilledUnit(objarray[j].typed);
};
};
if (objarray[j].typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((objarray[j].health / objarray[j].maxhealth) * 100)) + 1));
};
};
j++;
};
break;
};
layerparticle.removeBullet(i);
};
i--;
};
}
public function moveTower(){
var i:*;
i = (towerarray.length - 1);
while (i > -1) {
towerarray[i].moveClip();
i--;
};
}
public function getClosestAllyUnit(_obj):MovieClip{
var i:*;
var res:*;
var dis1:*;
var dis2:*;
res = null;
dis1 = 0;
i = 0;
while (i < unitarray.length) {
if (((!((_obj == unitarray[i]))) && ((unitarray[i].team == _obj.team)))){
dis2 = getDistance(_obj, unitarray[i]);
if (((!(res)) || ((dis2 < dis1)))){
dis1 = dis2;
res = unitarray[i];
};
};
i++;
};
return (res);
}
}
}//package
Section 123
//sfx_btnover (sfx_btnover)
package {
public dynamic class sfx_btnover extends BaseSound {
public function sfx_btnover(){
super();
}
}
}//package
Section 124
//sfx_dead1 (sfx_dead1)
package {
public dynamic class sfx_dead1 extends BaseSound {
public function sfx_dead1(){
super();
}
}
}//package
Section 125
//sfx_dead2 (sfx_dead2)
package {
public dynamic class sfx_dead2 extends BaseSound {
public function sfx_dead2(){
super();
}
}
}//package
Section 126
//sfx_dead3 (sfx_dead3)
package {
public dynamic class sfx_dead3 extends BaseSound {
public function sfx_dead3(){
super();
}
}
}//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(_snd, _vol=1){
var i:*;
i = 0;
if (sndFx.length < 10){
_snd.playSound();
_snd.setVolume((_vol * sfxVolume));
sndFx.push(_snd);
} else {
i = (sndFx.length - 1);
while (i >= 0) {
if (!sndFx[i].sndPlaying){
sndFx[i].stopSound();
sndFx.splice(i, 1);
};
i--;
};
_snd.playSound();
_snd.setVolume((_vol * sfxVolume));
sndFx.push(_snd);
};
}
public function adjustSFX(_val=1){
sfxVolume = _val;
}
public function refreshVolume(){
if (sndBgm){
sndBgm.setVolume(bgmVolume);
};
}
public function stopSFX(){
var i:*;
if (usingsfxarray){
i = (sndFx.length - 1);
while (i >= 0) {
if (sndFx[i].sndPlaying){
sndFx[i].stopSound();
};
sndFx.splice(i, 1);
i--;
};
} 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(_snd, _vol=1){
_snd.playSound();
_snd.setVolume((_vol * sfxVolume));
}
public function playSFX(_param:String=""){
var rand:*;
var played:*;
var i:*;
rand = Math.random();
played = false;
i = 0;
if (usingsfxarray){
switch (_param){
case "btnover":
startSFX(new sfx_btnover(), 1);
break;
case "dead":
if (rand < 3){
startSFX(new sfx_dead1(), 1);
} else {
if (rand < 6){
startSFX(new sfx_dead2(), 1);
} else {
startSFX(new sfx_dead3(), 1);
};
};
break;
};
} else {
switch (_param){
case "btnover":
startSFX2(sfxbtnover, 1);
break;
case "dead":
if (rand < 3){
startSFX2(sfxdead1, 1);
} else {
if (rand < 6){
startSFX2(sfxdead2, 1);
} else {
startSFX2(sfxdead3, 1);
};
};
break;
};
};
}
public function playBGM(_param:String=""){
switch (_param){
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(_val=1){
bgmVolume = _val;
refreshVolume();
}
}
}//package
Section 128
//splash1 (splash1)
package {
import flash.display.*;
public dynamic class splash1 extends BitmapData {
public function splash1(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 129
//splash2 (splash2)
package {
import flash.display.*;
public dynamic class splash2 extends BitmapData {
public function splash2(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 130
//splash3 (splash3)
package {
import flash.display.*;
public dynamic class splash3 extends BitmapData {
public function splash3(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 131
//splash4 (splash4)
package {
import flash.display.*;
public dynamic class splash4 extends BitmapData {
public function splash4(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 132
//splash5 (splash5)
package {
import flash.display.*;
public dynamic class splash5 extends BitmapData {
public function splash5(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 133
//splash6 (splash6)
package {
import flash.display.*;
public dynamic class splash6 extends BitmapData {
public function splash6(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 134
//splash7 (splash7)
package {
import flash.display.*;
public dynamic class splash7 extends BitmapData {
public function splash7(w:Number, h:Number){
super(w, h);
}
}
}//package
Section 135
//splash8 (splash8)
package {
import flash.display.*;
public dynamic class splash8 extends BitmapData {
public function splash8(w:Number, h:Number){
super(w, h);
}
}
}//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(_time=null){
super();
if (_time){
time = _time;
} else {
time = getTimer();
};
Parse(time);
}
public function Parse(_time:uint, _sep:String=":"):String{
time = _time;
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 + _sep) + sminute) + _sep) + ssecond);
} else {
stime = ((sminute + _sep) + 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(_gamemgr, _typed, _team, _teamtype){
gamemgr = _gamemgr;
stagescene = gamemgr.stagescene;
typed = _typed;
team = _team;
attack = (gamemgr.gamedata.getUnitHealth(_teamtype) / 2);
attackspeed = (10 * _typed);
switch (_teamtype){
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(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (((180 - ((Math.atan2(dy, dx) * 180) / Math.PI)) + 90));
}
private function getDistance(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
public function moveClip(){
moveTower();
}
public function moveTower(){
var obj:*;
var objdist:*;
var objangle:*;
obj = stagescene.getClosestOpponentUnit(this);
if (obj){
objdist = getDistance(this, obj);
if (objdist < 75){
objangle = getAngle(this, obj);
cannon.rotation = objangle;
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 dist:*;
var dx:*;
var dy:*;
var nextunit:*;
var nextangle:*;
var ld:*;
var rd:*;
var lld:*;
var rrd:*;
var newspeed:*;
var xx:*;
var yy:*;
newspeed = speed;
dist = getDistance(this, targetbase);
if (dist < 20){
targetbase.addUnit(this);
if (health > 0){
stagescene.removeUnit(this);
};
} else {
if (dist < 50){
this.rotation = getAngle(this, targetbase);
} else {
dx = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation + 90) * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation + 90) * Math.PI) / 180)));
ld = stagescene.checkOnRoad(new Point((this.x + dx), (this.y + dy)));
dx = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation - 90) * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation - 90) * Math.PI) / 180)));
rd = stagescene.checkOnRoad(new Point((this.x + dx), (this.y + dy)));
if (!ld){
this.rotation = (this.rotation - 5);
};
if (!rd){
this.rotation = (this.rotation + 5);
};
if (((!(ld)) && (!(rd)))){
this.rotation = getAngle(this, targetbase);
};
dx = ((gamemgr.gamespeed * speed) * Math.cos(((this.rotation * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * speed) * Math.sin(((this.rotation * Math.PI) / 180)));
if (!stagescene.checkOnRoad(new Point(((this.x + dx) + dx), ((this.y + dy) + dy)))){
newspeed = (speed / 2);
};
};
};
xx = this.x;
yy = this.y;
dx = ((gamemgr.gamespeed * newspeed) * Math.cos(((this.rotation * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * newspeed) * Math.sin(((this.rotation * Math.PI) / 180)));
this.x = (this.x + dx);
this.y = (this.y + dy);
nextunit = stagescene.getClosestOpponentUnit(this);
if (((((nextunit) && ((nextunit.health > 0)))) && ((getDistance(this, nextunit) < ((this.width + nextunit.width) / 2))))){
moveAttack(nextunit);
this.x = xx;
this.y = yy;
} else {
nextunit = stagescene.getClosestAllyUnit(this);
if (((nextunit) && ((getDistance(this, nextunit) < ((this.width + nextunit.width) / 2))))){
if (stuckcounter < 5){
stuckcounter++;
this.x = xx;
this.y = yy;
dx = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation + 90) * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation + 90) * Math.PI) / 180)));
ld = stagescene.checkOnRoad(new Point((this.x + dx), (this.y + dy)));
dx = ((gamemgr.gamespeed * speed) * Math.cos((((this.rotation - 90) * Math.PI) / 180)));
dy = ((gamemgr.gamespeed * speed) * Math.sin((((this.rotation - 90) * Math.PI) / 180)));
rd = stagescene.checkOnRoad(new Point((this.x + dx), (this.y + dy)));
if (!ld){
this.rotation = (this.rotation - 10);
};
if (!rd){
this.rotation = (this.rotation + 10);
};
if (((!(ld)) && (!(rd)))){
this.rotation = getAngle(this, targetbase);
};
};
};
};
}
public function init(_gamemgr, _team, _typed, _health){
gamemgr = _gamemgr;
typed = _typed;
team = _team;
health = _health;
gamedata = gamemgr.gamedata;
stagescene = gamemgr.stagescene;
speed = gamedata.getUnitSpeed(typed);
maxhealth = gamedata.getUnitHealth(typed);
attack = gamedata.getUnitAttack(typed);
}
private function getAngle(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return ((180 - ((Math.atan2(dy, dx) * 180) / Math.PI)));
}
private function getDistance(_obj1, _obj2):Number{
var dx:*;
var dy:*;
dx = (_obj1.x - _obj2.x);
dy = (_obj2.y - _obj1.y);
return (Math.sqrt(((dx * dx) + (dy * dy))));
}
private function moveAttack(_targetunit){
if (_targetunit.health > attack){
_targetunit.health = (_targetunit.health - attack);
if (_targetunit.typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((_targetunit.health / _targetunit.maxhealth) * 100)) + 1));
};
} else {
_targetunit.health = 0;
if (team == 0){
gamemgr.gamedata.addDeadUnit(_targetunit.team);
gamemgr.gamedata.addKilledUnit(_targetunit.typed);
} else {
if (_targetunit.team == 0){
gamemgr.gamedata.addDeadUnit(_targetunit.team);
};
};
};
}
public function moveClip(){
moveUnit();
if (typed == "Queen"){
gamemgr.showQueenHealth((Math.floor(((health / maxhealth) * 100)) + 1));
};
}
}
}//package