STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
233688
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2646 · P5292

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM90457741-23DC&rnd=90457741" width="1" height="1"></div>

armorgames whiteboard-tower-def-2231.swf

This is the info page for
Flash #264563

(Click the ID number above for more basic data on this flash file.)


Text
LOADING ...

<p align="left"><font face="Arial" size="8" color="#ff0000" letterSpacing="0.000000" kerning="1">0%</font></p>

PLAY

Next

<p align="center"><font face="Gregs Other Hand" size="24" color="#cc0000" letterSpacing="0.000000" kerning="1">Loading &nbsp;&nbsp;100%</font></p>

v1.8

click here to play

<p align="center"><font face="Gregs Other Hand" size="20" color="#ffff00" letterSpacing="0.000000" kerning="1">DMG</font></p>

<p align="center"><font face="Gregs Other Hand" size="20" color="#ffff00" letterSpacing="0.000000" kerning="1">DMG</font></p>

<p align="left"><font face="Gregs Other Hand" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1">Place the Towers Above In the Field and Click START when Your Ready!</font></p>

<p align="center"><font face="Gregs Other Hand" size="14" color="#ff0000" letterSpacing="0.000000" kerning="1">Wellcome !</font></p>

menu

$

<p align="left"><font face="Gregs Other Hand" size="14" color="#ff0000" letterSpacing="1.000000" kerning="1">Place the towers above in the field and click START when you&apos;re ready!</font></p>

<p align="center"><font face="Gregs Other Hand" size="14" color="#ff0000" letterSpacing="1.000000" kerning="1">Wellcome !</font></p>

<p align="right"><font face="Gregs Other Hand" size="14" color="#006600" letterSpacing="1.000000" kerning="1">cost</font></p>

<p align="right"><font face="Gregs Other Hand" size="14" color="#ff0000" letterSpacing="1.000000" kerning="1">DMG</font></p>

<p align="right"><font face="Gregs Other Hand" size="14" color="#0000cc" letterSpacing="1.000000" kerning="1">RNG</font></p>

<p align="right"></p>

<p align="right"></p>

<p align="right"></p>

Start

<p align="left"></p>

<p align="right"><font face="Gregs Other Hand" size="16" color="#003399" letterSpacing="1.000000" kerning="1">1000000000</font></p>

Whiteboard TD

<p align="center"><font face="Gregs Other Hand" size="14" color="#cc3300" letterSpacing="1.000000" kerning="1">Lvl 5</font></p>

<p align="center"><font face="Gregs Other Hand" size="14" color="#003399" letterSpacing="1.000000" kerning="1">5</font></p>

Respect

<p align="left"><font face="Gregs Other Hand" size="17" color="#003399" letterSpacing="1.000000" kerning="1">10,000,000</font></p>

Menu

H

M

l

whiteboard tower defense

(critter warfare at its best)

e

d

i

s

r

h

t

o

n

g

a

w

y

m

c

p

l

r

e

w

o

t

a

b

d

l

u

c

s

i

h

s

r

e

w

o

t

h

i

y

u

g

l

k

g

n

i

t

h

l

d

e

r

v

o

o

a

m

l

f

r

!

p

z

c

i

t

e

Whiteboard Tower
DefenSe
Game Design
Josh Larsen
Jim Larsen
Art
Bogden Ene
Programming
Josh Larsen
Sound Production
16 Strings Studio
16strings.googlepages.com
Sound Artist
Jim Larsen
Special Thanks to our Beta
Testers!
Chris Barton
www.sagegames.net
Suzanne Larsen
Deeann Larsen
Jim Larsen
Josh Gentry
THANKS FOR
PLAYING!
Thanks For
Playing!

Only At Armor Games.Com

Wellcome to Whiteboard Tower
DefenSe
The goal of the game is to
defend your respect from the
incoming Critters.

Place towers to fend off
the critters as they move
across the playing field.

next

What Stuff IS

Score BoarD

Towers

Tower Information

Start Button

CRitter Info

Critters
Exit Here

Critters
Enter Here

TowerS In
Play

Your Score

Current Level

Your Respect

Your Cash

1. Don't Spend All your Money.
2. Send Critters In Early
3. Save Your Respect

Tips for Getting
High Score:

Select A tower To Build

See The Description Of The
Tower Here:

Cost

Damage

Range

Upgrade
Information
And Button
Will Apear
Here:

Place The Tower In The Field
To Have it Shoot at Critters.

Use The Towers To
create  a Long Path
For The Critters To
Walk Though

Hit The STart Button To
Send the next wave of
critters.

Keyboard Shortcuts:

SPace = Show Critter Health
Enter = Send Next Wave
'U' = Upgrade Selected Tower
'S' = Sell Selected Tower

<p align="left"><font face="Gregs Other Hand" size="30" color="#0000cc" letterSpacing="0.000000" kerning="1"><b>New Game</b></font></p>

Whiteboard Tower DefenSe
( critter warfare at its best)

<p align="left"><font face="Arial" size="10" color="#ff0000" letterSpacing="0.000000" kerning="1">100</font></p>

Getting Scores Ready

<p align="center"></p>

NEXT

Continue

ActionScript [AS3]

Section 1
//MindJoltAPI (com.mindjolt.api.as3.MindJoltAPI) package com.mindjolt.api.as3 { import flash.display.*; import flash.events.*; import flash.net.*; public class MindJoltAPI extends MovieClip { private var dispatcher:CustomDispatcher; public static var service:Object; public function MindJoltAPI(){ dispatcher = new CustomDispatcher(); dispatcher.doAction(1, 100); dispatcher.addEventListener(_slot2.ACTION, createRoot); } private function createRoot(_arg1:Event):void{ if (root != null){ _arg1.currentTarget.removeEventListener(_slot2.ACTION, createRoot); init(); }; } private function init():void{ var _local1:Object; var _local2:String; var _local3:Loader; _local1 = Object(parent.root).loaderInfo.parameters; _local2 = ""; if (((!((_local1.mjPath == null))) && (isDomainAllowed()))){ _local2 = _local1.mjPath; } else { _local2 = "http://static.mindjolt.com/api/as3/scoreapi_as3_local.swf"; }; _local3 = new Loader(); _local3.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFinished); _local3.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFailed); _local3.load(new URLRequest(_local2)); addChild(_local3); } private function loadFinished(_arg1:Event):void{ service = _arg1.currentTarget.content.service; service.connect(); trace("[MindJoltAPI] service loaded"); } private function isDomainAllowed():Boolean{ var _local1:String; var _local2:LocalConnection; var _local3:String; _local1 = ".mindjolt.com"; _local2 = new LocalConnection(); _local3 = _local2.domain; if (_local3.indexOf(_local1) == (_local3.length - _local1.length)){ return (true); }; return (false); } private function loadFailed(_arg1:IOErrorEvent):void{ trace("[MindJoltAPI] unable to load service"); } } }//package com.mindjolt.api.as3 import flash.events.*; import flash.utils.*; class CustomDispatcher extends EventDispatcher { public static var ACTION:String = "action"; private function CustomDispatcher(){ } public function doAction(_arg1:Number, _arg2:Number):void{ var myTimer:Timer; var propAction:Function; var delay = _arg1; var repeat = _arg2; propAction = function (_arg1:TimerEvent):void{ dispatchEvent(new Event(_slot2.ACTION)); }; myTimer = new Timer(delay, repeat); myTimer.addEventListener(TimerEvent.TIMER, propAction); myTimer.start(); } }
Section 2
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public class AdLoader extends Sprite { private var cpmstarLoader:Loader; private var contentspotid:String; public function AdLoader(_arg1:String){ this.contentspotid = _arg1; addEventListener(Event.ADDED, addedHandler); } private function addedHandler(_arg1:Event):void{ removeEventListener(Event.ADDED, addedHandler); Security.allowDomain("server.cpmstar.com"); var _local2 = "http://server.cpmstar.com/adviewas3.swf"; var _local3:DisplayObjectContainer = parent; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler); cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler); cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid))); addChild(cpmstarLoader); } private function dispatchHandler(_arg1:Event):void{ dispatchEvent(_arg1); } } }//package CPMStar
Section 3
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { public static var onCloseHandler:Object; public static var onErrorHandler:Object; private static var boardID:String; public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ trace(" In Submit "); MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } } }//package mochi
Section 4
//MochiServices (mochi.MochiServices) package mochi { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _id:String; private static var _container:Object; private static var _clip:MovieClip; private static var _loader:Loader; private static var _timer:Timer; private static var _startTime:Number; private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; private static var _swfVersion:String; private static var _listenChannel:LocalConnection; private static var _listenChannelName:String = "__mochiservices"; private static var _sendChannel:LocalConnection; private static var _sendChannelName:String; private static var _rcvChannel:LocalConnection; private static var _rcvChannelName:String; private static var _connecting:Boolean = false; private static var _connected:Boolean = false; public static var onError:Object; public static function get id():String{ return (_id); } public static function get clip():Object{ return (_container); } public static function get childClip():Object{ return (_clip); } public static function getVersion():String{ return ("1.31"); } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); _rcvChannelName = _arg1; initComChannels(); }; }; } public static function get connected():Boolean{ return (_connected); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); _rcvChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var id = _arg1; var clip = _arg2; var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; MochiServices.allowDomains(_gatewayURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); var f:Function = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); var req:URLRequest = new URLRequest(_gatewayURL); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain("*", "localhost"); _rcvChannel.allowInsecureDomain("*", "localhost"); _rcvChannel.client = _clip; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()}); _rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = this.client._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } } }//package mochi
Section 5
//ag_intro_mc_28 (whiteboardTD2_fla.ag_intro_mc_28) package whiteboardTD2_fla { import flash.display.*; public dynamic class ag_intro_mc_28 extends MovieClip { public function ag_intro_mc_28(){ addFrameScript(0, frame1, 217, frame218); } function frame1(){ (parent as MovieClip).stop(); gotoAndPlay(2); } function frame218(){ (parent as MovieClip).play(); } } }//package whiteboardTD2_fla
Section 6
//AGteaser_mc_21 (whiteboardTD2_fla.AGteaser_mc_21) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class AGteaser_mc_21 extends MovieClip { public var AGhome01:SimpleButton; public var skipButton:SimpleButton; public function AGteaser_mc_21(){ addFrameScript(0, frame1, 61, frame62, 114, frame115); } public function onSkipClick(_arg1:MouseEvent):void{ (parent as MovieClip).play(); } public function onAGClick(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://www.addictinggames.com"); navigateToURL(_local2); } function frame1(){ (parent as MovieClip).stop(); play(); skipButton.addEventListener(MouseEvent.CLICK, onSkipClick, false, 0, true); } function frame62(){ AGhome01.addEventListener(MouseEvent.CLICK, onAGClick, false, 0, true); } function frame115(){ (parent as MovieClip).play(); } } }//package whiteboardTD2_fla
Section 7
//animationMainMenu_144 (whiteboardTD2_fla.animationMainMenu_144) package whiteboardTD2_fla { import flash.display.*; public dynamic class animationMainMenu_144 extends MovieClip { public function animationMainMenu_144(){ addFrameScript(111, frame112); } function frame112(){ gotoAndPlay(98); } } }//package whiteboardTD2_fla
Section 8
//armologo_4 (whiteboardTD2_fla.armologo_4) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class armologo_4 extends MovieClip { public function armologo_4(){ addFrameScript(0, frame1); } public function onMiniLogoClick(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armorgames.com?referral=gameWhiteBoardTD"); navigateToURL(_local2); } function frame1(){ addEventListener(MouseEvent.CLICK, onMiniLogoClick, false, 0, true); } } }//package whiteboardTD2_fla
Section 9
//ArmorAd_20 (whiteboardTD2_fla.ArmorAd_20) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class ArmorAd_20 extends MovieClip { public function ArmorAd_20(){ addFrameScript(0, frame1); } public function onArmorClick(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armorgames.com?referral=gameWhiteBoardTD"); navigateToURL(_local2); } function frame1(){ addEventListener(MouseEvent.CLICK, onArmorClick, false, 0, true); } } }//package whiteboardTD2_fla
Section 10
//BackToMenuButton_86 (whiteboardTD2_fla.BackToMenuButton_86) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class BackToMenuButton_86 extends MovieClip { public var blue:MovieClip; public var red:MovieClip; public function BackToMenuButton_86(){ addFrameScript(0, frame1); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function over(_arg1:MouseEvent){ safeRemoveChild(blue); addChild(red); } public function out(_arg1:MouseEvent){ safeRemoveChild(red); addChild(blue); } function frame1(){ trace(" BackToMenuButton first frame "); safeRemoveChild(red); addEventListener(MouseEvent.MOUSE_OVER, over); addEventListener(MouseEvent.MOUSE_OUT, out); } } }//package whiteboardTD2_fla
Section 11
//BasicTower3TurretShape_100 (whiteboardTD2_fla.BasicTower3TurretShape_100) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTower3TurretShape_100 extends MovieClip { public function BasicTower3TurretShape_100(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; stop(); } } }//package whiteboardTD2_fla
Section 12
//BasicTower3TurretShapeReversed_181 (whiteboardTD2_fla.BasicTower3TurretShapeReversed_181) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTower3TurretShapeReversed_181 extends MovieClip { public function BasicTower3TurretShapeReversed_181(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; stop(); } } }//package whiteboardTD2_fla
Section 13
//BasicTowerBullet7_111 (whiteboardTD2_fla.BasicTowerBullet7_111) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerBullet7_111 extends MovieClip { public function BasicTowerBullet7_111(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package whiteboardTD2_fla
Section 14
//BasicTowerTurret1_96 (whiteboardTD2_fla.BasicTowerTurret1_96) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret1_96 extends MovieClip { public var turret:MovieClip; public var spawnPoint:MovieClip; public function BasicTowerTurret1_96(){ addFrameScript(0, frame1); } function frame1(){ mouseChildren = false; } } }//package whiteboardTD2_fla
Section 15
//BasicTowerTurret3_99 (whiteboardTD2_fla.BasicTowerTurret3_99) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret3_99 extends MovieClip { public var shape:MovieClip; public var turret:MovieClip; public function BasicTowerTurret3_99(){ addFrameScript(0, frame1, 25, frame26); } function frame1(){ mouseEnabled = false; } function frame26(){ stop(); mouseEnabled = false; } } }//package whiteboardTD2_fla
Section 16
//BasicTowerTurret4_114 (whiteboardTD2_fla.BasicTowerTurret4_114) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret4_114 extends MovieClip { public var turret:MovieClip; public function BasicTowerTurret4_114(){ addFrameScript(0, frame1); } function frame1(){ mouseChildren = false; } } }//package whiteboardTD2_fla
Section 17
//BasicTowerTurret5_104 (whiteboardTD2_fla.BasicTowerTurret5_104) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret5_104 extends MovieClip { public var turret:MovieClip; public function BasicTowerTurret5_104(){ addFrameScript(0, frame1); } function frame1(){ mouseChildren = false; } } }//package whiteboardTD2_fla
Section 18
//BasicTowerTurret6_108 (whiteboardTD2_fla.BasicTowerTurret6_108) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret6_108 extends MovieClip { public var turret:MovieClip; public function BasicTowerTurret6_108(){ addFrameScript(0, frame1); } function frame1(){ mouseChildren = false; } } }//package whiteboardTD2_fla
Section 19
//BasicTowerTurret8_117 (whiteboardTD2_fla.BasicTowerTurret8_117) package whiteboardTD2_fla { import flash.display.*; public dynamic class BasicTowerTurret8_117 extends MovieClip { public var turret:MovieClip; public function BasicTowerTurret8_117(){ addFrameScript(0, frame1); } function frame1(){ mouseChildren = false; } } }//package whiteboardTD2_fla
Section 20
//bodyFatguydude_160 (whiteboardTD2_fla.bodyFatguydude_160) package whiteboardTD2_fla { import flash.display.*; public dynamic class bodyFatguydude_160 extends MovieClip { public function bodyFatguydude_160(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package whiteboardTD2_fla
Section 21
//BulletSpawnPoint_92 (whiteboardTD2_fla.BulletSpawnPoint_92) package whiteboardTD2_fla { import flash.display.*; public dynamic class BulletSpawnPoint_92 extends MovieClip { public function BulletSpawnPoint_92(){ addFrameScript(1, frame2); } function frame2(){ stop(); } } }//package whiteboardTD2_fla
Section 22
//CircleUnvail_75 (whiteboardTD2_fla.CircleUnvail_75) package whiteboardTD2_fla { import flash.display.*; public dynamic class CircleUnvail_75 extends MovieClip { public function CircleUnvail_75(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package whiteboardTD2_fla
Section 23
//CostSymbol_121 (whiteboardTD2_fla.CostSymbol_121) package whiteboardTD2_fla { import flash.display.*; public dynamic class CostSymbol_121 extends MovieClip { public function CostSymbol_121(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package whiteboardTD2_fla
Section 24
//CPMHSLoader_177 (whiteboardTD2_fla.CPMHSLoader_177) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import CPMStar.*; import flash.text.*; import flash.utils.*; public dynamic class CPMHSLoader_177 extends MovieClip { public var adBox:MovieClip; public var nextbutton:MovieClip; public var playbutton:MovieClip; public var progressText:TextField; public var armorBox:MovieClip; public var useCPM:Boolean; public var CPMStarContentSpotID:String; public var mc:HighScore; public var contTimer:Timer; public var ad:DisplayObject; public function CPMHSLoader_177(){ addFrameScript(0, frame1); } public function GO():void{ if (((((((((((useCPM) && (!((GameMenu.domain == "addictinggames.com"))))) && (!((GameMenu.domain == "shockwave.com"))))) && (!((GameMenu.domain == "andkon.com"))))) && (!((GameMenu.domain == "flashgamelicense.com"))))) && (!((GameMenu.domain == "kongregate.com"))))){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); addChild(armorBox); removeChild(armorBox); }; removeChild(playbutton); if (contTimer == null){ contTimer = new Timer(3000, 1); contTimer.addEventListener(TimerEvent.TIMER, oncontTimer, false, 0, true); }; contTimer.start(); } public function oncontTimer(_arg1:TimerEvent):void{ addChild(playbutton); playbutton.addEventListener(MouseEvent.CLICK, onPlayButton, false, 0, true); contTimer.stop(); } public function onPlayButton(_arg1:MouseEvent):void{ var me = _arg1; if (mc != null){ mc.resume(); }; try { adBox.removeChild(ad); } catch(er) { }; } function frame1(){ useCPM = true; CPMStarContentSpotID = "98Q40A99052"; mc = (parent as HighScore); contTimer = null; ad = null; } } }//package whiteboardTD2_fla
Section 25
//CPMPreloader_1 (whiteboardTD2_fla.CPMPreloader_1) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.media.*; import CPMStar.*; import flash.text.*; import flash.utils.*; import flash.ui.*; import flash.net.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.xml.*; public dynamic class CPMPreloader_1 extends MovieClip { public var miniMan:MovieClip; public var adBox:MovieClip; public var nextbutton:MovieClip; public var playbutton:MovieClip; public var progressText:TextField; public var armorBox:MovieClip; public var useCPM:Boolean; public var CPMStarContentSpotID:String; public var ad:DisplayObject; public var mc:MovieClip; public function CPMPreloader_1(){ addFrameScript(0, frame1); } public function onNextButton(_arg1:MouseEvent):void{ var te = _arg1; trace("On Next Button "); try { adBox.removeChild(ad); } catch(er) { }; ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); } public function fEnter(_arg1:Event):void{ var _local2:Number = (100 * (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal)); trace(((((" this.getBytesLoaded = " + root.loaderInfo.bytesLoaded) + " ") + Math.floor((100 * (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal)))) + "%")); trace((" this.getBytesTotal = " + root.loaderInfo.bytesTotal)); if (this.progressText == null){ removeEventListener(Event.ENTER_FRAME, fEnter); return; }; trace(("total = " + _local2)); this.progressText.text = (("Loading " + Math.floor(_local2)) + "%"); if (_local2 == 100){ addChild(playbutton); playbutton.addEventListener(MouseEvent.CLICK, onPlayButton, false, 0, true); removeEventListener(Event.ENTER_FRAME, fEnter); }; } public function onPlayButton(_arg1:MouseEvent):void{ var me = _arg1; try { adBox.removeChild(ad); } catch(er) { }; parent.removeChild(this); (mc as Object).resume(); } function frame1(){ useCPM = true; CPMStarContentSpotID = "97Q1AE72307"; if (((((((((((useCPM) && (!((GameMenu.domain == "addictinggames.com"))))) && (!((GameMenu.domain == "shockwave.com"))))) && (!((GameMenu.domain == "andkon.com"))))) && (!((GameMenu.domain == "kongregate.com"))))) && (!((GameMenu.domain == "flashgamelicense.com"))))){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); nextbutton.addEventListener(MouseEvent.CLICK, onNextButton, false, 0, true); removeChild(armorBox); } else { removeChild(nextbutton); }; removeChild(playbutton); mc = (parent as MovieClip); if (mc != null){ mc.stop(); }; addEventListener(Event.ENTER_FRAME, fEnter); } } }//package whiteboardTD2_fla
Section 26
//Credits_167 (whiteboardTD2_fla.Credits_167) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class Credits_167 extends MovieClip { public function Credits_167(){ addFrameScript(0, frame1, 1133, frame1134); } public function onStageHandler(_arg1:Event){ trace(" Added to stage"); gotoAndPlay("go"); } function frame1(){ addEventListener(Event.ADDED_TO_STAGE, onStageHandler); stop(); } function frame1134(){ (parent as GameMenu).reset(); parent.removeChild(this); } } }//package whiteboardTD2_fla
Section 27
//critMain2_154 (whiteboardTD2_fla.critMain2_154) package whiteboardTD2_fla { import flash.display.*; public dynamic class critMain2_154 extends MovieClip { public function critMain2_154(){ addFrameScript(49, frame50); } function frame50(){ gotoAndPlay(34); } } }//package whiteboardTD2_fla
Section 28
//critterR3_159 (whiteboardTD2_fla.critterR3_159) package whiteboardTD2_fla { import flash.display.*; public dynamic class critterR3_159 extends MovieClip { public function critterR3_159(){ addFrameScript(90, frame91); } function frame91(){ gotoAndPlay(75); } } }//package whiteboardTD2_fla
Section 29
//eyecritter222copy_145 (whiteboardTD2_fla.eyecritter222copy_145) package whiteboardTD2_fla { import flash.display.*; public dynamic class eyecritter222copy_145 extends MovieClip { public function eyecritter222copy_145(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package whiteboardTD2_fla
Section 30
//face_161 (whiteboardTD2_fla.face_161) package whiteboardTD2_fla { import flash.display.*; public dynamic class face_161 extends MovieClip { public function face_161(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package whiteboardTD2_fla
Section 31
//facecopy_146 (whiteboardTD2_fla.facecopy_146) package whiteboardTD2_fla { import flash.display.*; public dynamic class facecopy_146 extends MovieClip { public function facecopy_146(){ addFrameScript(11, frame12); } function frame12(){ stop(); } } }//package whiteboardTD2_fla
Section 32
//facecopy3_148 (whiteboardTD2_fla.facecopy3_148) package whiteboardTD2_fla { import flash.display.*; public dynamic class facecopy3_148 extends MovieClip { public function facecopy3_148(){ addFrameScript(11, frame12); } function frame12(){ stop(); } } }//package whiteboardTD2_fla
Section 33
//gameover_81 (whiteboardTD2_fla.gameover_81) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class gameover_81 extends MovieClip { public function gameover_81(){ addFrameScript(0, frame1, 173, frame174); } public function onStageHandler(_arg1:Event){ trace(" Added to stage"); gotoAndPlay(2); } function frame1(){ addEventListener(Event.ADDED_TO_STAGE, onStageHandler); stop(); } function frame174(){ stop(); } } }//package whiteboardTD2_fla
Section 34
//hcrti3_162 (whiteboardTD2_fla.hcrti3_162) package whiteboardTD2_fla { import flash.display.*; public dynamic class hcrti3_162 extends MovieClip { public function hcrti3_162(){ addFrameScript(9, frame10); } function frame10(){ stop(); } } }//package whiteboardTD2_fla
Section 35
//Importer_30 (whiteboardTD2_fla.Importer_30) package whiteboardTD2_fla { import flash.display.*; public dynamic class Importer_30 extends MovieClip { public function Importer_30(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 36
//Instructions_169 (whiteboardTD2_fla.Instructions_169) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class Instructions_169 extends MovieClip { public function Instructions_169(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } public function onStageHandler(_arg1:Event){ trace(" Instructions added to stage"); gotoAndPlay("go"); } function frame1(){ addEventListener(Event.ADDED_TO_STAGE, onStageHandler); stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ (parent as GameMenu).reset(); parent.removeChild(this); stop(); } } }//package whiteboardTD2_fla
Section 37
//Instructions_NextButton_170 (whiteboardTD2_fla.Instructions_NextButton_170) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class Instructions_NextButton_170 extends MovieClip { public function Instructions_NextButton_170(){ addFrameScript(0, frame1); } public function continueFunction(_arg1:MouseEvent):void{ if (parent != null){ (parent as MovieClip).play(); }; } function frame1(){ stop(); addEventListener(MouseEvent.CLICK, continueFunction, false, 0, true); } } }//package whiteboardTD2_fla
Section 38
//MainTimeline (whiteboardTD2_fla.MainTimeline) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; import mochi.*; import flash.text.*; import flash.utils.*; import flash.ui.*; import flash.net.*; public dynamic class MainTimeline extends MovieClip { public var logo:MovieClip; public var rate:TextField; public var progressText:TextField; public var gameMenu:GameMenu; public var myMenu:ContextMenu; public var memoryTimer:Timer; public var url:String; public var urlStart:Number; public var urlEnd:Number; public var domain:String; public var LastDot:Number; public var domEnd:Number; public var domain2:String; public var rateTimer:Timer; public var frameCount:Number; public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 5, frame6, 6, frame7, 11, frame12); } public function fEnter(_arg1:Event):void{ var _local2:Number = (100 * (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal)); trace(((((" this.getBytesLoaded = " + root.loaderInfo.bytesLoaded) + " ") + Math.floor((100 * (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal)))) + "%")); trace((" this.getBytesTotal = " + root.loaderInfo.bytesTotal)); if (this.progressText == null){ removeEventListener(Event.ENTER_FRAME, fEnter); return; }; if (Math.floor(_local2) == 100){ this.progressText.text = "."; } else { this.progressText.text = "l"; }; if (_local2 == 100){ removeEventListener(Event.ENTER_FRAME, fEnter); }; } public function onMemoryTimer(_arg1:TimerEvent){ var ev = _arg1; } public function resume():void{ if ((((((GameMenu.domain == "addictinggames.com")) || ((GameMenu.domain == "shockwave.com")))) || ((GameMenu.domain == "flashgamelicense.com")))){ play(); } else { gotoAndPlay("GoArmor"); }; } public function onLogoClick(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armorgames.com?referral=gameWhiteBoardTD"); navigateToURL(_local2); } public function onrateTimer(_arg1:TimerEvent):void{ rate.text = ("" + frameCount); frameCount = 0; if (stage.focus){ if (stage != stage.focus){ if (!stage.focus.root){ stage.focus = stage; }; }; }; } public function onFrameEnter(_arg1:Event){ frameCount++; } function frame1(){ myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); this.contextMenu = myMenu; addEventListener(Event.ENTER_FRAME, fEnter); } function frame2(){ memoryTimer = new Timer(30000); memoryTimer.addEventListener(TimerEvent.TIMER, onMemoryTimer); Key.initialize(stage); stop(); HighScore.HSSprite = new MovieClip(); MochiServices.connect("312f47174804f526", root); url = root.loaderInfo.loaderURL; urlStart = (url.indexOf("://") + 3); urlEnd = url.indexOf("/", urlStart); domain = url.substring(urlStart, urlEnd); LastDot = (domain.lastIndexOf(".") - 1); domEnd = (domain.lastIndexOf(".", LastDot) + 1); domain2 = domain.substring(domEnd, domain.length); GameMenu.domain = domain2; trace(("domain = " + domain2)); MochiBot.track(this, "90a415e1"); } function frame5(){ stop(); } function frame6(){ stop(); logo.addEventListener(MouseEvent.CLICK, onLogoClick, false, 0, true); } function frame7(){ play(); } function frame12(){ stop(); rateTimer = new Timer(1000); rateTimer.addEventListener(TimerEvent.TIMER, onrateTimer); rateTimer.start(); frameCount = 0; addEventListener(Event.ENTER_FRAME, onFrameEnter); } } }//package whiteboardTD2_fla
Section 39
//partcritter22copy_147 (whiteboardTD2_fla.partcritter22copy_147) package whiteboardTD2_fla { import flash.display.*; public dynamic class partcritter22copy_147 extends MovieClip { public function partcritter22copy_147(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package whiteboardTD2_fla
Section 40
//SellButton_125 (whiteboardTD2_fla.SellButton_125) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class SellButton_125 extends MovieClip { public var blue:MovieClip; public var red:MovieClip; public function SellButton_125(){ addFrameScript(0, frame1); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function over(_arg1:MouseEvent){ safeRemoveChild(blue); addChild(red); } public function out(_arg1:MouseEvent){ safeRemoveChild(red); addChild(blue); } function frame1(){ trace(" SellButton first frame "); safeRemoveChild(red); addEventListener(MouseEvent.MOUSE_OVER, over); addEventListener(MouseEvent.MOUSE_OUT, out); } } }//package whiteboardTD2_fla
Section 41
//SubmitButton_83 (whiteboardTD2_fla.SubmitButton_83) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class SubmitButton_83 extends MovieClip { public var blue:MovieClip; public var red:MovieClip; public function SubmitButton_83(){ addFrameScript(0, frame1); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function over(_arg1:MouseEvent){ safeRemoveChild(blue); addChild(red); } public function out(_arg1:MouseEvent){ safeRemoveChild(red); addChild(blue); } function frame1(){ trace("Submit Button frame 1 "); safeRemoveChild(red); addEventListener(MouseEvent.MOUSE_OVER, over); addEventListener(MouseEvent.MOUSE_OUT, out); } } }//package whiteboardTD2_fla
Section 42
//textMenuUnderline_174 (whiteboardTD2_fla.textMenuUnderline_174) package whiteboardTD2_fla { import flash.display.*; public dynamic class textMenuUnderline_174 extends MovieClip { public function textMenuUnderline_174(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package whiteboardTD2_fla
Section 43
//TextReveal_82 (whiteboardTD2_fla.TextReveal_82) package whiteboardTD2_fla { import flash.display.*; public dynamic class TextReveal_82 extends MovieClip { public function TextReveal_82(){ addFrameScript(1, frame2, 120, frame121); } function frame2(){ } function frame121(){ stop(); } } }//package whiteboardTD2_fla
Section 44
//towerT1_34 (whiteboardTD2_fla.towerT1_34) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT1_34 extends MovieClip { public function towerT1_34(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 45
//towerT2_40 (whiteboardTD2_fla.towerT2_40) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT2_40 extends MovieClip { public function towerT2_40(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 46
//towerT3_45 (whiteboardTD2_fla.towerT3_45) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT3_45 extends MovieClip { public function towerT3_45(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 47
//towerT5_54 (whiteboardTD2_fla.towerT5_54) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT5_54 extends MovieClip { public function towerT5_54(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 48
//towerT6_60 (whiteboardTD2_fla.towerT6_60) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT6_60 extends MovieClip { public function towerT6_60(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 49
//towerT7_62 (whiteboardTD2_fla.towerT7_62) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT7_62 extends MovieClip { public function towerT7_62(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 50
//towerT8_64 (whiteboardTD2_fla.towerT8_64) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT8_64 extends MovieClip { public function towerT8_64(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 51
//towerT8copy_105 (whiteboardTD2_fla.towerT8copy_105) package whiteboardTD2_fla { import flash.display.*; public dynamic class towerT8copy_105 extends MovieClip { public function towerT8copy_105(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package whiteboardTD2_fla
Section 52
//UpgradeButton_124 (whiteboardTD2_fla.UpgradeButton_124) package whiteboardTD2_fla { import flash.display.*; import flash.events.*; public dynamic class UpgradeButton_124 extends MovieClip { public var blue:MovieClip; public var red:MovieClip; public function UpgradeButton_124(){ addFrameScript(0, frame1); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function over(_arg1:MouseEvent){ safeRemoveChild(blue); addChild(red); } public function out(_arg1:MouseEvent){ safeRemoveChild(red); addChild(blue); } function frame1(){ trace(" UpgradeButton first frame "); safeRemoveChild(red); addEventListener(MouseEvent.MOUSE_OVER, over); addEventListener(MouseEvent.MOUSE_OUT, out); } } }//package whiteboardTD2_fla
Section 53
//Ah_Sound (Ah_Sound) package { import flash.media.*; public dynamic class Ah_Sound extends Sound { } }//package
Section 54
//ahD_Sound (ahD_Sound) package { import flash.media.*; public dynamic class ahD_Sound extends Sound { } }//package
Section 55
//ahhD_Sound (ahhD_Sound) package { import flash.media.*; public dynamic class ahhD_Sound extends Sound { } }//package
Section 56
//antfarm_Sound (antfarm_Sound) package { import flash.media.*; public dynamic class antfarm_Sound extends Sound { } }//package
Section 57
//arghD_Sound (arghD_Sound) package { import flash.media.*; public dynamic class arghD_Sound extends Sound { } }//package
Section 58
//bang03_Sound (bang03_Sound) package { import flash.media.*; public dynamic class bang03_Sound extends Sound { } }//package
Section 59
//BasicTower (BasicTower) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower extends TowerInterface { public var turret:BasicTowerTurret; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private static var counter:Number = 0; public function BasicTower(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:10, cannonRange:80, cannonDamage:3, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:20, cannonRange:100, cannonDamage:6, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:50, cannonRange:120, cannonDamage:12, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:120, cannonRange:140, cannonDamage:24, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:300, cannonRange:140, cannonDamage:50, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, cannonColor:0}; mouseEnabled = false; removeChild(sellMe); base.color.setColor(0); cannonTitle = "Peon Tower"; cannonDesc = "Your basic hard working Peon Tower."; buildSound = "Tower1_Build"; sellSound = "Tower1_Sell"; fireSound = "Tower1_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } public function ConstructionComplete():void{ if (shotTimer == null){ shotTimer = new Timer(((1500 + Math.floor((Math.random() * 100))) - 50)); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); }; base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; constructionComplete = true; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var bullet:BasicTowerBullet; var ev = _arg1; if (PauseBox.isPaused){ return; }; var critLoc:Point; var distance:Number = 0; targetCritter = PlayGrid.staticThis.findRandomTargetInRange(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); if (targetCritter != null){ if (!pointing){ pointTimer.addEventListener(TimerEvent.TIMER, onPointTimer, false, 0, true); pointing = true; }; PointTurretAtTarget(turret, targetCritter); firedOnce = true; try { turret.tower.play(); } catch(ob) { trace("Somthing went wrong with turret animation T1 "); }; bullet = new BasicTowerBullet(); bullet.x = 0; bullet.y = 0; bullet.gotoAndPlay(2); turret.spawnPoint.addChild(bullet); bullet.setTarget(targetCritter); bullet.setPointDamage(cannonStats[cannonLevel].cannonDamage); bullet.retargetRange = cannonStats[cannonLevel].cannonRange; } else { if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); trace((((" Upgrading tower to level " + cannonLevel) + " color = ") + cannonStats[cannonLevel].cannonColor)); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); } public function onPointTimer(_arg1:TimerEvent):void{ if (constructionComplete == false){ return; }; PointTurretAtTarget(turret, targetCritter); } override public function DeployCopy():MovieClip{ var _local1:BasicTower = new BasicTower(); _local1.gotoAndPlay("Construct"); return (_local1); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 60
//BasicTower2 (BasicTower2) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower2 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private var lastShot:Number;// = 0 private static var counter:Number = 0; public function BasicTower2(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:50, cannonRange:50, cannonDamage:30, damageRadius:20, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:100, cannonRange:60, cannonDamage:60, damageRadius:25, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:200, cannonRange:75, cannonDamage:100, damageRadius:30, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:800, cannonRange:100, cannonDamage:400, damageRadius:35, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:3200, cannonRange:100, cannonDamage:1600, damageRadius:35, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, damageRadius:30, cannonColor:0}; mouseEnabled = false; safeRemoveChild(sellMe); base.color.setColor(0); base.mouseEnabled = false; cannonTitle = "Impact Tower"; cannonDesc = "A usefull tower with area effect goodness."; buildSound = "Tower2_Build"; sellSound = "Tower2_Sell"; fireSound = "Tower2_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; } public function ConstructionComplete():void{ constructionComplete = true; shotTimer = new Timer(1050); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); cannonLevel = 1; base.color.setColor(cannonStats[cannonLevel].cannonColor); if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var currentTime:Number; var bullet:BasicTowerBullet2; var ev = _arg1; if (PauseBox.isPaused){ return; }; currentTime = getTimer(); if ((currentTime - 3000) < lastShot){ return; }; var critLoc:Point; var distance:Number = 0; if (targetCritter != null){ if (targetCritter.dead){ targetCritter = null; } else { critLoc = new Point(targetCritter.x, targetCritter.y); distance = Point.distance(critLoc, new Point(x, y)); if (distance > cannonStats[cannonLevel].cannonRange){ targetCritter = null; }; }; }; if (targetCritter == null){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); }; if (targetCritter != null){ if (!pointing){ pointTimer.addEventListener(TimerEvent.TIMER, onPointTimer, false, 0, true); pointing = true; }; try { turret.turret.play(); } catch(ob) { trace("Somthing went wrong with turret animation T2 "); }; firedOnce = true; lastShot = currentTime; bullet = new BasicTowerBullet2(); bullet.x = 0; bullet.y = 0; bullet.gotoAndPlay(2); turret.spawnPoint.addChild(bullet); bullet.setTarget(targetCritter); bullet.setPointDamage(cannonStats[cannonLevel].cannonDamage, cannonStats[cannonLevel].damageRadius); bullet.retargetRange = cannonStats[cannonLevel].cannonRange; } else { if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); } public function onPointTimer(_arg1:TimerEvent):void{ if (constructionComplete == false){ return; }; PointTurretAtTarget(turret, targetCritter); } override public function DeployCopy():MovieClip{ var _local1:BasicTower2 = new BasicTower2(); _local1.gotoAndPlay("Construct"); return (_local1); } function frame1(){ base.gotoAndStop(1); stop(); mouseChildren = false; } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 61
//BasicTower3 (BasicTower3) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower3 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private static var counter:Number = 0; public function BasicTower3(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; trace((" In BasicTower 3 create " + parent)); shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:150, cannonRange:50, cannonDamage:8, damageRadius:30, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:300, cannonRange:70, cannonDamage:15, damageRadius:30, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:600, cannonRange:90, cannonDamage:30, damageRadius:30, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:2400, cannonRange:110, cannonDamage:120, damageRadius:30, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:10000, cannonRange:110, cannonDamage:480, damageRadius:30, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, damageRadius:30, cannonColor:0}; mouseEnabled = false; safeRemoveChild(sellMe); base.color.setColor(0); cannonTitle = "Stick Man"; cannonDesc = "Never underestimate a stick man with a machine gun!"; buildSound = "Tower3_Build"; sellSound = "Tower3_Sell"; fireSound = "Tower3_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; } public function ConstructionComplete():void{ constructionComplete = true; shotTimer = new Timer(200); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var bullet:BasicTowerBullet3; var ev = _arg1; if (PauseBox.isPaused){ return; }; var critLoc:Point; var distance:Number = 0; if (targetCritter != null){ if (!pointing){ pointTimer.addEventListener(TimerEvent.TIMER, onPointTimer, false, 0, true); pointing = true; }; if (targetCritter.dead){ targetCritter = null; } else { critLoc = new Point(targetCritter.x, targetCritter.y); distance = Point.distance(critLoc, new Point(x, y)); if (distance > cannonStats[cannonLevel].cannonRange){ targetCritter = null; }; }; } else { if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; }; if (targetCritter == null){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); }; if (targetCritter != null){ try { turret.turret.play(); } catch(ob) { trace("Somthing went wrong with turret animation T3 "); }; firedOnce = true; bullet = new BasicTowerBullet3(); PlayGrid.staticThis.addBullet(bullet); bullet.x = (7.5 + x); bullet.y = (7.5 + y); bullet.gotoAndPlay(2); bullet.setTarget(targetCritter); bullet.setPointDamage(cannonStats[cannonLevel].cannonDamage, cannonStats[cannonLevel].damageRadius); }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); } public function onPointTimer(_arg1:TimerEvent):void{ if (constructionComplete == false){ return; }; PointTurretAtTarget(turret, targetCritter); } override public function DeployCopy():MovieClip{ var _local1:BasicTower3 = new BasicTower3(); _local1.gotoAndPlay("Construct"); return (_local1); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 62
//BasicTower4 (BasicTower4) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower4 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private var bulletArray:Array; private static var counter:Number = 0; public function BasicTower4(){ bulletArray = new Array(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; trace((" In BasicTower 4 create " + parent)); shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:450, cannonRange:40, cannonDamage:30, damageRadius:30, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:900, cannonRange:40, cannonDamage:60, damageRadius:30, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:2000, cannonRange:40, cannonDamage:120, damageRadius:30, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:10000, cannonRange:40, cannonDamage:600, damageRadius:30, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:30000, cannonRange:40, cannonDamage:2000, damageRadius:30, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, damageRadius:30, cannonColor:0}; mouseEnabled = false; safeRemoveChild(sellMe); bulletArray.push(new BasicTowerBullet4()); bulletArray.push(new BasicTowerBullet4()); bulletArray.push(new BasicTowerBullet4()); bulletArray.push(new BasicTowerBullet4()); base.color.setColor(0); cannonTitle = "Inverted Lightning Rod"; cannonDesc = "Does serious damage over time to up to 4 targets."; buildSound = "Tower4_Build"; sellSound = "Tower4_Sell"; fireSound = "Tower4_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); removeEventListener(Event.ENTER_FRAME, onFrame); shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; var _local1:Number = 0; _local1 = 0; while (_local1 < 4) { PlayGrid.staticThis.removeBullet(bulletArray[_local1]); _local1++; }; } public function ConstructionComplete():void{ constructionComplete = true; addEventListener(Event.ENTER_FRAME, onFrame); shotTimer = new Timer(200); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; turret.mouseEnabled = false; mouseEnabled = false; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var bullet:BasicTowerBullet4; var targetPoint:Point; var xdiff:Number; var ydiff:Number; var angle:Number; var ev = _arg1; if (PauseBox.isPaused){ return; }; var critLoc:Point; var distance:Number = 0; var targetedCritters:Array; targetedCritters = PlayGrid.staticThis.findTargetsNearPoint(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); var bulletIndex:Number = 0; bulletIndex = 0; while (bulletIndex < 4) { PlayGrid.staticThis.removeBullet(bulletArray[bulletIndex]); bulletIndex = (bulletIndex + 1); }; bulletIndex = 0; while (bulletIndex < 4) { try { turret.turret.play(); } catch(ob) { trace("Somthing went wrong with turret animation T4 "); }; bullet = bulletArray[bulletIndex]; targetCritter = targetedCritters[bulletIndex]; if (targetCritter == null){ } else { firedOnce = true; bullet.x = (7.5 + x); bullet.y = (7.5 + y); bullet.gotoAndPlay(2); bullet.setTarget(targetCritter); bullet.setPointDamage((cannonStats[cannonLevel].cannonDamage / 5), cannonStats[cannonLevel].damageRadius); targetPoint = new Point(0, 0); targetPoint.offset(targetCritter.x, targetCritter.y); xdiff = (x - targetPoint.x); ydiff = (y - targetPoint.y); angle = Math.atan2(ydiff, xdiff); bullet.rotation = (((angle / (2 * Math.PI)) * 360) + 180); PlayGrid.staticThis.addBullet(bullet); }; bulletIndex = (bulletIndex + 1); }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); setSelection(); DisplayBoard.static_This.SetDisplay(this); } public function onFrame(_arg1:Event):void{ if (constructionComplete == false){ return; }; } override public function DeployCopy():MovieClip{ var _local1:BasicTower4 = new BasicTower4(); _local1.gotoAndPlay("Construct"); return (_local1); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 63
//BasicTower5 (BasicTower5) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower5 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 var bullet:BasicTowerBullet5;// = null private static var counter:Number = 0; public function BasicTower5(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:500, cannonRange:30, cannonDamage:10, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:800, cannonRange:40, cannonDamage:8, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:1100, cannonRange:50, cannonDamage:6, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:1400, cannonRange:60, cannonDamage:5, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:1700, cannonRange:70, cannonDamage:4, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, cannonColor:0}; mouseEnabled = false; removeChild(sellMe); base.color.setColor(0); cannonTitle = "Transporter Tower"; cannonDesc = "Transports critters to the start ONCE. Can save your respect, but cuts reward in half."; buildSound = "Tower5_Build"; sellSound = "Tower5_Sell"; fireSound = "Tower5_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } public function ConstructionComplete():void{ if (shotTimer == null){ shotTimer = new Timer((cannonStats[cannonLevel].cannonDamage * 1000)); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer, false, 0, true); shotTimer.start(); }; base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; constructionComplete = true; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ if (PauseBox.isPaused){ return; }; if (bullet == null){ bullet = new BasicTowerBullet5(); PlayGrid.staticThis.addBullet(bullet); bullet.x = (7.5 + x); bullet.y = (7.5 + y); bullet.gotoAndPlay(2); shotTimer.stop(); addEventListener(Event.ENTER_FRAME, onFrame, false, 0, true); } else { shotTimer.stop(); }; } public function onFrame(_arg1:Event):void{ var ev = _arg1; if (bullet == null){ trace(" Got onFrame without bullet !?"); return; }; if (!bullet.readyToFire){ return; }; var critLoc:Point; var distance:Number = 0; var targetCritter2:Critter = PlayGrid.staticThis.findClosestTargetInRange(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); if (targetCritter2 != null){ try { turret.turret.play(); } catch(ob) { trace("Somthing went wrong with turret animation T5 "); }; firedOnce = true; bullet.setTarget(targetCritter2); bullet.setPointDamage(cannonStats[cannonLevel].cannonDamage); bullet.retargetRange = cannonStats[cannonLevel].cannonRange; shotTimer.start(); bullet = null; removeEventListener(Event.ENTER_FRAME, onFrame); }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); shotTimer.stop(); shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; shotTimer = new Timer((cannonStats[cannonLevel].cannonDamage * 1000)); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer, false, 0, true); shotTimer.start(); } override public function DeployCopy():MovieClip{ var _local1:BasicTower5 = new BasicTower5(); _local1.gotoAndPlay("Construct"); return (_local1); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); removeEventListener(Event.ENTER_FRAME, onFrame); shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; if (bullet != null){ PlayGrid.staticThis.removeBullet(bullet); bullet.setTarget(null); }; } function frame1(){ stop(); mouseChildren = false; } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 64
//BasicTower6 (BasicTower6) package { import flash.display.*; import flash.geom.*; public class BasicTower6 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private static var counter:Number = 0; public function BasicTower6(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:100, cannonRange:50, cannonDamage:1, cannonColor:levelOneColor, benifit:1}); cannonStats[2] = {cannonCost:240, cannonRange:60, cannonDamage:2, cannonColor:levelTwoColor, benifit:2}; cannonStats[3] = {cannonCost:500, cannonRange:70, cannonDamage:4, cannonColor:levelThreeColor, benifit:4}; cannonStats[4] = {cannonCost:1000, cannonRange:80, cannonDamage:8, cannonColor:levelFourColor, benifit:8}; cannonStats[5] = {cannonCost:5000, cannonRange:80, cannonDamage:50, cannonColor:levelFiveColor, benifit:50}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, cannonColor:0, benifit:0}; mouseEnabled = false; removeChild(sellMe); base.color.setColor(0); cannonTitle = "Cash Machine"; cannonDesc = "Gives extra money for critters killed in range. Sells back for full value."; buildSound = "Tower6_Build"; sellSound = "Tower6_Sell"; fireSound = "Tower6_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } public function ConstructionComplete():void{ trace((((((" ConstructionComplete " + count) + " x = ") + x) + " y = ") + y)); base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; constructionComplete = true; turret.mouseEnabled = false; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); } override public function DeployCopy():MovieClip{ var _local1:BasicTower6 = new BasicTower6(); _local1.gotoAndPlay("Construct"); return (_local1); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 65
//BasicTower7 (BasicTower7) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower7 extends TowerInterface { public var bullet:MovieClip; public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private var lastSound:Number; private static var counter:Number = 0; public function BasicTower7(){ lastSound = getTimer(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; trace((" In BasicTower 4 create " + parent)); shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; safeRemoveChild(bullet); cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:100, cannonRange:20, cannonDamage:15, slowEffect:0.5, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:200, cannonRange:20, cannonDamage:30, slowEffect:0.45, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:400, cannonRange:20, cannonDamage:60, slowEffect:0.4, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:600, cannonRange:20, cannonDamage:120, slowEffect:0.35, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:1000, cannonRange:20, cannonDamage:240, slowEffect:0.3, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, slowEffect:0, cannonColor:0}; mouseEnabled = false; safeRemoveChild(sellMe); base.color.setColor(0); cannonTitle = "Electric Floor"; cannonDesc = "Slows and does damage to critters who walk on it."; buildSound = "Tower7_Build"; sellSound = "Tower7_Sell"; fireSound = "Tower7_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); removeEventListener(Event.ENTER_FRAME, onFrame); if (shotTimer != null){ shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; }; safeRemoveChild(bullet); var _local1:Number = 0; targetCritter = null; } override public function DeployToLocation(_arg1:Number, _arg2:Number):void{ var _local5:Point; var _local3:Array = PlayGrid.staticThis.playGrid; gotoAndPlay("Construct"); var _local4:Number = 0; while (_local4 < shape.length) { _local5 = new Point((shape[_local4].x + _arg1), (shape[_local4].y + _arg2)); trace(" Deploying Tower with blocked off "); _local3[_local5.x][_local5.y].SetTower(this); _local3[_local5.x][_local5.y].SetBlockedOnlyOff(); _local4++; }; x = _local3[_arg1][_arg2].x; y = _local3[_arg1][_arg2].y; cannonGridX = _arg1; cannonGridY = _arg2; mouseEnabled = false; } public function ConstructionComplete():void{ constructionComplete = true; addEventListener(Event.ENTER_FRAME, onFrame); shotTimer = new Timer(200); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; turret.mouseEnabled = false; mouseEnabled = false; safeRemoveChild(bullet); if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var _local6:Number; if (PauseBox.isPaused){ return; }; var _local2:Point; var _local3:Number = 0; var _local4:Array; _local4 = PlayGrid.staticThis.findTargetsNearPoint(new Point((this.x + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); if (_local4.length > 0){ addChild(bullet); } else { safeRemoveChild(bullet); }; var _local5:Number = 0; _local5 = 0; while (_local5 < _local4.length) { firedOnce = true; targetCritter = _local4[_local5]; if (targetCritter == null){ } else { _local6 = getTimer(); if ((lastSound + 500) < _local6){ lastSound = _local6; SoundSystem.PlaySound(fireSound); }; targetCritter.applyDamage((cannonStats[cannonLevel].cannonDamage / 5)); targetCritter.setSlow(cannonStats[cannonLevel].slowEffect, 500); }; _local5++; }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); setSelection(); DisplayBoard.static_This.SetDisplay(this); } public function onFrame(_arg1:Event):void{ if (constructionComplete == false){ return; }; } override public function DeployCopy():MovieClip{ var _local1:BasicTower7 = new BasicTower7(); _local1.gotoAndPlay("Construct"); return (_local1); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 66
//BasicTower8 (BasicTower8) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTower8 extends TowerInterface { public var turret:MovieClip; public var base:TowerSquareBase; public var sellMe:MovieClip; private var count:Number;// = 0 private static var counter:Number = 0; public function BasicTower8(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 29, frame30, 42, frame43); super(); count = counter++; shape.push(new Point(0, 0)); shape.push(new Point(1, 0)); shape.push(new Point(1, 1)); shape.push(new Point(0, 1)); turret.mouseEnabled = false; cannonLevel = 0; cannonStats[0] = (cannonStats[1] = {cannonCost:8800, cannonRange:75, cannonDamage:2000, cannonColor:levelOneColor}); cannonStats[2] = {cannonCost:22000, cannonRange:100, cannonDamage:4500, cannonColor:levelTwoColor}; cannonStats[3] = {cannonCost:55000, cannonRange:150, cannonDamage:9000, cannonColor:levelThreeColor}; cannonStats[4] = {cannonCost:130000, cannonRange:200, cannonDamage:20000, cannonColor:levelFourColor}; cannonStats[5] = {cannonCost:530000, cannonRange:200, cannonDamage:100000, cannonColor:levelFiveColor}; cannonStats[6] = {cannonCost:-1, cannonRange:0, cannonDamage:0, cannonColor:0}; mouseEnabled = false; removeChild(sellMe); base.color.setColor(0); cannonTitle = "Boss Tower"; cannonDesc = "Watch out for the Boss Tower. Can dish serious damage."; buildSound = "Tower8_Build"; sellSound = "Tower8_Sell"; fireSound = "Tower8_Fire"; } override public function MarkForSale():void{ addChild(sellMe); } public function ConstructionComplete():void{ if (shotTimer == null){ shotTimer = new Timer(((1900 + Math.floor((Math.random() * 200))) - 100)); shotTimer.addEventListener(TimerEvent.TIMER, onShotTimer); shotTimer.start(); }; base.color.setColor(cannonStats[cannonLevel].cannonColor); cannonLevel = 1; constructionComplete = true; if (isHighlighted){ DisplayBoard.static_This.SetDisplay(this); }; } public function onShotTimer(_arg1:TimerEvent):void{ var bullet:BasicTowerBullet8; var ev = _arg1; var critLoc:Point; var distance:Number = 0; if (PauseBox.isPaused){ return; }; if (targetCritter != null){ if (targetCritter.dead){ targetCritter = null; } else { critLoc = new Point(targetCritter.x, targetCritter.y); distance = Point.distance(critLoc, new Point(x, y)); if (distance > cannonStats[cannonLevel].cannonRange){ targetCritter = null; }; }; }; if (targetCritter == null){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point(((this.x + 15) + 7.5), (this.y + 7.5)), cannonStats[cannonLevel].cannonRange); }; if (targetCritter != null){ if (!pointing){ pointTimer.addEventListener(TimerEvent.TIMER, onPointTimer, false, 0, true); pointing = true; }; try { turret.turret.play(); } catch(ob) { trace("Somthing went wrong with turret animation T8 "); }; firedOnce = true; bullet = new BasicTowerBullet8(); PlayGrid.staticThis.addBullet(bullet); bullet.x = ((15 + 7.5) + x); bullet.y = (7.5 + y); bullet.gotoAndPlay(2); bullet.setTarget(targetCritter); bullet.setPointDamage(cannonStats[cannonLevel].cannonDamage); bullet.retargetRange = cannonStats[cannonLevel].cannonRange; } else { if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; }; } override public function Upgrade():void{ cannonLevel = (cannonLevel + 1); base.color.setColor(cannonStats[cannonLevel].cannonColor); DisplayBoard.static_This.SetDisplay(this); setSelection(); } override public function getCenterPoint():Point{ return (new Point(7.5, 7.5)); } public function onPointTimer(_arg1:TimerEvent):void{ if (constructionComplete == false){ return; }; PointTurretAtTarget(turret, targetCritter); } override public function DeployCopy():MovieClip{ var _local1:BasicTower8 = new BasicTower8(); _local1.gotoAndPlay("Construct"); return (_local1); } override public function RemoveFromBoard():void{ super.RemoveFromBoard(); if (pointing){ pointTimer.removeEventListener(TimerEvent.TIMER, onPointTimer); pointing = false; }; shotTimer.removeEventListener(TimerEvent.TIMER, onShotTimer); shotTimer = null; } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ turret.gotoAndPlay("Construct"); } function frame30(){ stop(); ConstructionComplete(); } function frame43(){ stop(); } } }//package
Section 67
//BasicTowerBullet (BasicTowerBullet) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 public var retargetRange:Number;// = 0 public var fireSound:String;// = "Tower1_Fire" private var thisCounter;// = 0 private var lastTime:Number;// = 0 private static var counter = 0; public function BasicTowerBullet(){ addFrameScript(0, frame1, 1, frame2, 9, frame10); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; lastTime = 0; } public function shotReady(_arg1:Boolean=false):void{ var _local2:Point; if (_arg1 == true){ _local2 = PlayGrid.staticThis.globalToLocal(this.localToGlobal(new Point(this.x, this.y))); x = _local2.x; y = _local2.y; PlayGrid.staticThis.addBullet(this); }; thisCounter = counter; if (((!((targetCritter == null))) && (!(targetCritter.dead)))){ SoundSystem.PlaySound(fireSound); }; addEventListener(Event.ENTER_FRAME, onFrame); counter++; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (((!((targetCritter == null))) && (targetCritter.dead))){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point(this.x, this.y), retargetRange); }; if (targetCritter != null){ _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local5 = (_local4.x > 0); _local6 = (_local4.y > 0); _local4.normalize(((190 / 1000) * _local3)); x = (x + _local4.x); y = (y + _local4.y); _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local7 = (_local4.x > 0); _local8 = (_local4.y > 0); if (((((targetCritter.dead) || (!((_local5 == _local7))))) || (!((_local6 == _local8))))){ PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter.applyDamage(pointDamage); targetCritter = null; }; } else { PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter = null; }; } public function setPointDamage(_arg1:Number){ pointDamage = _arg1; } function frame1(){ mouseEnabled = false; stop(); } function frame2(){ } function frame10(){ if (shotReady != null){ shotReady(true); } else { trace(" No shot!?"); }; stop(); } } }//package
Section 68
//BasicTowerBullet2 (BasicTowerBullet2) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet2 extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 private var readyToFire:Boolean;// = false public var dmgRadius:Number; public var retargetRange:Number;// = 0 public var fireSound:String;// = "Tower2_Fire" private var thisCounter;// = 0 private var lastTime:Number;// = 0 private static var counter = 0; public function BasicTowerBullet2(){ addFrameScript(0, frame1, 1, frame2, 34, frame35, 50, frame51); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; lastTime = 0; readyToFire = false; addEventListener(Event.ENTER_FRAME, onFrame); } public function shotReady(_arg1:Boolean):void{ var _local2:Point; if (_arg1 == true){ _local2 = PlayGrid.staticThis.globalToLocal(this.localToGlobal(new Point(this.x, this.y))); x = _local2.x; y = _local2.y; PlayGrid.staticThis.addBullet(this); trace(" Reseting location "); }; readyToFire = true; thisCounter = counter; counter++; if (targetCritter != null){ SoundSystem.PlaySound(fireSound); }; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; var _local9:Boolean; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Array; var _local14:Number; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (((!((targetCritter == null))) && (targetCritter.dead))){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point(this.x, this.y), retargetRange); }; if (targetCritter != null){ _local4 = new Point(0, 0); _local4.offset(targetCritter.x, targetCritter.y); _local5 = (x - _local4.x); _local6 = (y - _local4.y); _local7 = Math.atan2(_local6, _local5); if (readyToFire){ rotation = (((_local7 / (2 * Math.PI)) * 360) + 180); }; if (((readyToFire) || (targetCritter.dead))){ _local8 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local9 = (_local8.x > 0); _local10 = (_local8.y > 0); _local8.normalize(((190 / 1000) * _local3)); x = (x + _local8.x); y = (y + _local8.y); _local8 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local11 = (_local8.x > 0); _local12 = (_local8.y > 0); if (((((targetCritter.dead) || (!((_local9 == _local11))))) || (!((_local10 == _local12))))){ if (targetCritter.dead){ PlayGrid.staticThis.removeBullet(this); } else { gotoAndPlay("boom"); }; removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter.applyDamage((pointDamage / 2)); _local13 = PlayGrid.staticThis.findTargetsNearPoint(new Point(targetCritter.x, targetCritter.y), dmgRadius); _local14 = 0; while (_local14 < _local13.length) { _local13[_local14].applyDamage((pointDamage / 2)); _local14++; }; targetCritter = null; }; }; } else { if (readyToFire){ PlayGrid.staticThis.removeBullet(this); } else { if (parent){ parent.removeChild(this); }; }; removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter = null; }; } public function setPointDamage(_arg1:Number, _arg2:Number){ pointDamage = _arg1; dmgRadius = _arg2; } function frame1(){ stop(); } function frame2(){ } function frame35(){ mouseEnabled = false; if (shotReady != null){ shotReady(true); } else { trace(" No shot!?"); }; stop(); } function frame51(){ PlayGrid.staticThis.removeBullet(this); } } }//package
Section 69
//BasicTowerBullet3 (BasicTowerBullet3) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet3 extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 private var readyToFire:Boolean;// = false public var dmgRadius:Number; public var fireSound:String;// = "Tower3_Fire" private var thisCounter;// = 0 private var lastTime:Number;// = 0 private static var counter = 0; public function BasicTowerBullet3(){ addFrameScript(0, frame1, 1, frame2, 13, frame14, 50, frame51); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; addEventListener(Event.ENTER_FRAME, onFrame, false, 0, true); lastTime = 0; readyToFire = false; } public function shotReady():void{ readyToFire = true; thisCounter = counter; counter++; if (((!((targetCritter == null))) && (!(targetCritter.dead)))){ SoundSystem.PlaySound(fireSound); }; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; var _local9:Boolean; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (targetCritter != null){ _local4 = new Point(0, 0); _local4.offset(targetCritter.x, targetCritter.y); _local5 = (x - _local4.x); _local6 = (y - _local4.y); _local7 = Math.atan2(_local6, _local5); rotation = (((_local7 / (2 * Math.PI)) * 360) + 180); if (((readyToFire) || (targetCritter.dead))){ _local8 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local9 = (_local8.x > 0); _local10 = (_local8.y > 0); _local8.normalize(((190 / 1000) * _local3)); x = (x + _local8.x); y = (y + _local8.y); _local8 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local11 = (_local8.x > 0); _local12 = (_local8.y > 0); if (((((targetCritter.dead) || (!((_local9 == _local11))))) || (!((_local10 == _local12))))){ PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter.applyDamage(pointDamage); targetCritter = null; }; }; }; } public function setPointDamage(_arg1:Number, _arg2:Number){ pointDamage = _arg1; dmgRadius = _arg2; } function frame1(){ mouseEnabled = false; stop(); } function frame2(){ } function frame14(){ if (shotReady != null){ shotReady(); } else { trace(" No shot!?"); }; stop(); } function frame51(){ PlayGrid.staticThis.removeBullet(this); } } }//package
Section 70
//BasicTowerBullet4 (BasicTowerBullet4) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet4 extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 private var dmgRadius:Number;// = 0 private var targetHit:Boolean;// = false public var fireSound:String;// = "Tower4_Fire" private var lastTime:Number;// = 0 private static var lastSound:Number = 0; public function BasicTowerBullet4(){ addFrameScript(0, frame1); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; addEventListener(Event.ENTER_FRAME, onFrame, false, 0, true); lastTime = 0; targetHit = false; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (targetCritter != null){ _local4 = new Point(0, 0); _local4.offset(targetCritter.x, targetCritter.y); _local5 = (x - _local4.x); _local6 = (y - _local4.y); _local7 = Math.atan2(_local6, _local5); rotation = (((_local7 / (2 * Math.PI)) * 360) + 180); if (!targetHit){ _local8 = getTimer(); if ((lastSound + 700) < _local8){ lastSound = _local8; SoundSystem.PlaySound(fireSound); }; targetCritter.applyDamage(pointDamage); pointDamage = 0; targetHit = true; }; if (targetCritter.dead){ targetCritter = null; removeEventListener(Event.ENTER_FRAME, onFrame); }; }; } public function setPointDamage(_arg1:Number, _arg2:Number){ pointDamage = _arg1; dmgRadius = _arg2; } function frame1(){ mouseEnabled = false; } } }//package
Section 71
//BasicTowerBullet5 (BasicTowerBullet5) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet5 extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 public var retargetRange:Number;// = 0 public var readyToFire:Boolean;// = false public var fireSound:String;// = "Tower5_Fire" private var thisCounter;// = 0 private var lastTime:Number;// = 0 private static var counter = 0; public function BasicTowerBullet5(){ addFrameScript(49, frame50, 69, frame70); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; lastTime = 0; addEventListener(Event.ENTER_FRAME, onFrame); } public function shotReady():void{ thisCounter = counter; counter++; readyToFire = true; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:dmgHighlight; if (!readyToFire){ return; }; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (((!((targetCritter == null))) && (targetCritter.dead))){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point(this.x, this.y), retargetRange); }; if (targetCritter != null){ _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local5 = (_local4.x > 0); _local6 = (_local4.y > 0); _local4.normalize(((190 / 1000) * _local3)); x = (x + _local4.x); y = (y + _local4.y); _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local7 = (_local4.x > 0); _local8 = (_local4.y > 0); if (((((targetCritter.dead) || (!((_local5 == _local7))))) || (!((_local6 == _local8))))){ PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter.reward = Math.ceil((targetCritter.reward / 2)); if (targetCritter.hitByResetTower == false){ targetCritter.hitByResetTower = true; trace(" Playing Sound "); SoundSystem.PlaySound(fireSound); PlayGrid.staticThis.resetCritter(targetCritter); } else { _local9 = new dmgHighlight(); _local9.x = targetCritter.x; _local9.y = targetCritter.y; _local9.dmg.text = "immune"; PlayGrid.staticThis.addChild(_local9); _local9.play(); }; targetCritter = null; }; } else { PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter = null; }; } public function setPointDamage(_arg1:Number){ pointDamage = _arg1; } function frame50(){ mouseEnabled = false; shotReady(); } function frame70(){ gotoAndPlay("cycle"); } } }//package
Section 72
//BasicTowerBullet8 (BasicTowerBullet8) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class BasicTowerBullet8 extends MovieClip { public var targetCritter:Critter;// = null public var pointDamage:Number;// = 0 public var retargetRange:Number;// = 0 public var fireSound:String;// = "Tower8_Fire" private var thisCounter;// = 0 private var lastTime:Number;// = 0 private static var counter = 0; public function BasicTowerBullet8(){ addFrameScript(0, frame1, 1, frame2, 9, frame10); } public function setTarget(_arg1:Critter):void{ targetCritter = _arg1; lastTime = 0; } public function shotReady():void{ thisCounter = counter; if (((!((targetCritter == null))) && (!(targetCritter.dead)))){ SoundSystem.PlaySound(fireSound); }; addEventListener(Event.ENTER_FRAME, onFrame); counter++; } public function onFrame(_arg1:Event):void{ var _local4:Point; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; if (lastTime == 0){ lastTime = getTimer(); }; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if ((_local2 - lastTime) < 50){ return; }; lastTime = _local2; if (PauseBox.isPaused){ return; }; if (((!((targetCritter == null))) && (targetCritter.dead))){ targetCritter = PlayGrid.staticThis.findFarthestTargetInRange(new Point(this.x, this.y), retargetRange); }; if (targetCritter != null){ _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local5 = (_local4.x > 0); _local6 = (_local4.y > 0); _local4.normalize(((190 / 1000) * _local3)); x = (x + _local4.x); y = (y + _local4.y); _local4 = new Point((targetCritter.x - x), (targetCritter.y - y)); _local7 = (_local4.x > 0); _local8 = (_local4.y > 0); if (((((targetCritter.dead) || (!((_local5 == _local7))))) || (!((_local6 == _local8))))){ PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter.applyDamage(pointDamage); targetCritter = null; }; } else { PlayGrid.staticThis.removeBullet(this); removeEventListener(Event.ENTER_FRAME, onFrame); targetCritter = null; }; } public function setPointDamage(_arg1:Number){ pointDamage = _arg1; } function frame1(){ stop(); } function frame2(){ } function frame10(){ mouseEnabled = false; if (shotReady != null){ shotReady(); } else { trace(" No shot!?"); }; stop(); } } }//package
Section 73
//BasicTowerTurret (BasicTowerTurret) package { import flash.display.*; public dynamic class BasicTowerTurret extends MovieClip { public var tower:MovieClip; public var spawnPoint:MovieClip; public function BasicTowerTurret(){ addFrameScript(0, frame1, 25, frame26); } function frame1(){ mouseChildren = false; } function frame26(){ stop(); } } }//package
Section 74
//BasicTowerTurret3reversed (BasicTowerTurret3reversed) package { import flash.display.*; public dynamic class BasicTowerTurret3reversed extends MovieClip { public var turret:MovieClip; public function BasicTowerTurret3reversed(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; } } }//package
Section 75
//betterelec1_Sound (betterelec1_Sound) package { import flash.media.*; public dynamic class betterelec1_Sound extends Sound { } }//package
Section 76
//betterelec2_Sound (betterelec2_Sound) package { import flash.media.*; public dynamic class betterelec2_Sound extends Sound { } }//package
Section 77
//BewaretheRedDot_Sound (BewaretheRedDot_Sound) package { import flash.media.*; public dynamic class BewaretheRedDot_Sound extends Sound { } }//package
Section 78
//buzz_001_01_Sound (buzz_001_01_Sound) package { import flash.media.*; public dynamic class buzz_001_01_Sound extends Sound { } }//package
Section 79
//charge_Sound (charge_Sound) package { import flash.media.*; public dynamic class charge_Sound extends Sound { } }//package
Section 80
//circle_Sound (circle_Sound) package { import flash.media.*; public dynamic class circle_Sound extends Sound { } }//package
Section 81
//Critter (Critter) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class Critter extends MovieClip { public var currentGridBox:GridBox;// = null public var lastGridBox:GridBox;// = null public var speed:Number;// = 0.03 public var dead:Boolean;// = false private var _hitpoints:Number;// = 1 public var maxhitPoints:Number;// = 1 public var reward:Number;// = 1 public var boxesTraveled:Number;// = 0 public var planedRotation:Number;// = 0 public var tempSlowRate:Number;// = 1 public var tempSlowEffectiveTime:Number;// = 0 public var hitByResetTower:Boolean;// = false public var rotate;// = true public var enterSound:String;// = "Critter1_In" public var exitSound:String;// = "Critter1_Out" public var dieSound:String;// = "Critter1_Die" public var lastExit:Number;// = 0 private var lifeTimer:Timer; private var lifeStat:Sprite; private var over:Boolean;// = false public var lastTime:Number;// = 0 public static var lastSound:Number = 0; public function Critter(_arg1:StartGridBox=null){ lifeTimer = new Timer(1000); lifeStat = new Sprite(); super(); if (_arg1 != null){ JumpToStart(_arg1); }; boxesTraveled = (boxesTraveled + 1); addEventListener(Event.ENTER_FRAME, EnterFrameHandler, false, 0, true); planedRotation = rotation; addEventListener(MouseEvent.MOUSE_OVER, onMouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut, false, 0, true); Key.dispatcher.addEventListener("KEY_DOWN.32", showLifeBar, false, 0, true); Key.dispatcher.addEventListener("KEY_UP.32", removeLifeBar, false, 0, true); } public function set hitpoints(_arg1:Number):void{ _hitpoints = _arg1; if (_arg1 > maxhitPoints){ maxhitPoints = _arg1; }; drawLifeBar(); } public function get hitpoints():Number{ return (_hitpoints); } public function setSlow(_arg1:Number, _arg2:Number):void{ tempSlowRate = _arg1; tempSlowEffectiveTime = (getTimer() + _arg2); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } private function drawLifeBar():void{ if (over == true){ lifeStat.graphics.clear(); lifeStat.graphics.beginFill(0xFF0000, 1); lifeStat.graphics.lineStyle(1, 0, 1); lifeStat.graphics.drawRect(-15, 0, (30 * (_hitpoints / maxhitPoints)), 5); lifeStat.graphics.endFill(); lifeStat.graphics.drawRect(-15, 0, 30, 5); }; } private function showLifeBar(_arg1:Event){ onMouseOver(null); } private function removeLifeBar(_arg1:Event){ onMouseOut(null); } private function onMouseOver(_arg1:MouseEvent){ over = true; drawLifeBar(); if (currentGridBox != null){ addChild(lifeStat); }; } private function onTimer(_arg1:TimerEvent):void{ if (over == false){ safeRemoveChild(lifeStat); lifeTimer.removeEventListener(TimerEvent.TIMER, onTimer); lifeTimer.stop(); }; } private function onMouseOut(_arg1:MouseEvent){ over = false; lifeTimer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true); lifeTimer.start(); } public function JumpToStart(_arg1:StartGridBox){ currentGridBox = _arg1.box; lastGridBox = currentGridBox; x = currentGridBox.x; y = currentGridBox.y; } private function die(){ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:dmgHighlight; var _local5:Number; if (dead){ return; }; currentGridBox = null; lastGridBox = null; removeEventListener(Event.ENTER_FRAME, EnterFrameHandler); PlayGrid.staticThis.RemoveCritter(this, true); dead = true; Key.dispatcher.removeEventListener("KEY_DOWN.32", showLifeBar); Key.dispatcher.removeEventListener("KEY_UP.32", removeLifeBar); if (hitpoints <= 0){ _local1 = PlayGrid.staticThis.getMoneyTowersInRange(new Point(this.x, this.y)); _local2 = 0; _local3 = 0; _local3 = 0; while (_local3 < _local1.length) { _local2 = (_local2 + _local1[_local3].cannonStats[_local1[_local3].cannonLevel].benifit); _local3++; }; ScoreBoard.static_This.CurrentCash = (ScoreBoard.static_This.CurrentCash + (reward + _local2)); SoundSystem.PlaySound("moneyDrop"); ScoreBoard.static_This.CurrentScore = (ScoreBoard.static_This.CurrentScore + ((ScoreBoard.static_This.CurrentLevel * ScoreBoard.static_This.CurrentLevel) * PlayGrid.staticThis.currentCritters.length)); _local4 = new dmgHighlight(); _local4.x = x; _local4.y = y; _local4.dmg.text = ("" + (reward + _local2)); PlayGrid.staticThis.addChild(_local4); _local4.play(); SoundSystem.PlaySound(dieSound); ScoreBoard.static_This.lastLevel(); } else { _local5 = getTimer(); if ((lastSound + 1000) < _local5){ SoundSystem.PlaySound(exitSound); lastSound = _local5; }; ScoreBoard.static_This.CurrentRespect = (ScoreBoard.static_This.CurrentRespect - 1); ScoreBoard.static_This.lastLevel(); }; } public function EnterFrameHandler(_arg1:Event):void{ var _local4:Boolean; var _local5:Boolean; var _local6:Point; var _local7:Number; var _local8:Boolean; var _local9:Boolean; var _local2:Number = getTimer(); var _local3:Number = (_local2 - lastTime); if (lastTime == 0){ _local3 = 1; }; lastTime = _local2; if (currentGridBox == null){ return; }; if (PauseBox.isPaused){ return; }; if (((!((x == currentGridBox.x))) || (!((y == currentGridBox.y))))){ _local4 = (x < currentGridBox.x); _local5 = (y < currentGridBox.y); _local6 = new Point((currentGridBox.x - x), (currentGridBox.y - y)); _local7 = speed; if (tempSlowEffectiveTime > getTimer()){ _local7 = (_local7 * tempSlowRate); }; _local6.normalize((_local7 * _local3)); x = (x + _local6.x); y = (y + _local6.y); UpdateRotation(_local3); _local8 = (x < currentGridBox.x); _local9 = (y < currentGridBox.y); if (((!((_local4 == _local8))) || (!((_local5 == _local9))))){ if (((!((currentGridBox.bestPath == null))) && ((currentGridBox.bestPath.length > 0)))){ lastGridBox = currentGridBox; currentGridBox = currentGridBox.bestPath[0]; boxesTraveled = (boxesTraveled + 1); } else { if (currentGridBox.exitSquare){ x = currentGridBox.x; y = currentGridBox.y; die(); } else { currentGridBox.bestPath = PlayGrid.staticThis.GetPathToExit(currentGridBox, true); if ((((currentGridBox.bestPath == null)) || ((currentGridBox.bestPath.length == 0)))){ lastGridBox = null; currentGridBox = null; }; PlayGrid.staticThis.PropigatePath(currentGridBox.bestPath); PlayGrid.staticThis.DrawAllPaths(); }; }; }; } else { if (((!((currentGridBox.bestPath == null))) && ((currentGridBox.bestPath.length > 0)))){ currentGridBox = currentGridBox.bestPath[0]; boxesTraveled = (boxesTraveled + 1); } else { x = currentGridBox.x; y = currentGridBox.y; currentGridBox = null; lastGridBox = null; }; }; } public function applyDamage(_arg1:Number){ hitpoints = (hitpoints - _arg1); if (hitpoints < 1){ die(); }; } public function UpdateRotation(_arg1:Number):void{ var _local4:Number; var _local2:Number = 0; if (currentGridBox.x > lastGridBox.x){ if (currentGridBox.y > lastGridBox.y){ _local2 = 45; } else { if (currentGridBox.y == lastGridBox.y){ _local2 = 0; } else { _local2 = -45; }; }; } else { if (currentGridBox.x == lastGridBox.x){ if (currentGridBox.y > lastGridBox.y){ _local2 = 90; } else { if (currentGridBox.y == lastGridBox.y){ _local2 = 0; } else { _local2 = -90; }; }; } else { if (currentGridBox.y > lastGridBox.y){ _local2 = 135; } else { if (currentGridBox.y == lastGridBox.y){ _local2 = 180; } else { _local2 = -135; }; }; }; }; if (_local2 < 0){ _local2 = (_local2 + 360); }; if (_local2 > 360){ _local2 = (_local2 - 360); }; var _local3:Number = rotation; if (_local3 < 0){ _local3 = (_local3 + 360); }; _local3 = (_local3 % 360); if (Math.abs((_local2 - _local3)) < 10){ planedRotation = _local2; } else { _local4 = ((speed * 10) * _arg1); if (Math.abs((_local2 - _local3)) > 180){ if (_local3 < _local2){ if ((_local3 + _local4) > _local2){ planedRotation = _local2; } else { planedRotation = (planedRotation - _local4); }; } else { if ((_local3 - _local4) < _local2){ planedRotation = _local2; } else { planedRotation = (planedRotation + _local4); }; }; } else { if (_local3 > _local2){ if ((_local3 - _local4) < _local2){ planedRotation = _local2; } else { planedRotation = (planedRotation - _local4); }; } else { if ((_local3 + _local4) > _local2){ planedRotation = _local2; } else { planedRotation = (planedRotation + _local4); }; }; }; }; if (Math.abs((planedRotation - rotation)) > 3){ if (rotate){ lifeStat.rotation = (planedRotation * -1); rotation = planedRotation; } else { rotation = 0; }; }; } public function copy(){ trace(((" Somthing didn't get implemented right. " + this) + " didn't implement copy() ")); } } }//package
Section 82
//Critter1 (Critter1) package { public class Critter1 extends Critter { public function Critter1(_arg1:StartGridBox=null){ super(_arg1); hitpoints = 6; speed = (40 / 1000); enterSound = "Critter1_In"; exitSound = "Critter1_Out"; dieSound = "Critter1_Die"; } override public function copy(){ return (new Critter1()); } } }//package
Section 83
//Critter2 (Critter2) package { public class Critter2 extends Critter { public function Critter2(_arg1:StartGridBox=null){ super(_arg1); hitpoints = 3; speed = (80 / 1000); enterSound = "Critter2_In"; exitSound = "Critter2_Out"; dieSound = "Critter2_Die"; rotate = false; } override public function copy(){ return (new Critter2()); } } }//package
Section 84
//Critter3 (Critter3) package { public class Critter3 extends Critter { public function Critter3(_arg1:StartGridBox=null){ super(_arg1); hitpoints = 9; speed = (25 / 1000); enterSound = "Critter3_In"; exitSound = "Critter3_Out"; dieSound = "Critter3_Die"; } override public function copy(){ return (new Critter3()); } } }//package
Section 85
//CritterFactory (CritterFactory) package { public class CritterFactory { public static var waves:Array = new Array(); public static var currentWave:Number = 0; private static var BossCount:Number = 1; private static var BossIndex:Number = 1; public static var increaseRate:Number = 1.25; public static var moneyDivide:Number = 9; public static var healthMultiplier:Number = 1; public static function CreateCritter(_arg1:Number, _arg2:StartGridBox=null):Critter{ switch (_arg1){ case 1: return (new Critter1(_arg2)); case 2: return (new Critter2(_arg2)); case 3: return (new Critter3(_arg2)); case 4: return (CreateCritter((Math.floor((Math.random() * 3)) + 1), _arg2)); }; return (new Critter1(_arg2)); } public static function calculateLevelPower(_arg1:Number):Number{ var _local2:Number = _arg1.valueOf(); var _local3:Number = 1; if (_local2 > 0){ _local3 = (_local3 + Math.pow((1 + (increaseRate * 1)), _local2)); }; if ((((healthMultiplier > 1)) && ((_arg1 > 0)))){ return ((_local3 * (1 + (_arg1 / 100)))); }; return ((_local3 * healthMultiplier)); } public static function getWave():CritterWave{ var _local1:Number = (ScoreBoard.static_This.CurrentLevel - 1); if (_local1 == 0){ BossCount = (BossIndex = 1); }; var _local2:Number = ((_local1 % 4) + 1); var _local3:Number = 1; var _local4:Number = 20; var _local5:Number = 5; var _local6:Number = 5000; var _local7:Number = 1; var _local8:Number = 0; _local8 = calculateLevelPower(_local1); var _local9:Number = 1; while (_local9 < 100) { trace((((" level " + _local9) + " will be ") + calculateLevelPower(_local9))); _local9++; }; if (_local2 == 4){ _local3 = 6; _local3 = (_local3 * _local8); _local2 = BossIndex; _local4 = BossCount; _local6 = 2000; _local5 = 1; _local7 = (Math.ceil((_local3 / moneyDivide)) * 10); BossIndex++; if (BossIndex == 4){ BossIndex = 1; }; } else { _local3 = 1; _local3 = (_local3 * _local8); _local7 = Math.ceil((_local3 / moneyDivide)); }; var _local10:CritterWave = new CritterWave(); _local10.critterHealthMultiplier = _local3; _local10.critterIndex = _local2; _local10.crittersPerSet = _local5; _local10.msBetweenSets = _local6; _local10.numberOfCritters = _local4; _local10.rewardPerCritter = _local7; trace(("reward = " + _local10.rewardPerCritter)); return (_local10.copy()); } public static function InitWaves(){ var _local1:CritterWave = new CritterWave(); _local1.critterHealthMultiplier = 1; _local1.critterIndex = 1; _local1.crittersPerSet = 2; _local1.msBetweenSets = 3000; _local1.numberOfCritters = 10; _local1.rewardPerCritter = 1; waves.push(_local1.copy()); _local1.critterHealthMultiplier = 1; _local1.critterIndex = 2; _local1.crittersPerSet = 4; _local1.msBetweenSets = 3000; _local1.numberOfCritters = 15; _local1.rewardPerCritter = 1; waves.push(_local1.copy()); _local1.critterHealthMultiplier = 1; _local1.critterIndex = 3; _local1.crittersPerSet = 3; _local1.msBetweenSets = 2000; _local1.numberOfCritters = 10; _local1.rewardPerCritter = 1; waves.push(_local1.copy()); _local1.critterHealthMultiplier = 10; _local1.critterIndex = 1; _local1.crittersPerSet = 1; _local1.msBetweenSets = 2000; _local1.numberOfCritters = 1; _local1.rewardPerCritter = 20; waves.push(_local1.copy()); } } }//package
Section 86
//CritterSelection (CritterSelection) package { import flash.display.*; public class CritterSelection extends MovieClip { public var theCritter:Critter3; public var theRealCritter:MovieClip;// = null public function CritterSelection(){ removeChild(theCritter); theCritter = null; } public function setCritter(_arg1:Critter){ if (theRealCritter != null){ removeChild(theRealCritter); }; theRealCritter = _arg1; if (theRealCritter != null){ addChild(theRealCritter); }; } } }//package
Section 87
//CritterStats (CritterStats) package { import flash.display.*; import flash.text.*; public class CritterStats extends MovieClip { public var selection:CritterSelection; public var desc:TextField; private var settable:Boolean;// = true public function CritterStats(){ selection.setCritter(null); } public function commafy(_arg1:Number):String{ var _local2:String = Math.floor(_arg1).toString(); var _local3:Array = []; while (_local2.length > 3) { _local3.unshift(_local2.slice((_local2.length - 3), _local2.length)); _local2 = _local2.slice(0, (_local2.length - 3)); }; _local3.unshift(_local2); return (_local3.join(",")); } public function SetDisplay(_arg1:Critter){ if (((!((_arg1 == null))) && ((settable == false)))){ return; }; if (((!((_arg1 == null))) && ((settable == true)))){ selection.setCritter(_arg1.copy()); desc.text = ((("HP: " + commafy(_arg1.hitpoints)) + " Reward: ") + commafy(Math.floor(_arg1.reward))); settable = false; }; if (_arg1 == null){ settable = true; }; } } }//package
Section 88
//CritterWave (CritterWave) package { public class CritterWave { public var critterIndex:Number;// = 0 public var critters:Array; public var numberOfCritters:Number;// = 1 public var crittersPerSet:Number;// = 1 public var msBetweenSets:Number;// = 1000 public var critterHealthMultiplier:Number;// = 1 public var rewardPerCritter;// = 1 public function CritterWave(){ critters = new Array(); super(); } public function copy():CritterWave{ var _local1:CritterWave; var _local2:Critter; trace(" critter copy function "); _local1 = new CritterWave(); _local1.critterHealthMultiplier = critterHealthMultiplier; _local1.critterIndex = critterIndex; _local1.crittersPerSet = crittersPerSet; _local1.msBetweenSets = msBetweenSets; _local1.numberOfCritters = numberOfCritters; _local1.critters = new Array(); _local1.rewardPerCritter = rewardPerCritter; while (_local1.critters.length < numberOfCritters) { _local2 = CritterFactory.CreateCritter(critterIndex); _local2.hitpoints = Math.ceil((_local2.hitpoints * critterHealthMultiplier)); _local2.reward = rewardPerCritter; _local1.critters.push(_local2); }; return (_local1); } } }//package
Section 89
//Cursor_Marker (Cursor_Marker) package { import flash.display.*; public dynamic class Cursor_Marker extends MovieClip { public function Cursor_Marker(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; mouseChildren = false; } } }//package
Section 90
//Cyborg_Zap_Sound (Cyborg_Zap_Sound) package { import flash.media.*; public dynamic class Cyborg_Zap_Sound extends Sound { } }//package
Section 91
//DisplayBoard (DisplayBoard) package { import flash.display.*; import flash.events.*; import flash.text.*; public class DisplayBoard extends MovieClip { public var description:TextField; public var Sell:MovieClip; public var UpgradeRange:TextField; public var UpgradeDamage:TextField; public var CurrentRange:TextField; public var Arrows:MovieClip; public var title:TextField; public var CurrentCost:TextField; public var reveal:MovieClip; public var Upgrade:MovieClip; public var UpgradeCost:TextField; public var CurrentDamage:TextField; private var Cannon:TowerInterface;// = null public static var static_This:DisplayBoard; public function DisplayBoard(){ addFrameScript(0, frame1); trace(" DisplayBoard() Constructor "); static_This = this; Sell.addEventListener(MouseEvent.CLICK, sellButton); Key.dispatcher.addEventListener("KEY_DOWN.83", sellButton); Upgrade.addEventListener(MouseEvent.CLICK, upgradeButton); Key.dispatcher.addEventListener("KEY_DOWN.85", upgradeButton); } public function upgradeButton(_arg1:Event):void{ var me = _arg1; try { this.getChildIndex(Upgrade); } catch(er:ArgumentError) { return; }; if (Cannon != null){ PlayGrid.staticThis.UpgradeTower(Cannon); }; } public function sellButton(_arg1:Event):void{ var me = _arg1; try { this.getChildIndex(Sell); } catch(er:ArgumentError) { return; }; if (Cannon != null){ PlayGrid.staticThis.SellTower(Cannon); }; } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function commafy(_arg1:Number):String{ var _local2:String = Math.floor(_arg1).toString(); var _local3:Array = []; while (_local2.length > 3) { _local3.unshift(_local2.slice((_local2.length - 3), _local2.length)); _local2 = _local2.slice(0, (_local2.length - 3)); }; _local3.unshift(_local2); return (_local3.join(",")); } public function SetDisplay(_arg1:TowerInterface){ if (Cannon != null){ Cannon.clearSelection(); }; Cannon = _arg1; if (Cannon == null){ safeRemoveChild(Sell); safeRemoveChild(Upgrade); safeRemoveChild(UpgradeCost); safeRemoveChild(UpgradeDamage); safeRemoveChild(UpgradeRange); safeRemoveChild(Arrows); title.text = ""; description.text = ""; reveal.gotoAndPlay("reveal"); CurrentCost.text = ""; CurrentDamage.text = ""; CurrentRange.text = ""; return; }; Cannon.setSelection(); var _local2:String = Cannon.cannonTitle; if (Cannon.cannonLevel != 0){ _local2 = (_local2 + (" " + Cannon.cannonLevel)); }; var _local3:String = Cannon.cannonDesc; var _local4:Object = Cannon.cannonStats[Cannon.cannonLevel]; var _local5:Object = Cannon.cannonStats[(Cannon.cannonLevel + 1)]; safeRemoveChild(Sell); safeRemoveChild(Upgrade); safeRemoveChild(UpgradeCost); safeRemoveChild(UpgradeDamage); safeRemoveChild(UpgradeRange); safeRemoveChild(Arrows); if (Cannon.cannonLevel != 0){ addChild(UpgradeCost); addChild(UpgradeDamage); addChild(UpgradeRange); addChild(Arrows); addChild(Sell); }; CurrentCost.text = commafy(_local4.cannonCost); CurrentDamage.text = commafy(_local4.cannonDamage); CurrentRange.text = ("" + _local4.cannonRange); if (((!((Cannon.cannonLevel == 0))) && (!((_local5.cannonCost == -1))))){ UpgradeCost.text = ("+" + commafy((_local5.cannonCost - _local4.cannonCost))); UpgradeDamage.text = commafy(_local5.cannonDamage); UpgradeRange.text = ("" + _local5.cannonRange); addChild(Upgrade); } else { UpgradeCost.text = "maxed"; UpgradeDamage.text = "maxed"; UpgradeRange.text = "maxed"; }; if (((!((_local2 == title.text))) || (!((_local3 == description.text))))){ title.text = _local2; description.text = _local3; reveal.gotoAndPlay("reveal"); }; } function frame1(){ stop(); } } }//package
Section 92
//dmgHighlight (dmgHighlight) package { import flash.display.*; import flash.text.*; public dynamic class dmgHighlight extends MovieClip { public var dmg:TextField; public function dmgHighlight(){ addFrameScript(14, frame15); } function frame15(){ parent.removeChild(this); if (parent != null){ trace("remove Failed"); }; stop(); } } }//package
Section 93
//doesyourmotherknow_Sound (doesyourmotherknow_Sound) package { import flash.media.*; public dynamic class doesyourmotherknow_Sound extends Sound { } }//package
Section 94
//doh1D_Sound (doh1D_Sound) package { import flash.media.*; public dynamic class doh1D_Sound extends Sound { } }//package
Section 95
//doh2D_Sound (doh2D_Sound) package { import flash.media.*; public dynamic class doh2D_Sound extends Sound { } }//package
Section 96
//dontsniffthemarkers_Sound (dontsniffthemarkers_Sound) package { import flash.media.*; public dynamic class dontsniffthemarkers_Sound extends Sound { } }//package
Section 97
//drawtower1_Sound (drawtower1_Sound) package { import flash.media.*; public dynamic class drawtower1_Sound extends Sound { } }//package
Section 98
//drawtower2_Sound (drawtower2_Sound) package { import flash.media.*; public dynamic class drawtower2_Sound extends Sound { } }//package
Section 99
//drawtower3_Sound (drawtower3_Sound) package { import flash.media.*; public dynamic class drawtower3_Sound extends Sound { } }//package
Section 100
//drawtower4_Sound (drawtower4_Sound) package { import flash.media.*; public dynamic class drawtower4_Sound extends Sound { } }//package
Section 101
//drawtower5_Sound (drawtower5_Sound) package { import flash.media.*; public dynamic class drawtower5_Sound extends Sound { } }//package
Section 102
//drawtower6_Sound (drawtower6_Sound) package { import flash.media.*; public dynamic class drawtower6_Sound extends Sound { } }//package
Section 103
//Drop_Coin_1_HardSurface_Light_0_Sound (Drop_Coin_1_HardSurface_Light_0_Sound) package { import flash.media.*; public dynamic class Drop_Coin_1_HardSurface_Light_0_Sound extends Sound { } }//package
Section 104
//easy_Sound (easy_Sound) package { import flash.media.*; public dynamic class easy_Sound extends Sound { } }//package
Section 105
//FOLEY_COIN_QUARTER_DROP_ROCKS_01_Sound (FOLEY_COIN_QUARTER_DROP_ROCKS_01_Sound) package { import flash.media.*; public dynamic class FOLEY_COIN_QUARTER_DROP_ROCKS_01_Sound extends Sound { } }//package
Section 106
//GameMain (GameMain) package { import flash.display.*; import flash.ui.*; public dynamic class GameMain extends MovieClip { public var critstats:CritterStats; public var displayBoard:DisplayBoard; public var playGrid:PlayGrid; public var nextButton:MovieClip; public var GameOver:GameOverDisplay; public var pauseBox:PauseBox; private var parentRemember:DisplayObjectContainer;// = null public var gameMode:String; public static var static_this:GameMain = null; public static var cursorImage:Cursor_Marker = null; public function GameMain(){ cursorImage = new Cursor_Marker(); cursorImage.startDrag(true); parent.addChild(cursorImage); Mouse.hide(); trace(" Game Main "); static_this = this; playGrid.setNextButton(nextButton); parentRemember = parent; parent.removeChild(this); safeRemoveChild(GameOver); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function NewGame(_arg1:String):void{ gameMode = _arg1; switch (_arg1){ case GameMenu.Easy: ScoreBoard.static_This.CurrentRespect = 20; ScoreBoard.static_This.CurrentCash = 120; ScoreBoard.static_This.LevelCap = 30; CritterFactory.increaseRate = 0.25; CritterFactory.healthMultiplier = 0.75; CritterFactory.moneyDivide = 4.5; HighScore.scoreTable = "b394ee2a182f86a8"; break; case GameMenu.Medium: ScoreBoard.static_This.CurrentRespect = 10; ScoreBoard.static_This.CurrentCash = 80; ScoreBoard.static_This.LevelCap = 50; CritterFactory.increaseRate = 0.25; CritterFactory.moneyDivide = 4.5; CritterFactory.healthMultiplier = 1; HighScore.scoreTable = "c8aae2b3bcaaac2a"; break; case GameMenu.Hard: ScoreBoard.static_This.CurrentRespect = 10; ScoreBoard.static_This.CurrentCash = 60; ScoreBoard.static_This.LevelCap = 50; CritterFactory.increaseRate = 0.25; CritterFactory.moneyDivide = 5.3; CritterFactory.healthMultiplier = 1.15; HighScore.scoreTable = "c9b7f9e3b485da60"; break; case GameMenu.Endless: ScoreBoard.static_This.CurrentRespect = 10; ScoreBoard.static_This.CurrentCash = 60; ScoreBoard.static_This.LevelCap = 0; CritterFactory.increaseRate = 0.25; CritterFactory.moneyDivide = 5.3; CritterFactory.healthMultiplier = 1.15; HighScore.scoreTable = "2be4929988014eed"; break; }; ScoreBoard.static_This.CurrentScore = 0; ScoreBoard.static_This.CurrentLevel = 0; PlayGrid.staticThis.setGameType(_arg1); parentRemember.addChild(this); safeRemoveChild(GameOver); addChild(displayBoard); parent.addChild(cursorImage); pauseBox.setPausedState(false); } public function BackToMenu():void{ trace((((((" here ," + parent) + " : ") + parentRemember) + " + ") + GameMenu.static_This)); try { parent.removeChild(this); } catch(Err:Error) { }; GameMenu.static_This.reset(); safeRemoveChild(GameOver); } public function loadLeaderBoard(){ try { parent.removeChild(this); } catch(Err:Error) { }; HighScore.static_This.reset(); safeRemoveChild(GameOver); } public function GameOverMan():void{ trace("Game Over Man "); addChild(GameOver); GameOver.UpdateDisplay(); safeRemoveChild(displayBoard); pauseBox.setPausedState(true); parent.addChild(cursorImage); } } }//package
Section 107
//GameMenu (GameMenu) package { import flash.display.*; import flash.net.*; public class GameMenu extends MovieClip { public var onlyAt:MovieClip; public var Instructs:MovieClip; public var header:MovieClip; public var line1:menuTextButton; public var line2:menuTextButton; public var line3:menuTextButton; public var line4:menuTextButton; public var line5:menuTextButton; public var creds:MovieClip; public var CurrentMenu:Number;// = 1 private var parentRemember:DisplayObjectContainer;// = null private var clickStarted:Boolean;// = false public static const OpeningMenu:Number = 1; public static const NewGameMenu:Number = 2; public static const Intructions:Number = 3; public static const Easy:String = "30 Easy Levels"; public static const Medium:String = "50 Normal Levels"; public static const Hard:String = "50 Hard Levels"; public static const Endless:String = "Endless Hard Levels"; public static var static_This:GameMenu; public static var domain:String = "empty"; public function GameMenu(){ trace(" GameMenu() Constructor "); parentRemember = parent; parent.removeChild(this); static_This = this; reset(); safeRemoveChild(creds); safeRemoveChild(Instructs); } public function reset():void{ parentRemember.addChild(this); line1.init("line1", textClickHandler, startClicked, checkStarted); line2.init("line2", textClickHandler, startClicked, checkStarted); line3.init("line3", textClickHandler, startClicked, checkStarted); line4.init("line4", textClickHandler, startClicked, checkStarted); line5.init("line5", textClickHandler, startClicked, checkStarted); addChild(header); CurrentMenu = OpeningMenu; LaunchMenu(); if (GameMain.cursorImage != null){ GameMain.cursorImage.parent.addChild(GameMain.cursorImage); }; } public function LaunchMenu(){ safeRemoveChild(line1); safeRemoveChild(line2); safeRemoveChild(line3); safeRemoveChild(line4); safeRemoveChild(line5); switch (CurrentMenu){ case OpeningMenu: addChild(line2); addChild(line3); addChild(line4); addChild(line5); line2.setText("New Game"); line3.setText("Instructions"); line4.setText("Credits"); line5.setText("More Great Games"); safeRemoveChild(onlyAt); break; case NewGameMenu: trace(("domain = " + domain)); if (domain != "mindjolt.com"){ addChild(onlyAt); }; addChild(line2); addChild(line3); addChild(line4); if (domain != "mindjolt.com"){ addChild(line5); }; line2.setText(Easy); line3.setText(Medium); line4.setText(Hard); line5.setText(Endless); trace((" Play Field Initialized = " + PlayGrid.staticThis)); break; }; } public function textClickHandler(_arg1:String):void{ var _local2:URLRequest; var _local3:URLRequest; trace("Menu Button"); trace(("called with " + _arg1)); clickStarted = false; switch (CurrentMenu){ case OpeningMenu: switch (_arg1){ case "New Game": CurrentMenu = NewGameMenu; LaunchMenu(); break; case "Credits": addChild(creds); safeRemoveChild(line1); safeRemoveChild(line2); safeRemoveChild(line3); safeRemoveChild(line4); safeRemoveChild(line5); safeRemoveChild(header); break; case "Instructions": addChild(Instructs); safeRemoveChild(line1); safeRemoveChild(line2); safeRemoveChild(line3); safeRemoveChild(line4); safeRemoveChild(line5); safeRemoveChild(header); break; case "More Great Games": _local2 = new URLRequest("http://armorgames.com?referral=gameWhiteBoardTD"); navigateToURL(_local2); break; }; break; case NewGameMenu: if (((!((domain == "armorgames.com"))) && ((_arg1 == Endless)))){ _local3 = new URLRequest(" http://armorgames.com/play/2231/whiteboard-tower-defense?referral=gameWhiteBoardTD"); navigateToURL(_local3); } else { GameMain.static_this.NewGame(_arg1); parent.removeChild(this); }; break; }; } public function checkStarted():Boolean{ return (!(clickStarted)); } public function startClicked():Boolean{ if (clickStarted != true){ clickStarted = true; trace(" returning true "); return (true); }; trace(" returning false "); return (false); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } } }//package
Section 108
//GameOverDisplay (GameOverDisplay) package { import flash.display.*; import flash.events.*; import flash.text.*; import com.mindjolt.api.as3.*; public class GameOverDisplay extends MovieClip { public var Submit:MovieClip; public var description:TextField; public var Menu:MovieClip; public var title:TextField; public var reveal:MovieClip; private var Highlighter:MovieClip; private var Cannon:TowerInterface;// = null private var score:Number;// = 0 public static var static_This:GameOverDisplay; public function GameOverDisplay(){ Highlighter = new SelectionHighlight(); super(); addFrameScript(0, frame1); trace(" GameOverDisplay() Constructor "); trace((" Menu = " + Menu)); static_This = this; Menu.addEventListener(MouseEvent.CLICK, backToMenuButton); Submit.addEventListener(MouseEvent.CLICK, submitButton); } public function backToMenuButton(_arg1:MouseEvent=null):void{ GameMain.static_this.BackToMenu(); } public function submitButton(_arg1:MouseEvent):void{ if (GameMenu.domain == "mindjolt.com"){ switch (GameMain.static_this.gameMode){ case GameMenu.Easy: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "easy"); break; case GameMenu.Medium: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "normal"); break; case GameMenu.Hard: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "hard"); break; case GameMenu.Endless: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "endless"); break; }; GameMain.static_this.BackToMenu(); return; }; GameMain.static_this.loadLeaderBoard(); trace(" Put high score logic here "); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function commafy(_arg1:Number):String{ var _local2:String = Math.floor(_arg1).toString(); var _local3:Array = []; while (_local2.length > 3) { _local3.unshift(_local2.slice((_local2.length - 3), _local2.length)); _local2 = _local2.slice(0, (_local2.length - 3)); }; _local3.unshift(_local2); return (_local3.join(",")); } public function UpdateDisplay(){ score = ScoreBoard.static_This.CurrentScore; if (ScoreBoard.static_This.CurrentRespect <= 0){ title.text = " Game Over "; SoundSystem.PlaySound("Lose"); } else { title.text = " Congradulations "; SoundSystem.PlaySound("Congrads"); }; description.text = ((((" Your game ended with a final score of: \n" + " ") + commafy(score)) + " points \n") + " \n"); if (GameMenu.domain == "mindjolt.com"){ switch (GameMain.static_this.gameMode){ case GameMenu.Easy: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "easy"); break; case GameMenu.Medium: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "normal"); break; case GameMenu.Hard: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "hard"); break; case GameMenu.Endless: MindJoltAPI.service.submitScore(ScoreBoard.static_This.CurrentScore, "endless"); break; }; safeRemoveChild(Submit); return; }; } function frame1(){ stop(); } } }//package
Section 109
//GridBox (GridBox) package { import flash.display.*; import flash.events.*; public class GridBox extends MovieClip { public var searched:Boolean;// = false public var blocked:Boolean;// = false public var buildable:Boolean;// = true public var neighbors:Array; public var diagNeighbors:Array; public var exitSquare:Boolean;// = false public var startSquare:Boolean;// = false public var bestPath:Array;// = null public var gridX:Number;// = -1 public var gridY:Number;// = -1 public var placedTower:TowerInterface;// = null public static const drawBlocks:Boolean = false; public function GridBox(_arg1:Number=-1, _arg2:Number=-1){ neighbors = new Array(); diagNeighbors = new Array(); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); if (_arg1 == -1){ return; }; gridX = _arg1; gridY = _arg2; addEventListener(MouseEvent.MOUSE_DOWN, onClick); addEventListener(MouseEvent.MOUSE_OVER, onOver); } public function SetTower(_arg1:TowerInterface):void{ if (placedTower != null){ trace(" Possible Error, overriding tower placement "); }; placedTower = _arg1; } function SetAsExit():void{ exitSquare = true; blocked = false; if (drawBlocks){ gotoAndStop("Exit"); }; } function SetAsStart():void{ startSquare = true; blocked = false; if (drawBlocks){ gotoAndStop("Start"); }; } function SetAsSearched(_arg1:Boolean=true):void{ if (((exitSquare) || (blocked))){ return; }; searched = _arg1; } function SetBestPath(_arg1:Array):void{ bestPath = _arg1; } function SetBlocked(_arg1:Boolean=true, _arg2:Boolean=false){ blocked = _arg1; buildable = !(blocked); if ((((_arg2 == true)) && ((blocked == true)))){ if (drawBlocks){ gotoAndStop("Blocked"); }; } else { gotoAndStop("Empty"); }; } function SetBlockedOnlyOff():void{ blocked = false; trace(((("SetBLockedOnly, b = " + blocked) + " u = ") + buildable)); } function onClick(_arg1:MouseEvent):void{ if (placedTower != null){ placedTower.handleClick(_arg1); }; PlayGrid.staticThis.BoxClick(gridX, gridY); if (placedTower == null){ trace(" Setting Display Null From GridBox "); DisplayBoard.static_This.SetDisplay(null); }; } function onOver(_arg1:MouseEvent):void{ PlayGrid.staticThis.BoxOver(gridX, gridY, this); } public function meAndAllNeigborsHaveNoPath():Boolean{ if (((!((bestPath == null))) && (!((bestPath.length == 0))))){ return (false); }; var _local1:Number = 0; while (_local1 < neighbors.length) { if (((!((neighbors[_local1].bestPath == null))) && (!((neighbors[_local1].bestPath.length == 0))))){ return (false); }; _local1++; }; return (true); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } } }//package
Section 110
//hahaha_Sound (hahaha_Sound) package { import flash.media.*; public dynamic class hahaha_Sound extends Sound { } }//package
Section 111
//HighScore (HighScore) package { import flash.display.*; import mochi.*; import flash.ui.*; public class HighScore extends MovieClip { public var CPMLoader:MovieClip; private var parentRemember:DisplayObjectContainer;// = null private var connected:Boolean;// = false public static var static_This:HighScore; public static var HSSprite:MovieClip = new MovieClip(); public static var scoreTable:String = "b394ee2a182f86a8"; public function HighScore(){ trace(" HighScore() Constructor "); parentRemember = parent; parent.removeChild(this); static_This = this; HSSprite.x = 0; HSSprite.y = 0; HSSprite.width = 640; HSSprite.height = 480; } public function reset():void{ parentRemember.addChild(this); CPMLoader.GO(); Mouse.show(); } public function resume():void{ MochiScores.showLeaderboard({boardID:scoreTable, score:ScoreBoard.static_This.CurrentScore, onClose:backToMenu}); Mouse.show(); } public function backToMenu():void{ parent.removeChild(this); Mouse.hide(); GameMain.static_this.BackToMenu(); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } } }//package
Section 112
//iknowyouare_Sound (iknowyouare_Sound) package { import flash.media.*; public dynamic class iknowyouare_Sound extends Sound { } }//package
Section 113
//Key (Key) package { import flash.display.*; import flash.events.*; public class Key { private static var initialized:Boolean = false; private static var keysDown:Array = new Array(); public static var dispatcher:EventDispatcher = new EventDispatcher(); public static function initialize(_arg1:Stage){ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); _arg1.addEventListener(TextEvent.TEXT_INPUT, textInput); initialized = true; clearKeys(null); }; } public static function textInput(_arg1:TextEvent){ trace(("event.text = " + _arg1.text)); } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ throw (new Error("Key class has yet been initialized.")); }; return (keysDown[_arg1]); } private static function keyPressed(_arg1:KeyboardEvent):void{ if (keysDown[_arg1.keyCode] == false){ trace((" Dispatching event KEY_DOWN." + _arg1.keyCode)); keysDown[_arg1.keyCode] = true; dispatcher.dispatchEvent(_arg1); dispatcher.dispatchEvent(new Event(("KEY_DOWN." + _arg1.keyCode))); }; } private static function keyReleased(_arg1:KeyboardEvent):void{ if (keysDown[_arg1.keyCode] == true){ keysDown[_arg1.keyCode] = false; dispatcher.dispatchEvent(_arg1); dispatcher.dispatchEvent(new Event(("KEY_UP." + _arg1.keyCode))); }; } private static function clearKeys(_arg1:Event):void{ trace("Clearing keys"); var _local2:Number = 0; while (_local2 < 0xFF) { keysDown[_local2] = false; _local2++; }; } } }//package
Section 114
//little_sister_Sound (little_sister_Sound) package { import flash.media.*; public dynamic class little_sister_Sound extends Sound { } }//package
Section 115
//menuTextButton (menuTextButton) package { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; public class menuTextButton extends MovieClip { public var highlight:MovieClip; public var underline:MovieClip; public var text:TextField; public var clickedHandler:Function;// = null public var startclicked:Function;// = null public var startedCheck:Function;// = null public var mouseOverSound:Number;// = 0 public var debounceTimer:Timer; public var mouseIsOver:Boolean;// = false public function menuTextButton(){ debounceTimer = new Timer(250); super(); underline.mouseEnabled = false; highlight.mouseEnabled = false; safeRemoveChild(underline); safeRemoveChild(highlight); addEventListener(MouseEvent.MOUSE_OVER, mouseOver); addEventListener(MouseEvent.MOUSE_OUT, mouseOff); addEventListener(MouseEvent.CLICK, mouseClick); highlight.reveal.circleDone = circleDone; debounceTimer.addEventListener(TimerEvent.TIMER, mouseDebouceTimerHit, false, 0, true); } public function init(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Function){ setText(_arg1); clickedHandler = _arg2; startclicked = _arg3; startedCheck = _arg4; } public function setText(_arg1:String):void{ text.text = _arg1; } public function circleDone():void{ safeRemoveChild(highlight); if (clickedHandler != null){ clickedHandler(text.text); }; } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function mouseOver(_arg1:MouseEvent):void{ var _local2:Number = getTimer(); debounceTimer.stop(); if ((((mouseIsOver == false)) && (((mouseOverSound + 300) < _local2)))){ mouseOverSound = _local2; if (startedCheck()){ mouseIsOver = true; addChild(underline); underline.mouseEnabled = false; underline.gotoAndPlay("Reveal"); SoundSystem.PlaySound("Underscore"); }; }; } public function mouseDebouceTimerHit(_arg1:TimerEvent){ mouseIsOver = false; safeRemoveChild(underline); } public function mouseOff(_arg1:MouseEvent):void{ debounceTimer.start(); } public function mouseClick(_arg1:MouseEvent):void{ if (startclicked()){ addChild(highlight); highlight.mouseEnabled = false; highlight.reveal.mouseEnabled = false; highlight.reveal.gotoAndPlay("Reveal"); trace("Playing sound for click"); SoundSystem.PlaySound("Circle"); }; } } }//package
Section 116
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local3 != null){ if (_local3.root != null){ if (_local3.root.loaderInfo != null){ if (_local3.root.loaderInfo.loaderURL != null){ _local6 = _local3.root.loaderInfo.loaderURL; }; }; }; }; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 117
//neenerneener02_Sound (neenerneener02_Sound) package { import flash.media.*; public dynamic class neenerneener02_Sound extends Sound { } }//package
Section 118
//Oh_Sound (Oh_Sound) package { import flash.media.*; public dynamic class Oh_Sound extends Sound { } }//package
Section 119
//oohD_Sound (oohD_Sound) package { import flash.media.*; public dynamic class oohD_Sound extends Sound { } }//package
Section 120
//Ouch_Sound (Ouch_Sound) package { import flash.media.*; public dynamic class Ouch_Sound extends Sound { } }//package
Section 121
//ouchD_Sound (ouchD_Sound) package { import flash.media.*; public dynamic class ouchD_Sound extends Sound { } }//package
Section 122
//owD_Sound (owD_Sound) package { import flash.media.*; public dynamic class owD_Sound extends Sound { } }//package
Section 123
//owie_Sound (owie_Sound) package { import flash.media.*; public dynamic class owie_Sound extends Sound { } }//package
Section 124
//owieD_Sound (owieD_Sound) package { import flash.media.*; public dynamic class owieD_Sound extends Sound { } }//package
Section 125
//PauseBox (PauseBox) package { import flash.display.*; import flash.events.*; public class PauseBox extends MovieClip { public var notPaused:MovieClip; public var paused:MovieClip; public static var isPaused:Boolean = true; public function PauseBox(){ setPausedState(false); addEventListener(MouseEvent.CLICK, onClick); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function onClick(_arg1:MouseEvent){ trace(("on click " + isPaused)); setPausedState(!(isPaused)); } public function setPausedState(_arg1:Boolean){ trace(("newState = " + _arg1)); if (_arg1 == true){ if (isPaused == true){ return; }; safeRemoveChild(notPaused); addChild(paused); if (GameMain.static_this != null){ GameMain.static_this.dispatchEvent(new Event("PAUSE_GAME")); }; isPaused = _arg1; } else { if (isPaused == false){ return; }; safeRemoveChild(paused); addChild(notPaused); if (GameMain.static_this != null){ GameMain.static_this.dispatchEvent(new Event("UN_PAUSE_GAME")); }; isPaused = _arg1; }; } } }//package
Section 126
//PlayGrid (PlayGrid) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.ui.*; public class PlayGrid extends MovieClip { public var gridSizeX:Number;// = 25 public var gridSizeY:Number;// = 25 public var playGrid:Array;// = null public var searchQueues:Array;// = null public var completedPath:Array;// = null public var startBoxes:Array; public var currentPath:StartGridBox;// = null public var currentCritters:Array; public var currentTowers:Array; public var mouseSelection:MovieClip;// = null public var bullets:Array; public var startButton:DisplayObject;// = null public var gameType:String; private var spawnTimer:Timer;// = null private var spawnCount:Number;// = 0 var nextWave:CritterWave;// = null private var eachSpawnTimer:Timer;// = null private var cInd:Number;// = 0 public var sellTimer:Timer; public var sellInProgress:Boolean;// = false public var sellMe:TowerInterface;// = null public static const drawPaths:Boolean = false; public static var staticThis:PlayGrid = null; public static var searchInProgress:Sprite = null; public static var possiblePaths:Array = null; public function PlayGrid(){ var _local2:StartGridBox; startBoxes = new Array(); currentCritters = new Array(); currentTowers = new Array(); bullets = new Array(); sellTimer = new Timer(2000); super(); staticThis = this; playGrid = CreateArray2D(gridSizeX, gridSizeY, createGridBox); TieNeigbors(); var _local1:Number = 0; _local1 = 0; while (_local1 < gridSizeX) { playGrid[_local1][0].SetBlocked(true, true); playGrid[_local1][(gridSizeY - 1)].SetBlocked(true, true); _local1++; }; _local1 = 0; while (_local1 < gridSizeY) { playGrid[0][_local1].SetBlocked(true, true); playGrid[(gridSizeX - 2)][_local1].SetBlocked(true, true); playGrid[(gridSizeX - 1)][_local1].SetBlocked(true, true); _local1++; }; _local1 = 10; while (_local1 < 15) { playGrid[(gridSizeX - 1)][_local1].SetAsExit(); playGrid[(gridSizeX - 2)][_local1].SetBlocked(false); _local1++; }; _local1 = 10; while (_local1 < 15) { playGrid[0][_local1].SetAsStart(); _local2 = new StartGridBox(); _local2.box = playGrid[0][_local1]; startBoxes.push(_local2); _local1++; }; x = ((x - (x % 15)) - 7.5); y = ((y - (y % 15)) - 7.5); checkPaths(); stage.addEventListener(MouseEvent.MOUSE_MOVE, rootMouseMoveListener); stage.addEventListener(MouseEvent.MOUSE_DOWN, outOfBoundsClick); addEventListener(Event.ADDED_TO_STAGE, onStageHandler, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, onStageRemoveListener, false, 0, true); } private function onStageHandler(_arg1:Event){ trace("onStageHandler"); Key.dispatcher.addEventListener("KEY_DOWN.13", onNextClickKeyboard, false, 0, true); Key.dispatcher.addEventListener("KEY_DOWN.32", ClearCursorOnSpace, false, 0, true); } private function onStageRemoveListener(_arg1:Event){ trace("stageRemoveHandler"); Key.dispatcher.removeEventListener("KEY_DOWN.13", onNextClickKeyboard); Key.dispatcher.removeEventListener("KEY_DOWN.32", ClearCursorOnSpace); } private function ClearCursorOnSpace(_arg1:Event):void{ if (mouseSelection != null){ mouseSelection.parent.removeChild(mouseSelection); SetFollowMouse(null); }; DisplayBoard.static_This.SetDisplay(null); } private function onMemoryTimer(_arg1:TimerEvent){ } public function setNextButton(_arg1:DisplayObject){ startButton = _arg1; startButton.addEventListener(MouseEvent.CLICK, onNextClick); } public function setGameType(_arg1:String):void{ gameType = _arg1; while (currentTowers.length != 0) { currentTowers[0].RemoveFromBoard(); safeRemoveChild(currentTowers[0]); currentTowers.splice(0, 1); }; while (currentCritters.length != 0) { currentCritters[0].dead = true; safeRemoveChild(currentCritters[0]); currentCritters.splice(0, 1); }; checkPaths(); if (spawnTimer != null){ spawnTimer.stop(); }; if (eachSpawnTimer != null){ eachSpawnTimer.stop(); }; GameMain.static_this.addChild(startButton); spawnCount = 0; GameMain.static_this.critstats.SetDisplay(null); } public function onNextClickKeyboard(_arg1:Event):void{ var ev = _arg1; trace("onNextClickKeyboard"); var isChild:Boolean; try { GameMain.static_this.getChildIndex(startButton); isChild = true; } catch(Err:Error) { }; trace(("onNextClickKeyboard isChild = " + isChild)); if (isChild == true){ onNextClick(null); }; } public function onNextClick(_arg1:MouseEvent):void{ Mouse.hide(); if (PauseBox.isPaused){ return; }; ScoreBoard.static_This.CurrentLevel++; if (ScoreBoard.static_This.CurrentLevel != 1){ ScoreBoard.static_This.CurrentScore = (ScoreBoard.static_This.CurrentScore + (ScoreBoard.static_This.CurrentRespect * 101)); ScoreBoard.static_This.CurrentScore = (ScoreBoard.static_This.CurrentScore + Math.floor((ScoreBoard.static_This.CurrentCash * 1.25))); ScoreBoard.static_This.CurrentScore = (ScoreBoard.static_This.CurrentScore + (currentCritters.length * 1000)); }; nextWave = CritterFactory.getWave(); GameMain.static_this.safeRemoveChild(startButton); spawnCount = nextWave.crittersPerSet; spawnTimer = new Timer(nextWave.msBetweenSets); spawnTimer.addEventListener(TimerEvent.TIMER, spawnSet, false, 0, true); spawnTimer.start(); if (nextWave.crittersPerSet < 1){ nextWave.crittersPerSet = 1; }; spawnSet(null); } public function resetCritter(_arg1:Critter):void{ _arg1.JumpToStart(startBoxes[Math.floor((Math.random() * startBoxes.length))]); } public function spawnSet(_arg1:TimerEvent):void{ if (PauseBox.isPaused){ return; }; if (nextWave.critters.length > 0){ if (currentCritters.length == 0){ SoundSystem.PlaySound(nextWave.critters[0].enterSound); }; }; eachSpawnTimer = new Timer(300); eachSpawnTimer.addEventListener(TimerEvent.TIMER, spawnFunc, false, 0, true); eachSpawnTimer.start(); cInd = 0; } public function spawnFunc(_arg1:TimerEvent):void{ if (PauseBox.isPaused){ return; }; if (nextWave.critters.length == 0){ spawnTimer.removeEventListener(TimerEvent.TIMER, spawnSet); spawnTimer.stop(); if (!ScoreBoard.static_This.lastLevel()){ GameMain.static_this.addChild(startButton); }; GameMain.static_this.critstats.SetDisplay(null); eachSpawnTimer.removeEventListener(TimerEvent.TIMER, spawnFunc); eachSpawnTimer.stop(); return; }; var _local2:Critter = nextWave.critters.pop(); GameMain.static_this.critstats.SetDisplay(_local2); _local2.JumpToStart(startBoxes[Math.floor((startBoxes.length * Math.random()))]); currentCritters.push(_local2); addChild(_local2); cInd++; if (cInd >= spawnCount){ eachSpawnTimer.removeEventListener(TimerEvent.TIMER, spawnFunc); eachSpawnTimer.stop(); }; } public function checkPaths():Boolean{ TieNeigbors(); ApplyFunctionToArray2D(playGrid, clearPaths); var _local1:Number = 0; _local1 = 0; while (_local1 < startBoxes.length) { startBoxes[_local1].box.bestPath = GetPathToExit(startBoxes[_local1].box, false); if (startBoxes[_local1].box.bestPath == null){ return (false); }; if (startBoxes[_local1].pathSprite == null){ startBoxes[_local1].pathSprite = new Sprite(); addChild(startBoxes[_local1].pathSprite); }; startBoxes[_local1].pathSprite.graphics.clear(); DrawPath(startBoxes[_local1].box.bestPath, startBoxes[_local1].pathSprite); PropigatePath(startBoxes[_local1].box.bestPath); _local1++; }; return (true); } public function FinishAllPaths():void{ var _local2:Number; return; DrawAllPaths(); addChild(startBoxes[0].pathSprite); } public function DrawAllPaths():void{ var _local2:Number; if (!drawPaths){ return; }; var _local1:Number = 0; if (startBoxes[0].pathSprite == null){ trace(" NO SPRITE"); }; startBoxes[0].pathSprite.graphics.lineStyle(3, 0xFF0000); _local1 = 0; while (_local1 < playGrid.length) { _local2 = 0; _local2 = 0; while (_local2 < playGrid[_local1].length) { if (((!((playGrid[_local1][_local2].bestPath == null))) && ((playGrid[_local1][_local2].bestPath.length > 0)))){ startBoxes[0].pathSprite.graphics.lineStyle(3, 0xFF0000); startBoxes[0].pathSprite.graphics.moveTo(playGrid[_local1][_local2].x, playGrid[_local1][_local2].y); startBoxes[0].pathSprite.graphics.lineTo(playGrid[_local1][_local2].bestPath[0].x, playGrid[_local1][_local2].bestPath[0].y); }; _local2++; }; _local1++; }; } public function DrawPath(_arg1:Array, _arg2:Sprite):void{ if (!drawPaths){ return; }; if ((((((_arg1 == null)) || ((_arg2 == null)))) || ((_arg1.length == 0)))){ trace((((((" Aborting Path p=" + _arg1) + " spite = ") + _arg2) + " len = ") + _arg1.length)); return; }; _arg2.graphics.lineStyle(3, 0xFF0000); _arg2.graphics.moveTo(_arg1[0].x, _arg1[0].y); var _local3:Number = 0; while (_local3 < _arg1.length) { _arg2.graphics.lineTo(_arg1[_local3].x, _arg1[_local3].y); _local3++; }; _arg2.mouseEnabled = false; } public function PropigatePath(_arg1:Array):void{ if (_arg1 == null){ return; }; var _local2:Number = 0; while (_local2 < (_arg1.length - 1)) { _arg1[_local2].SetBestPath(_arg1.slice((_local2 + 1), (_local2 + 2))); _local2++; }; } public function getShortestPath(_arg1:Array):Array{ var _local5:Number; var _local6:Number; var _local7:Point; var _local8:Point; var _local9:Number; if (_arg1.length == 0){ return (null); }; if (_arg1.length == 1){ return (_arg1[0]); }; var _local2:Array; var _local3:Number = 10000; var _local4:Number = 0; _local4 = 0; while (_local4 < _arg1.length) { _local5 = 0; _local6 = 0; _local5 = 1; while (_local5 < _arg1[_local4].length) { _local7 = new Point(_arg1[_local4][_local5].x, _arg1[_local4][_local5].y); _local8 = new Point(_arg1[_local4][(_local5 - 1)].x, _arg1[_local4][(_local5 - 1)].y); _local9 = Math.abs(_local7.subtract(_local8).length); _local6 = (_local6 + _local9); _local5++; }; if (_local6 < _local3){ _local2 = _arg1[_local4]; _local3 = _local6.valueOf(); }; _local4++; }; return (_local2); } public function createGridBox(_arg1:Number, _arg2:Number):GridBox{ return (new GridBox(_arg1, _arg2)); } public function clearSearchedFlag(_arg1:GridBox){ _arg1.SetAsSearched(false); } public function clearPaths(_arg1:GridBox){ _arg1.SetAsSearched(false); _arg1.SetBestPath(null); } public function CreateArray2D(_arg1:Number, _arg2:Number, _arg3:Function):Array{ var _local6:Number; var _local4:Array = new Array(_arg1); var _local5:Number = 0; _local5 = 0; while (_local5 < _arg1) { _local4[_local5] = new Array(_arg2); _local6 = 0; _local6 = 0; while (_local6 < _arg2) { _local4[_local5][_local6] = _arg3(_local5, _local6); _local4[_local5][_local6].x = (_local5 * 15); _local4[_local5][_local6].y = (_local6 * 15); addChild(_local4[_local5][_local6]); _local6++; }; _local5++; }; return (_local4); } public function TieNeigbors(){ var _local2:Number; var _local1:Number = 0; _local1 = 0; while (_local1 < playGrid.length) { _local2 = 0; _local2 = 0; while (_local2 < playGrid[_local1].length) { playGrid[_local1][_local2].neighbors = new Array(); playGrid[_local1][_local2].diagNeighbors = new Array(); if (_local1 > 0){ playGrid[_local1][_local2].neighbors.push(playGrid[(_local1 - 1)][_local2]); }; if (_local1 < (playGrid.length - 1)){ playGrid[_local1][_local2].neighbors.push(playGrid[(_local1 + 1)][_local2]); }; if (_local2 > 0){ playGrid[_local1][_local2].neighbors.push(playGrid[_local1][(_local2 - 1)]); }; if (_local2 < (playGrid[_local1].length - 1)){ playGrid[_local1][_local2].neighbors.push(playGrid[_local1][(_local2 + 1)]); }; if ((((_local1 > 0)) && ((_local2 > 0)))){ if ((((playGrid[(_local1 - 1)][_local2].blocked == false)) && ((playGrid[_local1][(_local2 - 1)].blocked == false)))){ playGrid[_local1][_local2].diagNeighbors.push(playGrid[(_local1 - 1)][(_local2 - 1)]); }; }; if ((((_local1 > 0)) && ((_local2 < (playGrid[_local1].length - 1))))){ if ((((playGrid[(_local1 - 1)][_local2].blocked == false)) && ((playGrid[_local1][(_local2 + 1)].blocked == false)))){ playGrid[_local1][_local2].diagNeighbors.push(playGrid[(_local1 - 1)][(_local2 + 1)]); }; }; if ((((_local1 < (playGrid.length - 1))) && ((_local2 > 0)))){ if ((((playGrid[(_local1 + 1)][_local2].blocked == false)) && ((playGrid[_local1][(_local2 - 1)].blocked == false)))){ playGrid[_local1][_local2].diagNeighbors.push(playGrid[(_local1 + 1)][(_local2 - 1)]); }; }; if ((((_local1 < (playGrid.length - 1))) && ((_local2 < (playGrid[_local1].length - 1))))){ if ((((playGrid[(_local1 + 1)][_local2].blocked == false)) && ((playGrid[_local1][(_local2 + 1)].blocked == false)))){ playGrid[_local1][_local2].diagNeighbors.push(playGrid[(_local1 + 1)][(_local2 + 1)]); }; }; _local2++; }; _local1++; }; } public function ApplyFunctionToArray2D(_arg1:Array, _arg2:Function):void{ var _local4:Number; var _local3:Number = 0; _local3 = 0; while (_local3 < _arg1.length) { _local4 = 0; _local4 = 0; while (_local4 < _arg1[_local3].length) { _arg2(_arg1[_local3][_local4]); _local4++; }; _local3++; }; } public function GetPathToExit(_arg1:GridBox, _arg2:Boolean=true):Array{ if (_arg1 == null){ trace("GetPathToExit:Start is null this function doesn't do null"); return (null); }; ApplyFunctionToArray2D(playGrid, clearSearchedFlag); var _local3:Array = new Array(); _local3[0] = new Array(); _local3[0].push(_arg1); var _local4:Number = 10000; var _local5:Array = new Array(); while (_local3.length > 0) { var _temp1 = _local4; _local4 = (_local4 - 1); if (_temp1 <= 0){ break; }; _local3 = SearchLocalLoop(_local3, _local5, _arg2); }; return (getShortestPath(_local5)); } public function RemoveCritter(_arg1:Critter, _arg2:Boolean){ var _local3:Number = 0; while (_local3 < currentCritters.length) { if (currentCritters[_local3] == _arg1){ currentCritters.splice(_local3, 1); }; _local3++; }; removeChild(_arg1); _arg1.dead = true; } public function getMoneyTowersInRange(_arg1:Point):Array{ var _local4:BasicTower6; var _local5:Number; var _local2:Array = new Array(); var _local3:Number = 0; _local3 = 0; while (_local3 < currentTowers.length) { _local4 = (currentTowers[_local3] as BasicTower6); if (_local4 != null){ _local5 = Math.abs(new Point((_local4.x + 7.5), (_local4.y + 7.5)).subtract(_arg1).length); if (_local4.cannonStats[_local4.cannonLevel].cannonRange > _local5){ _local2.push(currentTowers[_local3]); }; }; _local3++; }; return (_local2); } public function SetFollowMouse(_arg1:TowerInterface):void{ var _local2:Point; if (_arg1 != null){ mouseSelection = _arg1; _local2 = globalToLocal(new Point(stage.mouseX, stage.mouseY)); mouseSelection.x = (_local2.x - (_local2.x % 15)); mouseSelection.y = (_local2.y - (_local2.y % 15)); DisplayBoard.static_This.SetDisplay(_arg1); addChild(_arg1); if ((mouseSelection as TowerInterface)){ }; } else { if (mouseSelection != null){ DisplayBoard.static_This.SetDisplay(null); }; mouseSelection = null; }; } public function rootMouseMoveListener(_arg1:MouseEvent):void{ var _local2:Point; if (mouseSelection != null){ _local2 = globalToLocal(new Point(((_arg1.stageX - 1) - (_arg1.stageX % 15)), ((_arg1.stageY + 1) - (_arg1.stageY % 15)))); }; } public function boxShapeClear(_arg1:Array, _arg2:Number, _arg3:Number):Boolean{ var _local5:Point; if (_arg2 >= (gridSizeX - 3)){ return (false); }; var _local4:Number = 0; while (_local4 < _arg1.length) { _local5 = new Point((_arg1[_local4].x + _arg2), (_arg1[_local4].y + _arg3)); if (_local5.x > playGrid.length){ return (false); }; if (_local5.x < 0){ return (false); }; if (_local5.y > playGrid[0].length){ return (false); }; if (_local5.y < 0){ return (false); }; if (!playGrid[_local5.x][_local5.y].buildable){ return (false); }; if (playGrid[_local5.x][_local5.y].exitSquare){ return (false); }; if (playGrid[_local5.x][_local5.y].startSquare){ return (false); }; _local4++; }; return (true); } public function setBoxesInShape(_arg1:Array, _arg2:Number, _arg3:Number){ var _local5:Point; var _local4:Number = 0; while (_local4 < _arg1.length) { _local5 = new Point((_arg1[_local4].x + _arg2), (_arg1[_local4].y + _arg3)); playGrid[_local5.x][_local5.y].SetBlocked(); _local4++; }; } public function clearBoxesInShape(_arg1:Array, _arg2:Number, _arg3:Number){ var _local5:Point; var _local4:Number = 0; while (_local4 < _arg1.length) { _local5 = new Point((_arg1[_local4].x + _arg2), (_arg1[_local4].y + _arg3)); playGrid[_local5.x][_local5.y].SetBlocked(false); _local4++; }; } public function outOfBoundsClick(_arg1:MouseEvent):void{ if (mouseSelection == null){ return; }; var _local2:Point = this.localToGlobal(new Point(0, 0)); var _local3:Point = this.localToGlobal(new Point((playGrid[(playGrid.length - 1)][(playGrid[(playGrid.length - 1)].length - 1)].x + 15), (playGrid[(playGrid.length - 1)][(playGrid[(playGrid.length - 1)].length - 1)].y + 15))); var _local4:Rectangle = new Rectangle(_local2.x, _local2.y, (_local3.x - _local2.x), (_local3.y - _local2.y)); if (_local4.contains(_arg1.stageX, _arg1.stageY)){ return; }; mouseSelection.parent.removeChild(mouseSelection); SetFollowMouse(null); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function UpgradeTower(_arg1:TowerInterface){ if (PauseBox.isPaused){ return; }; var _local2:Number = (_arg1.cannonStats[(_arg1.cannonLevel + 1)].cannonCost - _arg1.cannonStats[_arg1.cannonLevel].cannonCost); if (_local2 <= ScoreBoard.static_This.CurrentCash){ ScoreBoard.static_This.CurrentCash = (ScoreBoard.static_This.CurrentCash - _local2); SoundSystem.PlaySound("Upgrade"); _arg1.Upgrade(); }; } public function SellTower(_arg1:TowerInterface){ if (sellMe == _arg1){ return; }; if (sellInProgress == true){ return; }; if (PauseBox.isPaused){ return; }; sellMe = _arg1; sellMe.MarkForSale(); sellInProgress = true; sellTimer.addEventListener(TimerEvent.TIMER, sellHandler); sellTimer.start(); SoundSystem.PlaySound(sellMe.sellSound); DisplayBoard.static_This.SetDisplay(null); } public function sellHandler(_arg1:TimerEvent){ sellInProgress = false; sellTimer.stop(); sellTimer.removeEventListener(TimerEvent.TIMER, sellHandler); var _local2:Number = 0; trace("Selling Tower"); if (sellMe.firedOnce){ trace("the tower fired "); _local2 = Math.round((sellMe.cannonStats[sellMe.cannonLevel].cannonCost * 0.75)); } else { trace("the tower NEVER fired "); _local2 = Math.round((sellMe.cannonStats[sellMe.cannonLevel].cannonCost * 1)); }; ScoreBoard.static_This.CurrentCash = (ScoreBoard.static_This.CurrentCash + _local2); var _local3:dmgHighlight = new dmgHighlight(); _local3.x = sellMe.x; _local3.y = sellMe.y; _local3.dmg.text = ("" + _local2); addChild(_local3); _local3.play(); var _local4:Number = currentTowers.indexOf(sellMe); if (_local4 != -1){ currentTowers.splice(_local4, 1); }; sellMe.RemoveFromBoard(); safeRemoveChild(sellMe); checkPaths(); } public function BoxClick(_arg1:Number, _arg2:Number){ var _local6:TowerInterface; var _local7:dmgHighlight; if (mouseSelection == null){ return; }; var _local3:Number = mouseSelection.cannonStats[1].cannonCost; var _local4:GridBox = playGrid[_arg1][_arg2]; var _local5:Array = mouseSelection.GetShape(); if (_local3 <= ScoreBoard.static_This.CurrentCash){ if (!boxShapeClear(_local5, _local4.gridX, _local4.gridY)){ mouseSelection.parent.removeChild(mouseSelection); SetFollowMouse(null); return; }; if (((mouseSelection as BasicTower7) == null)){ setBoxesInShape(_local5, _local4.gridX, _local4.gridY); }; if (checkPaths() == false){ clearBoxesInShape(_local5, _local4.gridX, _local4.gridY); checkPaths(); } else { setBoxesInShape(_local5, _local4.gridX, _local4.gridY); _local6 = mouseSelection.DeployCopy(); addChild(_local6); currentTowers.push(_local6); SoundSystem.PlaySound(_local6.buildSound); _local6.DeployToLocation(_local4.gridX, _local4.gridY); ScoreBoard.static_This.CurrentCash = (ScoreBoard.static_This.CurrentCash - _local3); }; } else { if (boxShapeClear(_local5, _local4.gridX, _local4.gridY)){ _local7 = new dmgHighlight(); _local7.x = mouseSelection.x; _local7.y = mouseSelection.y; _local7.dmg.text = "need $$"; addChild(_local7); _local7.play(); }; mouseSelection.parent.removeChild(mouseSelection); trace("Removing mouseSelection "); SetFollowMouse(null); }; } public function BoxOver(_arg1:Number, _arg2:Number, _arg3:GridBox){ if (mouseSelection == null){ return; }; mouseSelection.x = _arg3.x; mouseSelection.y = _arg3.y; if (!boxShapeClear(mouseSelection.GetShape(), _arg1, _arg2)){ mouseSelection.gotoAndStop("Blocked"); } else { mouseSelection.gotoAndStop("Open"); }; } public function addBullet(_arg1:DisplayObject){ addChild(_arg1); } public function removeBullet(_arg1:DisplayObject){ safeRemoveChild(_arg1); } public function findRandomTargetInRange(_arg1:Point, _arg2:Number):Critter{ var _local3:Number = 0; var _local4:Point; var _local5:Number = 0; var _local6:Array = new Array(); _local3 = 0; while (_local3 < currentCritters.length) { _local4 = new Point(currentCritters[_local3].x, currentCritters[_local3].y); _local5 = Point.distance(_local4, _arg1); if (_local5 < _arg2){ _local6.push(currentCritters[_local3]); }; _local3++; }; if (_local6.length == 0){ return (null); }; return (_local6[Math.floor((_local6.length * Math.random()))]); } public function findClosestTargetInRange(_arg1:Point, _arg2:Number):Critter{ var _local3:Number = 0; var _local4:Point; var _local5:Number = 0; var _local6:Critter; var _local7:Number = 10000; _local3 = 0; while (_local3 < currentCritters.length) { _local4 = new Point(currentCritters[_local3].x, currentCritters[_local3].y); _local5 = Point.distance(_local4, _arg1); if (_local5 < _arg2){ if (_local6 == null){ _local6 = currentCritters[_local3]; } else { if (_local5 < _local7){ _local6 = currentCritters[_local3]; _local7 = _local5; }; }; }; _local3++; }; return (_local6); } public function findFarthestTargetInRange(_arg1:Point, _arg2:Number):Critter{ var _local3:Number = 0; var _local4:Point; var _local5:Number = 0; var _local6:Critter; _local3 = 0; while (_local3 < currentCritters.length) { _local4 = new Point(currentCritters[_local3].x, currentCritters[_local3].y); _local5 = Point.distance(_local4, _arg1); if (_local5 < _arg2){ if (_local6 == null){ _local6 = currentCritters[_local3]; } else { if (_local6.boxesTraveled < currentCritters[_local3].boxesTraveled){ _local6 = currentCritters[_local3]; }; }; }; _local3++; }; return (_local6); } public function findTargetsNearPoint(_arg1:Point, _arg2:Number):Array{ var _local3:Number = 0; var _local4:Point; var _local5:Number = 0; var _local6:Array = new Array(); _local3 = 0; while (_local3 < currentCritters.length) { _local4 = new Point(currentCritters[_local3].x, currentCritters[_local3].y); _local5 = Point.distance(_local4, _arg1); if (_local5 < _arg2){ _local6.push(currentCritters[_local3]); }; _local3++; }; return (_local6); } public static function SearchLocalLoop(_arg1:Array, _arg2:Array, _arg3:Boolean):Array{ var _local6:Array; var _local7:Number; var _local8:Array; var _local9:Array; var _local4:Number = 0; var _local5:Array = new Array(); _local4 = 0; while (_local4 < _arg1.length) { _local6 = _arg1[_local4]; _local7 = 0; _local7 = 0; while (_local7 < _local6[(_local6.length - 1)].neighbors.length) { if ((((_arg2.length > 0)) && ((_arg3 == true)))){ }; if ((((_local6[(_local6.length - 1)].neighbors[_local7].blocked == false)) && ((_local6[(_local6.length - 1)].neighbors[_local7].searched == false)))){ _local8 = new Array(); _local8 = _local8.concat(_local6); if (_local6[(_local6.length - 1)].neighbors[_local7].exitSquare == true){ _local8.push(_local6[(_local6.length - 1)].neighbors[_local7]); _arg2.push(_local8); } else { if (((_arg3) && (!((_local6[(_local6.length - 1)].neighbors[_local7].bestPath == null))))){ _local8.push(_local6[(_local6.length - 1)].neighbors[_local7]); _local9 = _local8.concat(_local6[(_local6.length - 1)].neighbors[_local7].bestPath); _arg2.push(_local9); } else { _local8.push(_local6[(_local6.length - 1)].neighbors[_local7]); _local6[(_local6.length - 1)].neighbors[_local7].SetAsSearched(); _local5.push(_local8); }; }; }; _local7++; }; _local4++; }; _local4 = 0; while (_local4 < _arg1.length) { _local6 = _arg1[_local4]; _local7 = 0; while (_local7 < _local6[(_local6.length - 1)].diagNeighbors.length) { if ((((_arg2.length > 0)) && ((_arg3 == true)))){ }; if ((((_local6[(_local6.length - 1)].diagNeighbors[_local7].blocked == false)) && ((_local6[(_local6.length - 1)].diagNeighbors[_local7].searched == false)))){ _local8 = new Array(); _local8 = _local8.concat(_local6); if (_local6[(_local6.length - 1)].diagNeighbors[_local7].exitSquare == true){ _local8.push(_local6[(_local6.length - 1)].diagNeighbors[_local7]); _arg2.push(_local8); } else { if (((_arg3) && (!((_local6[(_local6.length - 1)].diagNeighbors[_local7].bestPath == null))))){ _arg2.push(_local8.concat(_local6[(_local6.length - 1)].diagNeighbors[_local7].bestPath)); } else { _local8.push(_local6[(_local6.length - 1)].diagNeighbors[_local7]); _local6[(_local6.length - 1)].diagNeighbors[_local7].SetAsSearched(); _local5.push(_local8); }; }; }; _local7++; }; _local4++; }; return (_local5); } } }//package
Section 127
//QualityButton (QualityButton) package { import flash.display.*; import flash.events.*; public class QualityButton extends MovieClip { public var medQuality:MovieClip; public var highQuality:MovieClip; public var lowQuality:MovieClip; public var currentQuality:Number;// = 3 public function QualityButton(){ setQuality(2); addEventListener(MouseEvent.CLICK, onClick); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function onClick(_arg1:MouseEvent){ trace(("on click " + currentQuality)); setQuality((currentQuality + 1)); } public function setQuality(_arg1:Number){ if (_arg1 > 2){ _arg1 = 1; }; safeRemoveChild(lowQuality); safeRemoveChild(medQuality); safeRemoveChild(highQuality); var _local2 = ""; switch (_arg1){ case 1: addChild(lowQuality); _local2 = StageQuality.LOW; break; case 2: addChild(highQuality); _local2 = StageQuality.MEDIUM; break; case 3: addChild(highQuality); _local2 = StageQuality.BEST; break; }; stage.quality = _local2; currentQuality = _arg1; } } }//package
Section 128
//rottenegg_Sound (rottenegg_Sound) package { import flash.media.*; public dynamic class rottenegg_Sound extends Sound { } }//package
Section 129
//ScoreBoard (ScoreBoard) package { import flash.display.*; import flash.events.*; import flash.text.*; public class ScoreBoard extends MovieClip { public var Score:TextField; public var Cash:TextField; public var Level:TextField; public var MenuButton:MovieClip; public var Respect:TextField; private var _CurrentLevel:Number;// = 1 private var _CurrentRespect:Number;// = 1 private var _CurrentScore:Number;// = 1 private var _CurrentCash:Number;// = 1 private var _LevelCap:Number;// = 1 public static var static_This:ScoreBoard; public function ScoreBoard(){ trace(" ScoreBoard() Constructor "); static_This = this; MenuButton.addEventListener(MouseEvent.CLICK, menuButton); Redraw(); } public function get CurrentLevel():Number{ return (_CurrentLevel); } public function get CurrentRespect():Number{ return (_CurrentRespect); } public function get CurrentScore():Number{ return (_CurrentScore); } public function get CurrentCash():Number{ return (_CurrentCash); } public function get LevelCap():Number{ return (_LevelCap); } public function set CurrentLevel(_arg1:Number):void{ if (_CurrentRespect <= 0){ return; }; _CurrentLevel = _arg1; Redraw(); } public function set CurrentRespect(_arg1:Number):void{ if (_arg1 < 0){ return; }; _CurrentRespect = _arg1; Redraw(); } public function set CurrentScore(_arg1:Number):void{ if (_CurrentRespect <= 0){ return; }; _CurrentScore = _arg1; Redraw(); } public function set CurrentCash(_arg1:Number):void{ if (_CurrentRespect <= 0){ return; }; _CurrentCash = _arg1; Redraw(); } public function set LevelCap(_arg1:Number):void{ _LevelCap = _arg1; } public function addMoney(_arg1:Event):void{ CurrentCash = (CurrentCash + 10000); } public function menuButton(_arg1:MouseEvent):void{ trace("Menu Button"); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function lastLevel():Boolean{ if (_LevelCap != 0){ if (_CurrentLevel >= _LevelCap){ if (PlayGrid.staticThis.currentCritters.length == 0){ GameMain.static_this.GameOverMan(); }; return (true); }; }; return (false); } public function commafy(_arg1:Number):String{ var _local2:String = Math.floor(_arg1).toString(); var _local3:Array = []; while (_local2.length > 3) { _local3.unshift(_local2.slice((_local2.length - 3), _local2.length)); _local2 = _local2.slice(0, (_local2.length - 3)); }; _local3.unshift(_local2); return (_local3.join(",")); } private function Redraw(){ if (CurrentRespect == 0){ GameMain.static_this.GameOverMan(); }; Level.text = ("LVL " + _CurrentLevel); Respect.text = ("" + _CurrentRespect); Score.text = commafy(_CurrentScore); Cash.text = commafy(_CurrentCash); } } }//package
Section 130
//SelectionHighlight (SelectionHighlight) package { import flash.display.*; public class SelectionHighlight extends MovieClip { public var reveal:MovieClip; } }//package
Section 131
//shooting_Sound (shooting_Sound) package { import flash.media.*; public dynamic class shooting_Sound extends Sound { } }//package
Section 132
//shot1_Sound (shot1_Sound) package { import flash.media.*; public dynamic class shot1_Sound extends Sound { } }//package
Section 133
//shot25_Sound (shot25_Sound) package { import flash.media.*; public dynamic class shot25_Sound extends Sound { } }//package
Section 134
//shot6_Sound (shot6_Sound) package { import flash.media.*; public dynamic class shot6_Sound extends Sound { } }//package
Section 135
//shot7_Sound (shot7_Sound) package { import flash.media.*; public dynamic class shot7_Sound extends Sound { } }//package
Section 136
//SoundSystem (SoundSystem) package { import flash.media.*; import flash.utils.*; public class SoundSystem { private var channels:Array; private static var SoundMap:Object = new Object(); private static var ChannelMap:Object = new Object(); private static var created:Boolean = false; private static var backgroundChannel:SoundChannel = null; private static var volume:Number = 1; public function SoundSystem(){ channels = new Array(); super(); } public static function init():void{ if (created){ return; }; SoundMap["Critter1_In"] = [new waythrough_Sound(), new shooting_Sound(), new easy_Sound(), new charge_Sound()]; SoundMap["Critter1_Out"] = [new iknowyouare_Sound(), new rottenegg_Sound(), new neenerneener02_Sound()]; SoundMap["Critter1_Die"] = [new Oh_Sound(), new Ouch_Sound(), new owie_Sound()]; SoundMap["Critter2_In"] = [new waythrough_Sound(), new little_sister_Sound(), new easy_Sound()]; SoundMap["Critter2_Out"] = [new toocute_Sound(), new vegas_Sound(), new yamissedme02_Sound()]; SoundMap["Critter2_Die"] = [new Oh_Sound(), new Ouch_Sound(), new owie_Sound()]; SoundMap["Critter3_In"] = [new antfarm_Sound(), new BewaretheRedDot_Sound(), new thebiglie_Sound(), new dontsniffthemarkers_Sound(), new hahaha_Sound()]; SoundMap["Critter3_Out"] = [new stopplayinggamesandgetbacktowork_Sound(), new doesyourmotherknow_Sound(), new youvegottodobetterthanthat_Sound()]; SoundMap["Critter3_Die"] = [new ahD_Sound(), new ahhD_Sound(), new arghD_Sound(), new doh1D_Sound(), new doh2D_Sound(), new oohD_Sound(), new ouchD_Sound(), new owD_Sound(), new owieD_Sound(), new uhD_Sound(), new uuhD_Sound()]; SoundMap["Tower1_Build"] = [new drawtower1_Sound()]; SoundMap["Tower1_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower1_Fire"] = [new WTD001_Sound()]; SoundMap["Tower2_Build"] = [new drawtower1_Sound(), new drawtower2_Sound(), new drawtower3_Sound()]; SoundMap["Tower2_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower2_Fire"] = [new shot6_Sound()]; SoundMap["Tower3_Build"] = [new drawtower2_Sound(), new drawtower3_Sound(), new drawtower4_Sound()]; SoundMap["Tower3_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower3_Fire"] = [new shot7_Sound()]; SoundMap["Tower4_Build"] = [new drawtower3_Sound(), new drawtower4_Sound(), new drawtower5_Sound()]; SoundMap["Tower4_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower4_Fire"] = [new betterelec1_Sound(), new betterelec2_Sound()]; SoundMap["Tower5_Build"] = [new drawtower4_Sound(), new drawtower5_Sound(), new drawtower6_Sound()]; SoundMap["Tower5_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower5_Fire"] = [new Cyborg_Zap_Sound()]; SoundMap["Tower6_Build"] = [new drawtower2_Sound(), new drawtower4_Sound(), new drawtower6_Sound()]; SoundMap["Tower6_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower6_Fire"] = [new shot1_Sound()]; SoundMap["Tower7_Build"] = [new drawtower1_Sound(), new drawtower3_Sound(), new drawtower5_Sound()]; SoundMap["Tower7_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower7_Fire"] = [new buzz_001_01_Sound()]; SoundMap["Tower8_Build"] = [new drawtower2_Sound(), new drawtower5_Sound(), new drawtower6_Sound()]; SoundMap["Tower8_Sell"] = [new drawtower5_Sound()]; SoundMap["Tower8_Fire"] = [new shot25_Sound()]; SoundMap["Underscore"] = [new drawtower2_Sound()]; SoundMap["Circle"] = [new circle_Sound()]; SoundMap["Congrads"] = [new WooYaMP3_Sound()]; SoundMap["Lose"] = [new Ah_Sound()]; SoundMap["Upgrade"] = [new FOLEY_COIN_QUARTER_DROP_ROCKS_01_Sound()]; SoundMap["moneyDrop"] = [new Drop_Coin_1_HardSurface_Light_0_Sound()]; created = true; } public static function setVolume(_arg1:Number){ volume = _arg1; } public static function StartBackgroundMusic():void{ if (!created){ init(); }; } public static function ToggleSound():void{ if (backgroundChannel != null){ backgroundChannel.stop(); backgroundChannel = null; } else { StartBackgroundMusic(); }; } public static function PlaySound(_arg1:String):void{ var arr:Array; var s:Sound; var currentTime:Number; var lastTime:Number; var playChannel:SoundChannel; var soundName = _arg1; try { if (!created){ init(); }; if (volume == 0){ return; }; arr = (SoundMap[soundName] as Array); if (arr == null){ trace(" Failed to find sound "); return; }; if (arr.length < 1){ trace(" no sounds to choose from "); return; }; s = (arr[Math.floor((Math.random() * arr.length))] as Sound); if (s != null){ currentTime = getTimer(); lastTime = (ChannelMap[soundName] as Number); if ((currentTime - lastTime) > 100){ playChannel = s.play(0, 0, new SoundTransform(volume)); ChannelMap[soundName] = new Number(currentTime.valueOf()); }; } else { trace(" sound is null "); }; } catch(Err:Error) { }; } } }//package
Section 137
//squeaky_loop_1_Sound (squeaky_loop_1_Sound) package { import flash.media.*; public dynamic class squeaky_loop_1_Sound extends Sound { } }//package
Section 138
//StartGridBox (StartGridBox) package { import flash.display.*; public class StartGridBox { public var box:GridBox;// = null public var pathSprite:Sprite;// = null } }//package
Section 139
//stopplayinggamesandgetbacktowork_Sound (stopplayinggamesandgetbacktowork_Sound) package { import flash.media.*; public dynamic class stopplayinggamesandgetbacktowork_Sound extends Sound { } }//package
Section 140
//textHighlightReveal (textHighlightReveal) package { import flash.display.*; public dynamic class textHighlightReveal extends MovieClip { public var circleDone:Function;// = null public function textHighlightReveal(){ addFrameScript(0, frame1, 36, frame37); trace(" textHighlightReveal() Constructor "); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } function frame1(){ stop(); } function frame37(){ stop(); circleDone(); } } }//package
Section 141
//thebiglie_Sound (thebiglie_Sound) package { import flash.media.*; public dynamic class thebiglie_Sound extends Sound { } }//package
Section 142
//toocute_Sound (toocute_Sound) package { import flash.media.*; public dynamic class toocute_Sound extends Sound { } }//package
Section 143
//TowerInterface (TowerInterface) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; public class TowerInterface extends MovieClip { public var cannonTitle:String;// = "Basic Tower" public var cannonDesc:String;// = "Your basic, run of the mill critter killing tower." public var cannonLevel:Number;// = 0 public var cannonStats:Array; public var pointing:Boolean;// = false public var buildSound:String;// = "Tower1_Build" public var sellSound:String;// = "Tower1_Sell" public var fireSound:String;// = "Tower1_Fire" private var Highlighter:MovieClip; private var rangeIndicator:Sprite; public var isHighlighted:Boolean;// = false protected var shape:Array; protected var shotTimer:Timer;// = null protected var bullets:Array; protected var targetCritter:Critter;// = null protected var cannonGridX:Number;// = -1 protected var cannonGridY:Number;// = -1 protected var constructionComplete:Boolean;// = false public var firedOnce:Boolean;// = false private var lastRotation:Number;// = 1000 protected static const levelOneColor = 0; protected static const levelTwoColor = 0xB900; protected static const levelThreeColor = 153; protected static const levelFourColor = 0x6600CC; protected static const levelFiveColor = 0x990000; public static var pointTimer:Timer = null; public function TowerInterface(){ cannonStats = new Array(); Highlighter = new SelectionHighlight(); rangeIndicator = new Sprite(); shape = new Array(); bullets = new Array(); super(); mouseChildren = false; } public function DeployCopy():MovieClip{ return (new MovieClip()); } public function Upgrade():void{ } public function MarkForSale():void{ } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } public function getCenterPoint():Point{ return (new Point(7.5, 7.5)); } public function setSelection():void{ var _local1:Point; if (pointTimer == null){ pointTimer = new Timer(50); pointTimer.start(); }; isHighlighted = true; _local1 = getCenterPoint(); rangeIndicator.mouseEnabled = false; rangeIndicator.graphics.clear(); var _local2:Matrix = new Matrix(); _local2.createGradientBox((cannonStats[cannonLevel].cannonRange * 2), (cannonStats[cannonLevel].cannonRange * 2), 0, -(cannonStats[cannonLevel].cannonRange), -(cannonStats[cannonLevel].cannonRange)); rangeIndicator.graphics.beginGradientFill(GradientType.RADIAL, [11184895, 11184895, 11184895], [0, 0.6, 0.1], [0, 100, 0xFF], _local2); rangeIndicator.graphics.lineStyle(2, 0xFF0000, 1); rangeIndicator.graphics.drawCircle(0, 0, cannonStats[cannonLevel].cannonRange); rangeIndicator.graphics.endFill(); rangeIndicator.x = _local1.x; rangeIndicator.y = _local1.y; addChild(rangeIndicator); mouseChildren = false; } public function clearSelection():void{ isHighlighted = false; safeRemoveChild(Highlighter); safeRemoveChild(rangeIndicator); mouseChildren = false; } public function DeployToLocation(_arg1:Number, _arg2:Number):void{ var _local5:Point; var _local3:Array = PlayGrid.staticThis.playGrid; gotoAndPlay("Construct"); var _local4:Number = 0; while (_local4 < shape.length) { _local5 = new Point((shape[_local4].x + _arg1), (shape[_local4].y + _arg2)); _local3[_local5.x][_local5.y].SetTower(this); _local4++; }; x = _local3[_arg1][_arg2].x; y = _local3[_arg1][_arg2].y; cannonGridX = _arg1; cannonGridY = _arg2; cannonLevel = 0; mouseEnabled = false; } public function GetShape():Array{ return (shape); } public function handleClick(_arg1:MouseEvent):void{ if (DisplayBoard.static_This != null){ DisplayBoard.static_This.SetDisplay(this); }; } protected function PointTurretAtTarget(_arg1:DisplayObject, _arg2:Critter):void{ var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local3:Point = new Point(0, 0); if (_arg2){ _local3.offset(_arg2.x, _arg2.y); _local4 = getCenterPoint(); _local5 = ((x + _local4.x) - _local3.x); _local6 = ((y + _local4.y) - _local3.y); _local7 = Math.atan2(_local6, _local5); _local8 = (((_local7 / (2 * Math.PI)) * 360) + 180); if (Math.abs((_local8 - lastRotation)) > 3){ lastRotation = (_arg1.rotation = (bullets.rotation = _local8)); }; }; } public function RemoveFromBoard():void{ var _local3:Point; if (cannonGridX == -1){ return; }; var _local1:Array = PlayGrid.staticThis.playGrid; var _local2:Number = 0; while (_local2 < shape.length) { _local3 = new Point((shape[_local2].x + cannonGridX), (shape[_local2].y + cannonGridY)); _local1[_local3.x][_local3.y].SetTower(null); _local1[_local3.x][_local3.y].SetBlocked(false); _local2++; }; cannonGridX = -1; cannonGridY = -1; mouseEnabled = false; } } }//package
Section 144
//TowerSelection1 (TowerSelection1) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection1 extends MovieClip { public var tower:BasicTower; var overTimer:Timer; public function TowerSelection1(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 1"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; var _local2:BasicTower = new BasicTower(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 145
//TowerSelection2 (TowerSelection2) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection2 extends MovieClip { public var tower:BasicTower2; var overTimer:Timer; public function TowerSelection2(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 2"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower2()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower2 "); var _local2:BasicTower2 = new BasicTower2(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 146
//TowerSelection3 (TowerSelection3) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection3 extends MovieClip { public var tower:BasicTower3; var overTimer:Timer; public function TowerSelection3(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 3"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower3()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower3 "); var _local2:BasicTower3 = new BasicTower3(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 147
//TowerSelection4 (TowerSelection4) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection4 extends MovieClip { public var tower:BasicTower4; var overTimer:Timer; public function TowerSelection4(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 4"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower4()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower4 "); var _local2:BasicTower4 = new BasicTower4(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 148
//TowerSelection5 (TowerSelection5) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection5 extends MovieClip { public var tower:BasicTower5; public var mark:MovieClip; var overTimer:Timer; public function TowerSelection5(){ overTimer = new Timer(400, 1); super(); addFrameScript(0, frame1); trace("Tower Selection 5"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower5()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower5 "); var _local2:BasicTower5 = new BasicTower5(); PlayGrid.staticThis.SetFollowMouse(_local2); } function frame1(){ mark.mouseEnabled = false; } } }//package
Section 149
//TowerSelection6 (TowerSelection6) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection6 extends MovieClip { public var tower:BasicTower6; var overTimer:Timer; public function TowerSelection6(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 5"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower6()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower6 "); var _local2:BasicTower6 = new BasicTower6(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 150
//TowerSelection7 (TowerSelection7) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection7 extends MovieClip { public var tower:BasicTower7; var overTimer:Timer; public function TowerSelection7(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 7"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower7()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower7 "); var _local2:BasicTower7 = new BasicTower7(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 151
//TowerSelection8 (TowerSelection8) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TowerSelection8 extends MovieClip { public var tower:BasicTower8; var overTimer:Timer; public function TowerSelection8(){ overTimer = new Timer(400, 1); super(); trace("Tower Selection 8"); addEventListener(MouseEvent.CLICK, onMouseClick); addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mouseChildren = false; overTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimeOut); addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public function onTimeOut(_arg1:TimerEvent):void{ if (PlayGrid.staticThis.mouseSelection == null){ DisplayBoard.static_This.SetDisplay(new BasicTower8()); }; } public function onMouseOut(_arg1:MouseEvent):void{ overTimer.stop(); overTimer.reset(); } public function onMouseOver(_arg1:MouseEvent):void{ overTimer.reset(); overTimer.start(); } public function onMouseClick(_arg1:MouseEvent):void{ if (PauseBox.isPaused){ return; }; trace("new BasicTower8 "); var _local2:BasicTower8 = new BasicTower8(); PlayGrid.staticThis.SetFollowMouse(_local2); } } }//package
Section 152
//TowerSquareBase (TowerSquareBase) package { import flash.display.*; public dynamic class TowerSquareBase extends MovieClip { public var color:TurretColor; public function TowerSquareBase(){ addFrameScript(0, frame1); } function frame1(){ mouseEnabled = false; color.mouseEnabled = false; } } }//package
Section 153
//TurretColor (TurretColor) package { import flash.display.*; import flash.events.*; public class TurretColor extends MovieClip { private var lastColor:Number;// = -1 public function TurretColor(){ addFrameScript(0, frame1); } private function onStage(_arg1:Event){ var _local2:TowerInterface = (parent.parent as TowerInterface); setColor(_local2.cannonStats[_local2.cannonLevel].cannonColor); } public function setColor(_arg1:Number):void{ if (_arg1 == lastColor){ return; }; lastColor = _arg1; graphics.clear(); graphics.beginFill(_arg1); graphics.drawRect(-50, -50, 100, 100); graphics.endFill(); } function frame1(){ mouseEnabled = false; } } }//package
Section 154
//uhD_Sound (uhD_Sound) package { import flash.media.*; public dynamic class uhD_Sound extends Sound { } }//package
Section 155
//uuhD_Sound (uuhD_Sound) package { import flash.media.*; public dynamic class uuhD_Sound extends Sound { } }//package
Section 156
//vegas_Sound (vegas_Sound) package { import flash.media.*; public dynamic class vegas_Sound extends Sound { } }//package
Section 157
//VolumeControl (VolumeControl) package { import flash.display.*; import flash.events.*; public class VolumeControl extends MovieClip { public var bar1:MovieClip; public var bar2:MovieClip; public var bar3:MovieClip; private var currentvolume:Number;// = 3 public function VolumeControl(){ addEventListener(MouseEvent.CLICK, changeVolume, false, 0, true); } private function changeVolume(_arg1:MouseEvent):void{ currentvolume = (currentvolume + 1); if (currentvolume >= 4){ currentvolume = 0; }; setVolume(); } public function safeRemoveChild(_arg1:DisplayObject){ var obj = _arg1; try { removeChild(obj); } catch(Err:Error) { }; } private function setVolume():void{ safeRemoveChild(bar1); safeRemoveChild(bar2); safeRemoveChild(bar3); if (currentvolume > 0){ addChild(bar1); }; if (currentvolume > 1){ addChild(bar2); }; if (currentvolume > 2){ addChild(bar3); }; switch (currentvolume){ case 0: SoundSystem.setVolume(0); break; case 1: SoundSystem.setVolume(0.25); break; case 2: SoundSystem.setVolume(0.5); break; case 3: SoundSystem.setVolume(1); break; }; } } }//package
Section 158
//waythrough_Sound (waythrough_Sound) package { import flash.media.*; public dynamic class waythrough_Sound extends Sound { } }//package
Section 159
//woohoo03_Sound (woohoo03_Sound) package { import flash.media.*; public dynamic class woohoo03_Sound extends Sound { } }//package
Section 160
//WooYaMP3_Sound (WooYaMP3_Sound) package { import flash.media.*; public dynamic class WooYaMP3_Sound extends Sound { } }//package
Section 161
//WTD001_Sound (WTD001_Sound) package { import flash.media.*; public dynamic class WTD001_Sound extends Sound { } }//package
Section 162
//yamissedme02_Sound (yamissedme02_Sound) package { import flash.media.*; public dynamic class yamissedme02_Sound extends Sound { } }//package
Section 163
//youvegottodobetterthanthat_Sound (youvegottodobetterthanthat_Sound) package { import flash.media.*; public dynamic class youvegottodobetterthanthat_Sound extends Sound { } }//package

Library Items

Symbol 1 GraphicUsed by:6
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:5 440
Symbol 4 GraphicUsed by:5 440
Symbol 5 MovieClip {whiteboardTD2_fla.BasicTower3TurretShapeReversed_181}Uses:3 4Used by:6
Symbol 6 MovieClip {BasicTowerTurret3reversed}Uses:1 5
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:9
Symbol 9 MovieClip {com.mindjolt.api.as3.MindJoltAPI}Uses:8Used by:Timeline
Symbol 10 GraphicUsed by:Timeline
Symbol 11 FontUsed by:12 57 199 200 402 403 430 469 470 477 478 479 499 501 502 504 784 785 786 787 788 789 790 791 792 793 794 795 796 808 814 815 819 841 847 849 850 852 865 871
Symbol 12 TextUses:11Used by:Timeline
Symbol 13 FontUsed by:14 83 806 868 872 874 877
Symbol 14 EditableTextUses:13Used by:Timeline
Symbol 15 BitmapUsed by:16 534
Symbol 16 GraphicUses:15Used by:807  Timeline
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClipUses:17Used by:61 879
Symbol 19 GraphicUsed by:22
Symbol 20 FontUsed by:21 55 57 199 200 402 403 409 469 470 477 478 479 492 499 500 501 502 503 504 506 525 527 529 535 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 556 557 558 559 560 561 562 563 564 565 566 567 568 569 572 573 574 575 576 577 578 579 580 581 582 583 584 772 773 774 775 776 777 778 779 780 781 782 817 820 821 822 823 824 825 826 827 829 830 831 832 833 834 836 837 838 839 840 844 845 852
Symbol 21 TextUses:20Used by:22
Symbol 22 MovieClipUses:19 21Used by:61
Symbol 23 GraphicUsed by:61
Symbol 24 GraphicUsed by:29 98
Symbol 25 GraphicUsed by:29 98 809
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:29 98
Symbol 28 GraphicUsed by:29 98 809
Symbol 29 MovieClip {whiteboardTD2_fla.armologo_4}Uses:24 25 27 28Used by:61
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:30Used by:40 102
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:40 102
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:40 102
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:40 102
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:40 102
Symbol 40 MovieClipUses:31 33 35 37 39Used by:61
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:46
Symbol 43 GraphicUsed by:46
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:44Used by:46
Symbol 46 MovieClipUses:42 43 45Used by:61 187 265
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:53
Symbol 49 MovieClipUsed by:53
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:50Used by:53
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:48 49 51 52Used by:61 188 265
Symbol 54 GraphicUsed by:56
Symbol 55 TextUses:20Used by:56
Symbol 56 MovieClipUses:54 55Used by:61
Symbol 57 EditableTextUses:11 20Used by:61
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClip {whiteboardTD2_fla.ArmorAd_20}Uses:59Used by:61 879
Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1}Uses:18 22 23 29 40 46 53 56 57 60Used by:Timeline
Symbol 62 FontUsed by:63
Symbol 63 TextUses:62Used by:Timeline
Symbol 64 GraphicUsed by:86
Symbol 65 GraphicUsed by:70
Symbol 66 GraphicUsed by:70
Symbol 67 GraphicUsed by:70
Symbol 68 GraphicUsed by:70
Symbol 69 GraphicUsed by:70
Symbol 70 ButtonUses:65 66 67 68 69Used by:86
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:86
Symbol 73 GraphicUsed by:74 86
Symbol 74 MovieClipUses:73Used by:86
Symbol 75 SoundUsed by:86
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:86
Symbol 78 GraphicUsed by:79 85
Symbol 79 MovieClipUses:78Used by:85
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:85
Symbol 82 GraphicUsed by:85
Symbol 83 TextUses:13Used by:85
Symbol 84 GraphicUsed by:85
Symbol 85 ButtonUses:79 81 82 83 78 84Used by:86
Symbol 86 MovieClip {whiteboardTD2_fla.AGteaser_mc_21}Uses:64 70 72 74 73 75 77 85Used by:Timeline
Symbol 87 GraphicUsed by:Timeline
Symbol 88 SoundUsed by:98
Symbol 89 SoundUsed by:98
Symbol 90 GraphicUsed by:98
Symbol 91 SoundUsed by:98
Symbol 92 SoundUsed by:98
Symbol 93 SoundUsed by:98
Symbol 94 GraphicUsed by:95
Symbol 95 ButtonUses:94Used by:98
Symbol 96 SoundUsed by:98
Symbol 97 SoundUsed by:98
Symbol 98 MovieClip {whiteboardTD2_fla.ag_intro_mc_28}Uses:24 25 28 88 89 90 27 91 92 93 95 96 97Used by:Timeline
Symbol 99 GraphicUsed by:265
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClip {Cursor_Marker}Uses:100Used by:265
Symbol 102 MovieClipUses:31 33 35 37 39Used by:103
Symbol 103 MovieClip {Critter2}Uses:102Used by:265 807
Symbol 104 GraphicUsed by:265
Symbol 105 GraphicUsed by:106 141
Symbol 106 MovieClipUses:105Used by:115
Symbol 107 GraphicUsed by:108 144
Symbol 108 MovieClipUses:107Used by:115
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClipUses:109Used by:115
Symbol 111 GraphicUsed by:112 145
Symbol 112 MovieClipUses:111Used by:115
Symbol 113 GraphicUsed by:114 146
Symbol 114 MovieClipUses:113Used by:115
Symbol 115 MovieClip {whiteboardTD2_fla.towerT1_34}Uses:106 108 110 112 114Used by:265 436
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:124
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:118Used by:124
Symbol 120 GraphicUsed by:121
Symbol 121 MovieClipUses:120Used by:124
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClipUses:122Used by:124
Symbol 124 MovieClip {whiteboardTD2_fla.towerT2_40}Uses:117 119 121 123Used by:265 429
Symbol 125 GraphicUsed by:126
Symbol 126 MovieClipUses:125Used by:133
Symbol 127 GraphicUsed by:128
Symbol 128 MovieClipUses:127Used by:133
Symbol 129 GraphicUsed by:130
Symbol 130 MovieClipUses:129Used by:133
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClipUses:131Used by:133
Symbol 133 MovieClip {whiteboardTD2_fla.towerT3_45}Uses:126 128 130 132Used by:265
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:140
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:140
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:138Used by:140
Symbol 140 MovieClipUses:135 137 139Used by:265 460
Symbol 141 MovieClipUses:105Used by:147
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:142Used by:147
Symbol 144 MovieClipUses:107Used by:147
Symbol 145 MovieClipUses:111Used by:147
Symbol 146 MovieClipUses:113Used by:147
Symbol 147 MovieClip {whiteboardTD2_fla.towerT5_54}Uses:141 143 144 145 146Used by:265 463
Symbol 148 GraphicUsed by:151
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:151
Symbol 151 MovieClip {whiteboardTD2_fla.towerT6_60}Uses:148 150Used by:265 450
Symbol 152 GraphicUsed by:155
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:155 458
Symbol 155 MovieClip {whiteboardTD2_fla.towerT7_62}Uses:152 154Used by:265
Symbol 156 GraphicUsed by:159
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:157Used by:159 182
Symbol 159 MovieClip {whiteboardTD2_fla.towerT8_64}Uses:156 158Used by:265
Symbol 160 GraphicUsed by:172
Symbol 161 GraphicUsed by:172
Symbol 162 ShapeTweeningUsed by:172
Symbol 163 GraphicUsed by:172
Symbol 164 GraphicUsed by:172 176
Symbol 165 GraphicUsed by:172 176
Symbol 166 GraphicUsed by:172 176
Symbol 167 GraphicUsed by:172 176
Symbol 168 GraphicUsed by:172 176
Symbol 169 GraphicUsed by:172 176
Symbol 170 GraphicUsed by:172 176
Symbol 171 GraphicUsed by:172 176
Symbol 172 MovieClip {BasicTowerBullet2}Uses:160 161 162 163 164 165 166 167 168 169 170 171Used by:265
Symbol 173 GraphicUsed by:176
Symbol 174 GraphicUsed by:176
Symbol 175 GraphicUsed by:176
Symbol 176 MovieClip {BasicTowerBullet3}Uses:173 174 175 164 165 166 167 168 169 170 171Used by:265
Symbol 177 GraphicUsed by:181
Symbol 178 GraphicUsed by:181
Symbol 179 GraphicUsed by:181
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClip {BasicTowerBullet4}Uses:177 178 179 180Used by:265
Symbol 182 MovieClipUses:158Used by:183 449
Symbol 183 MovieClip {BasicTowerBullet5}Uses:182Used by:265
Symbol 184 GraphicUsed by:186
Symbol 185 ShapeTweeningUsed by:186
Symbol 186 MovieClip {BasicTowerBullet8}Uses:184 185Used by:265
Symbol 187 MovieClip {Critter1}Uses:46Used by:265 807
Symbol 188 MovieClip {Critter3}Uses:53Used by:265 494 807
Symbol 189 GraphicUsed by:191 407
Symbol 190 GraphicUsed by:191 208 406 434 437 443 448 451 458 461 464
Symbol 191 MovieClip {whiteboardTD2_fla.CircleUnvail_75}Uses:189 190Used by:193
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClip {SelectionHighlight}Uses:191 192Used by:265
Symbol 194 GraphicUsed by:198
Symbol 195 GraphicUsed by:198
Symbol 196 ShapeTweeningUsed by:198
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClip {BasicTowerBullet}Uses:194 195 196 197Used by:265
Symbol 199 EditableTextUses:11 20Used by:201
Symbol 200 EditableTextUses:11 20Used by:201
Symbol 201 MovieClip {dmgHighlight}Uses:199 200Used by:265
Symbol 202 GraphicUsed by:208
Symbol 203 GraphicUsed by:208
Symbol 204 GraphicUsed by:208
Symbol 205 GraphicUsed by:208
Symbol 206 GraphicUsed by:208
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClip {GridBox}Uses:190 202 203 204 205 206 207Used by:265
Symbol 209 Sound {betterelec2_Sound}Used by:265
Symbol 210 Sound {betterelec1_Sound}Used by:265
Symbol 211 Sound {uuhD_Sound}Used by:265
Symbol 212 Sound {uhD_Sound}Used by:265
Symbol 213 Sound {owieD_Sound}Used by:265
Symbol 214 Sound {owD_Sound}Used by:265
Symbol 215 Sound {ouchD_Sound}Used by:265
Symbol 216 Sound {oohD_Sound}Used by:265
Symbol 217 Sound {doh2D_Sound}Used by:265
Symbol 218 Sound {doh1D_Sound}Used by:265
Symbol 219 Sound {arghD_Sound}Used by:265
Symbol 220 Sound {ahhD_Sound}Used by:265
Symbol 221 Sound {ahD_Sound}Used by:265
Symbol 222 Sound {youvegottodobetterthanthat_Sound}Used by:265
Symbol 223 Sound {thebiglie_Sound}Used by:265
Symbol 224 Sound {stopplayinggamesandgetbacktowork_Sound}Used by:265
Symbol 225 Sound {hahaha_Sound}Used by:265
Symbol 226 Sound {dontsniffthemarkers_Sound}Used by:265
Symbol 227 Sound {doesyourmotherknow_Sound}Used by:265 807
Symbol 228 Sound {BewaretheRedDot_Sound}Used by:265
Symbol 229 Sound {antfarm_Sound}Used by:265
Symbol 230 Sound {drawtower6_Sound}Used by:265
Symbol 231 Sound {drawtower5_Sound}Used by:265
Symbol 232 Sound {drawtower4_Sound}Used by:265 807
Symbol 233 Sound {drawtower3_Sound}Used by:265
Symbol 234 Sound {drawtower2_Sound}Used by:265
Symbol 235 Sound {drawtower1_Sound}Used by:265
Symbol 236 Sound {circle_Sound}Used by:265 807
Symbol 237 Sound {toocute_Sound}Used by:265
Symbol 238 Sound {Cyborg_Zap_Sound}Used by:265
Symbol 239 Sound {FOLEY_COIN_QUARTER_DROP_ROCKS_01_Sound}Used by:265
Symbol 240 Sound {Drop_Coin_1_HardSurface_Light_0_Sound}Used by:265
Symbol 241 Sound {squeaky_loop_1_Sound}Used by:265
Symbol 242 Sound {buzz_001_01_Sound}Used by:265
Symbol 243 Sound {WooYaMP3_Sound}Used by:265
Symbol 244 Sound {shot25_Sound}Used by:265
Symbol 245 Sound {charge_Sound}Used by:265 807
Symbol 246 Sound {shooting_Sound}Used by:265
Symbol 247 Sound {vegas_Sound}Used by:265 807
Symbol 248 Sound {little_sister_Sound}Used by:265
Symbol 249 Sound {easy_Sound}Used by:265
Symbol 250 Sound {WTD001_Sound}Used by:265
Symbol 251 Sound {waythrough_Sound}Used by:265
Symbol 252 Sound {rottenegg_Sound}Used by:265 807
Symbol 253 Sound {iknowyouare_Sound}Used by:265
Symbol 254 Sound {yamissedme02_Sound}Used by:265
Symbol 255 Sound {woohoo03_Sound}Used by:265
Symbol 256 Sound {shot7_Sound}Used by:265
Symbol 257 Sound {shot6_Sound}Used by:265
Symbol 258 Sound {shot1_Sound}Used by:265
Symbol 259 Sound {owie_Sound}Used by:265
Symbol 260 Sound {Ouch_Sound}Used by:265
Symbol 261 Sound {Oh_Sound}Used by:265
Symbol 262 Sound {neenerneener02_Sound}Used by:265
Symbol 263 Sound {bang03_Sound}Used by:265
Symbol 264 Sound {Ah_Sound}Used by:265
Symbol 265 MovieClip {whiteboardTD2_fla.Importer_30}Uses:99 101 103 46 53 104 115 124 133 140 147 151 155 159 172 176 181 183 186 187 188 193 198 201 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264Used by:Timeline
Symbol 266 GraphicUsed by:Timeline
Symbol 267 GraphicUsed by:411
Symbol 268 GraphicUsed by:390
Symbol 269 GraphicUsed by:390
Symbol 270 SoundUsed by:390
Symbol 271 GraphicUsed by:390
Symbol 272 GraphicUsed by:390
Symbol 273 GraphicUsed by:390
Symbol 274 GraphicUsed by:390
Symbol 275 GraphicUsed by:390
Symbol 276 GraphicUsed by:390
Symbol 277 GraphicUsed by:390
Symbol 278 GraphicUsed by:390
Symbol 279 GraphicUsed by:390
Symbol 280 GraphicUsed by:390
Symbol 281 GraphicUsed by:390
Symbol 282 GraphicUsed by:390
Symbol 283 GraphicUsed by:390
Symbol 284 GraphicUsed by:390
Symbol 285 GraphicUsed by:390
Symbol 286 GraphicUsed by:390
Symbol 287 GraphicUsed by:390
Symbol 288 GraphicUsed by:390
Symbol 289 GraphicUsed by:390
Symbol 290 GraphicUsed by:390
Symbol 291 GraphicUsed by:390
Symbol 292 GraphicUsed by:390
Symbol 293 GraphicUsed by:390
Symbol 294 GraphicUsed by:390
Symbol 295 GraphicUsed by:390
Symbol 296 GraphicUsed by:390
Symbol 297 GraphicUsed by:390
Symbol 298 GraphicUsed by:390
Symbol 299 GraphicUsed by:390
Symbol 300 GraphicUsed by:390
Symbol 301 GraphicUsed by:390
Symbol 302 GraphicUsed by:390
Symbol 303 GraphicUsed by:390
Symbol 304 GraphicUsed by:390
Symbol 305 GraphicUsed by:390
Symbol 306 GraphicUsed by:390
Symbol 307 GraphicUsed by:390
Symbol 308 GraphicUsed by:390
Symbol 309 GraphicUsed by:390
Symbol 310 GraphicUsed by:390
Symbol 311 GraphicUsed by:390
Symbol 312 GraphicUsed by:390
Symbol 313 GraphicUsed by:390
Symbol 314 GraphicUsed by:390
Symbol 315 GraphicUsed by:390
Symbol 316 GraphicUsed by:390
Symbol 317 GraphicUsed by:390
Symbol 318 GraphicUsed by:390
Symbol 319 GraphicUsed by:390
Symbol 320 SoundUsed by:390 807
Symbol 321 GraphicUsed by:390
Symbol 322 GraphicUsed by:390
Symbol 323 GraphicUsed by:390
Symbol 324 GraphicUsed by:390
Symbol 325 GraphicUsed by:390
Symbol 326 GraphicUsed by:390
Symbol 327 GraphicUsed by:390
Symbol 328 GraphicUsed by:390
Symbol 329 GraphicUsed by:390
Symbol 330 GraphicUsed by:390
Symbol 331 GraphicUsed by:390
Symbol 332 GraphicUsed by:390
Symbol 333 GraphicUsed by:390
Symbol 334 GraphicUsed by:390
Symbol 335 GraphicUsed by:390
Symbol 336 GraphicUsed by:390
Symbol 337 GraphicUsed by:390
Symbol 338 GraphicUsed by:390
Symbol 339 GraphicUsed by:390
Symbol 340 GraphicUsed by:390
Symbol 341 GraphicUsed by:390
Symbol 342 GraphicUsed by:390
Symbol 343 GraphicUsed by:390
Symbol 344 GraphicUsed by:390
Symbol 345 GraphicUsed by:390
Symbol 346 GraphicUsed by:390
Symbol 347 GraphicUsed by:390
Symbol 348 GraphicUsed by:390
Symbol 349 GraphicUsed by:390
Symbol 350 GraphicUsed by:390
Symbol 351 GraphicUsed by:390
Symbol 352 GraphicUsed by:390
Symbol 353 GraphicUsed by:390
Symbol 354 GraphicUsed by:390
Symbol 355 GraphicUsed by:390
Symbol 356 GraphicUsed by:390
Symbol 357 GraphicUsed by:390
Symbol 358 GraphicUsed by:390
Symbol 359 GraphicUsed by:390
Symbol 360 GraphicUsed by:390
Symbol 361 GraphicUsed by:390
Symbol 362 GraphicUsed by:390
Symbol 363 GraphicUsed by:390
Symbol 364 GraphicUsed by:390
Symbol 365 GraphicUsed by:390
Symbol 366 SoundUsed by:390
Symbol 367 GraphicUsed by:390
Symbol 368 GraphicUsed by:390
Symbol 369 GraphicUsed by:390
Symbol 370 GraphicUsed by:390
Symbol 371 GraphicUsed by:390
Symbol 372 GraphicUsed by:390
Symbol 373 GraphicUsed by:390
Symbol 374 GraphicUsed by:390
Symbol 375 GraphicUsed by:390
Symbol 376 GraphicUsed by:390
Symbol 377 GraphicUsed by:390
Symbol 378 GraphicUsed by:390
Symbol 379 GraphicUsed by:390
Symbol 380 GraphicUsed by:390
Symbol 381 GraphicUsed by:390
Symbol 382 GraphicUsed by:390
Symbol 383 GraphicUsed by:390
Symbol 384 GraphicUsed by:390
Symbol 385 GraphicUsed by:390
Symbol 386 GraphicUsed by:390
Symbol 387 GraphicUsed by:390
Symbol 388 GraphicUsed by:390
Symbol 389 GraphicUsed by:390
Symbol 390 MovieClip {whiteboardTD2_fla.gameover_81}Uses:268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389Used by:411
Symbol 391 GraphicUsed by:411
Symbol 392 ShapeTweeningUsed by:401
Symbol 393 GraphicUsed by:401
Symbol 394 ShapeTweeningUsed by:401
Symbol 395 ShapeTweeningUsed by:401
Symbol 396 ShapeTweeningUsed by:401
Symbol 397 ShapeTweeningUsed by:401
Symbol 398 ShapeTweeningUsed by:401
Symbol 399 ShapeTweeningUsed by:401
Symbol 400 ShapeTweeningUsed by:401
Symbol 401 MovieClip {whiteboardTD2_fla.TextReveal_82}Uses:392 393 394 395 396 397 398 399 400Used by:411 490
Symbol 402 EditableTextUses:11 20Used by:411
Symbol 403 EditableTextUses:11 20Used by:411
Symbol 404 GraphicUsed by:408 410 487 489
Symbol 405 GraphicUsed by:408
Symbol 406 MovieClipUses:190Used by:408 410 487 489
Symbol 407 MovieClipUses:189Used by:408 410 487 489
Symbol 408 MovieClip {whiteboardTD2_fla.SubmitButton_83}Uses:404 405 406 407Used by:411
Symbol 409 TextUses:20Used by:410
Symbol 410 MovieClip {whiteboardTD2_fla.BackToMenuButton_86}Uses:404 409 406 407Used by:411
Symbol 411 MovieClip {GameOverDisplay}Uses:267 390 391 401 402 403 408 410Used by:533
Symbol 412 GraphicUsed by:435 438 444 449 452 459 462 465
Symbol 413 GraphicUsed by:417
Symbol 414 GraphicUsed by:417
Symbol 415 GraphicUsed by:416
Symbol 416 MovieClip {TurretColor}Uses:415Used by:417
Symbol 417 MovieClip {TowerSquareBase}Uses:413 414 416Used by:434 437 443 448 451 458 461 464
Symbol 418 GraphicUsed by:419
Symbol 419 MovieClip {whiteboardTD2_fla.BulletSpawnPoint_92}Uses:418Used by:429 436
Symbol 420 GraphicUsed by:429 442
Symbol 421 GraphicUsed by:429 442
Symbol 422 GraphicUsed by:429 442
Symbol 423 GraphicUsed by:429 442
Symbol 424 GraphicUsed by:429 442
Symbol 425 GraphicUsed by:429 442
Symbol 426 GraphicUsed by:429 442
Symbol 427 GraphicUsed by:429 442
Symbol 428 GraphicUsed by:429 442
Symbol 429 MovieClip {BasicTowerTurret}Uses:124 419 420 421 422 423 424 425 426 427 428Used by:434
Symbol 430 TextUses:11Used by:431
Symbol 431 MovieClipUses:430Used by:434 437 443 448 451 458 461 464
Symbol 432 GraphicUsed by:434 437 443 448 451 458 461 464
Symbol 433 GraphicUsed by:434 437 443 448 451 458 461 464
Symbol 434 MovieClip {BasicTower}Uses:417 429 431 190 432 433Used by:435
Symbol 435 MovieClip {TowerSelection1}Uses:412 434Used by:533
Symbol 436 MovieClip {whiteboardTD2_fla.BasicTowerTurret1_96}Uses:115 419Used by:437
Symbol 437 MovieClip {BasicTower2}Uses:417 436 431 190 432 433Used by:438
Symbol 438 MovieClip {TowerSelection2}Uses:412 437Used by:533
Symbol 439 GraphicUsed by:442
Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}Uses:3 4Used by:442
Symbol 441 GraphicUsed by:442
Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99}Uses:420 439 440 421 422 423 424 425 426 427 428 441Used by:443
Symbol 443 MovieClip {BasicTower3}Uses:417 442 431 190 432 433Used by:444
Symbol 444 MovieClip {TowerSelection3}Uses:412 443Used by:533
Symbol 445 GraphicUsed by:446
Symbol 446 MovieClip {whiteboardTD2_fla.towerT8copy_105}Uses:445Used by:447
Symbol 447 MovieClip {whiteboardTD2_fla.BasicTowerTurret5_104}Uses:446Used by:448
Symbol 448 MovieClip {BasicTower5}Uses:417 447 431 190 432 433Used by:449
Symbol 449 MovieClip {TowerSelection5}Uses:412 448 182Used by:533
Symbol 450 MovieClip {whiteboardTD2_fla.BasicTowerTurret6_108}Uses:151Used by:451
Symbol 451 MovieClip {BasicTower6}Uses:417 450 431 190 432 433Used by:452
Symbol 452 MovieClip {TowerSelection6}Uses:412 451Used by:533
Symbol 453 GraphicUsed by:458
Symbol 454 GraphicUsed by:457
Symbol 455 GraphicUsed by:457
Symbol 456 GraphicUsed by:457
Symbol 457 MovieClip {whiteboardTD2_fla.BasicTowerBullet7_111}Uses:454 455 456Used by:458
Symbol 458 MovieClip {BasicTower7}Uses:453 417 154 457 431 190 432 433Used by:459
Symbol 459 MovieClip {TowerSelection7}Uses:412 458Used by:533
Symbol 460 MovieClip {whiteboardTD2_fla.BasicTowerTurret4_114}Uses:140Used by:461
Symbol 461 MovieClip {BasicTower4}Uses:417 460 431 190 432 433Used by:462
Symbol 462 MovieClip {TowerSelection4}Uses:412 461Used by:533
Symbol 463 MovieClip {whiteboardTD2_fla.BasicTowerTurret8_117}Uses:147Used by:464
Symbol 464 MovieClip {BasicTower8}Uses:417 463 431 190 432 433Used by:465
Symbol 465 MovieClip {TowerSelection8}Uses:412 464Used by:533
Symbol 466 GraphicUsed by:467
Symbol 467 MovieClip {PlayGrid}Uses:466Used by:533
Symbol 468 GraphicUsed by:490
Symbol 469 EditableTextUses:11 20Used by:490
Symbol 470 EditableTextUses:11 20Used by:490
Symbol 471 GraphicUsed by:472
Symbol 472 MovieClipUses:471Used by:490
Symbol 473 GraphicUsed by:474
Symbol 474 MovieClip {whiteboardTD2_fla.CostSymbol_121}Uses:473Used by:490 508
Symbol 475 GraphicUsed by:476
Symbol 476 MovieClipUses:475Used by:490
Symbol 477 EditableTextUses:11 20Used by:490
Symbol 478 EditableTextUses:11 20Used by:490
Symbol 479 EditableTextUses:11 20Used by:490
Symbol 480 FontUsed by:481 482 483
Symbol 481 EditableTextUses:480Used by:490
Symbol 482 EditableTextUses:480Used by:490
Symbol 483 EditableTextUses:480Used by:490
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClipUses:484Used by:490
Symbol 486 GraphicUsed by:487
Symbol 487 MovieClip {whiteboardTD2_fla.UpgradeButton_124}Uses:404 486 406 407Used by:490
Symbol 488 GraphicUsed by:489
Symbol 489 MovieClip {whiteboardTD2_fla.SellButton_125}Uses:404 488 406 407Used by:490
Symbol 490 MovieClip {DisplayBoard}Uses:468 401 469 470 472 474 476 477 478 479 481 482 483 485 487 489Used by:533
Symbol 491 GraphicUsed by:493
Symbol 492 TextUses:20Used by:493
Symbol 493 MovieClipUses:491 492Used by:533
Symbol 494 MovieClip {CritterSelection}Uses:188Used by:497
Symbol 495 FontUsed by:496
Symbol 496 EditableTextUses:495Used by:497
Symbol 497 MovieClip {CritterStats}Uses:494 496Used by:533
Symbol 498 GraphicUsed by:508
Symbol 499 EditableTextUses:11 20Used by:508
Symbol 500 TextUses:20Used by:508
Symbol 501 EditableTextUses:11 20Used by:508
Symbol 502 EditableTextUses:11 20Used by:508
Symbol 503 TextUses:20Used by:508
Symbol 504 EditableTextUses:11 20Used by:508
Symbol 505 GraphicUsed by:507
Symbol 506 TextUses:20Used by:507
Symbol 507 MovieClipUses:505 506Used by:508
Symbol 508 MovieClip {ScoreBoard}Uses:498 499 500 501 502 503 504 474 507Used by:533
Symbol 509 GraphicUsed by:517
Symbol 510 GraphicUsed by:511
Symbol 511 MovieClipUses:510Used by:517
Symbol 512 GraphicUsed by:513
Symbol 513 MovieClipUses:512Used by:517
Symbol 514 GraphicUsed by:515
Symbol 515 MovieClipUses:514Used by:517
Symbol 516 GraphicUsed by:517
Symbol 517 MovieClip {VolumeControl}Uses:509 511 513 515 516Used by:533
Symbol 518 GraphicUsed by:519
Symbol 519 MovieClipUses:518Used by:524
Symbol 520 GraphicUsed by:522
Symbol 521 GraphicUsed by:522
Symbol 522 MovieClipUses:520 521Used by:524
Symbol 523 GraphicUsed by:524 532
Symbol 524 MovieClip {PauseBox}Uses:519 522 523Used by:533
Symbol 525 TextUses:20Used by:526
Symbol 526 MovieClipUses:525Used by:532
Symbol 527 TextUses:20Used by:528
Symbol 528 MovieClipUses:527Used by:532
Symbol 529 TextUses:20Used by:530
Symbol 530 MovieClipUses:529Used by:532
Symbol 531 GraphicUsed by:532
Symbol 532 MovieClip {QualityButton}Uses:523 526 528 530 531Used by:533
Symbol 533 MovieClip {GameMain}Uses:411 435 438 444 449 452 459 462 465 467 490 493 497 508 517 524 532Used by:Timeline
Symbol 534 GraphicUses:15Used by:867
Symbol 535 TextUses:20Used by:867
Symbol 536 FontUsed by:537
Symbol 537 TextUses:536Used by:867
Symbol 538 TextUses:20Used by:867
Symbol 539 TextUses:20Used by:867
Symbol 540 TextUses:20Used by:867
Symbol 541 TextUses:20Used by:867
Symbol 542 TextUses:20Used by:867
Symbol 543 TextUses:20Used by:867
Symbol 544 TextUses:20Used by:867
Symbol 545 TextUses:20Used by:867
Symbol 546 TextUses:20Used by:867
Symbol 547 TextUses:20Used by:867
Symbol 548 TextUses:20Used by:867
Symbol 549 TextUses:20Used by:867
Symbol 550 TextUses:20Used by:867
Symbol 551 TextUses:20Used by:867
Symbol 552 TextUses:20Used by:867
Symbol 553 TextUses:20Used by:867
Symbol 554 TextUses:20Used by:867
Symbol 555 GraphicUsed by:867
Symbol 556 TextUses:20Used by:867
Symbol 557 TextUses:20Used by:867
Symbol 558 TextUses:20Used by:867
Symbol 559 TextUses:20Used by:867
Symbol 560 TextUses:20Used by:867
Symbol 561 TextUses:20Used by:867
Symbol 562 TextUses:20Used by:867
Symbol 563 TextUses:20Used by:867
Symbol 564 TextUses:20Used by:867
Symbol 565 TextUses:20Used by:867
Symbol 566 TextUses:20Used by:867
Symbol 567 TextUses:20Used by:867
Symbol 568 TextUses:20Used by:867
Symbol 569 TextUses:20Used by:867
Symbol 570 GraphicUsed by:867
Symbol 571 GraphicUsed by:867
Symbol 572 TextUses:20Used by:867
Symbol 573 TextUses:20Used by:867
Symbol 574 TextUses:20Used by:867
Symbol 575 TextUses:20Used by:867
Symbol 576 TextUses:20Used by:867
Symbol 577 TextUses:20Used by:867
Symbol 578 TextUses:20Used by:867
Symbol 579 TextUses:20Used by:867
Symbol 580 TextUses:20Used by:867
Symbol 581 TextUses:20Used by:867
Symbol 582 TextUses:20Used by:867
Symbol 583 TextUses:20Used by:867
Symbol 584 TextUses:20Used by:867
Symbol 585 GraphicUsed by:601
Symbol 586 GraphicUsed by:601
Symbol 587 GraphicUsed by:601
Symbol 588 GraphicUsed by:601
Symbol 589 GraphicUsed by:601
Symbol 590 GraphicUsed by:601
Symbol 591 GraphicUsed by:601
Symbol 592 GraphicUsed by:601
Symbol 593 GraphicUsed by:601
Symbol 594 GraphicUsed by:601
Symbol 595 GraphicUsed by:601
Symbol 596 GraphicUsed by:601
Symbol 597 GraphicUsed by:601
Symbol 598 GraphicUsed by:601
Symbol 599 GraphicUsed by:601
Symbol 600 GraphicUsed by:601
Symbol 601 MovieClip {whiteboardTD2_fla.eyecritter222copy_145}Uses:585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600Used by:661 708
Symbol 602 GraphicUsed by:658 661
Symbol 603 GraphicUsed by:612
Symbol 604 ShapeTweeningUsed by:612
Symbol 605 GraphicUsed by:612
Symbol 606 GraphicUsed by:612
Symbol 607 GraphicUsed by:612
Symbol 608 GraphicUsed by:612
Symbol 609 ShapeTweeningUsed by:612
Symbol 610 GraphicUsed by:612
Symbol 611 GraphicUsed by:612
Symbol 612 MovieClip {whiteboardTD2_fla.facecopy_146}Uses:603 604 605 606 607 608 609 610 611Used by:661
Symbol 613 GraphicUsed by:639
Symbol 614 GraphicUsed by:639 659
Symbol 615 GraphicUsed by:639
Symbol 616 GraphicUsed by:639
Symbol 617 GraphicUsed by:639
Symbol 618 GraphicUsed by:639
Symbol 619 GraphicUsed by:639
Symbol 620 GraphicUsed by:639
Symbol 621 GraphicUsed by:639
Symbol 622 GraphicUsed by:639
Symbol 623 GraphicUsed by:639
Symbol 624 GraphicUsed by:639
Symbol 625 GraphicUsed by:639
Symbol 626 GraphicUsed by:639
Symbol 627 GraphicUsed by:639
Symbol 628 GraphicUsed by:639
Symbol 629 GraphicUsed by:639
Symbol 630 GraphicUsed by:639
Symbol 631 GraphicUsed by:639
Symbol 632 GraphicUsed by:639
Symbol 633 GraphicUsed by:639
Symbol 634 GraphicUsed by:639
Symbol 635 GraphicUsed by:639
Symbol 636 GraphicUsed by:639
Symbol 637 GraphicUsed by:639
Symbol 638 GraphicUsed by:639
Symbol 639 MovieClip {whiteboardTD2_fla.partcritter22copy_147}Uses:613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638Used by:661
Symbol 640 GraphicUsed by:653
Symbol 641 GraphicUsed by:653 660
Symbol 642 GraphicUsed by:653
Symbol 643 GraphicUsed by:653
Symbol 644 GraphicUsed by:653
Symbol 645 GraphicUsed by:653
Symbol 646 GraphicUsed by:653
Symbol 647 GraphicUsed by:653
Symbol 648 GraphicUsed by:653
Symbol 649 GraphicUsed by:653
Symbol 650 GraphicUsed by:653
Symbol 651 GraphicUsed by:653
Symbol 652 GraphicUsed by:653
Symbol 653 MovieClip {whiteboardTD2_fla.facecopy3_148}Uses:640 641 642 643 644 645 646 647 648 649 650 651 652Used by:661
Symbol 654 GraphicUsed by:655
Symbol 655 MovieClipUses:654Used by:661
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClipUses:656Used by:661
Symbol 658 MovieClipUses:602Used by:661
Symbol 659 MovieClipUses:614Used by:661
Symbol 660 MovieClipUses:641Used by:661
Symbol 661 MovieClip {whiteboardTD2_fla.animationMainMenu_144}Uses:601 602 612 639 653 655 657 658 659 660Used by:770
Symbol 662 GraphicUsed by:708
Symbol 663 GraphicUsed by:708
Symbol 664 GraphicUsed by:708
Symbol 665 GraphicUsed by:708
Symbol 666 GraphicUsed by:708
Symbol 667 GraphicUsed by:708
Symbol 668 GraphicUsed by:708
Symbol 669 GraphicUsed by:708
Symbol 670 GraphicUsed by:708
Symbol 671 GraphicUsed by:672
Symbol 672 MovieClipUses:671Used by:708
Symbol 673 GraphicUsed by:708
Symbol 674 GraphicUsed by:708
Symbol 675 GraphicUsed by:676
Symbol 676 MovieClipUses:675Used by:708
Symbol 677 GraphicUsed by:708
Symbol 678 GraphicUsed by:708
Symbol 679 GraphicUsed by:708
Symbol 680 GraphicUsed by:708
Symbol 681 GraphicUsed by:708
Symbol 682 GraphicUsed by:708
Symbol 683 GraphicUsed by:708
Symbol 684 GraphicUsed by:708
Symbol 685 GraphicUsed by:708
Symbol 686 GraphicUsed by:708
Symbol 687 GraphicUsed by:708
Symbol 688 GraphicUsed by:708
Symbol 689 GraphicUsed by:708
Symbol 690 GraphicUsed by:708
Symbol 691 GraphicUsed by:704 708
Symbol 692 GraphicUsed by:708
Symbol 693 GraphicUsed by:708
Symbol 694 GraphicUsed by:708
Symbol 695 GraphicUsed by:708
Symbol 696 GraphicUsed by:708
Symbol 697 GraphicUsed by:708
Symbol 698 GraphicUsed by:708
Symbol 699 GraphicUsed by:708
Symbol 700 GraphicUsed by:708
Symbol 701 ShapeTweeningUsed by:708
Symbol 702 GraphicUsed by:703
Symbol 703 MovieClipUses:702Used by:708
Symbol 704 MovieClipUses:691Used by:708
Symbol 705 ShapeTweeningUsed by:708
Symbol 706 ShapeTweeningUsed by:708
Symbol 707 ShapeTweeningUsed by:708
Symbol 708 MovieClip {whiteboardTD2_fla.critMain2_154}Uses:601 662 663 664 665 666 667 668 669 670 672 673 674 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 703 704 705 706 707Used by:770
Symbol 709 GraphicUsed by:766 769
Symbol 710 GraphicUsed by:730
Symbol 711 GraphicUsed by:730
Symbol 712 GraphicUsed by:730
Symbol 713 GraphicUsed by:730
Symbol 714 GraphicUsed by:730
Symbol 715 GraphicUsed by:730
Symbol 716 GraphicUsed by:730
Symbol 717 GraphicUsed by:730
Symbol 718 GraphicUsed by:730
Symbol 719 GraphicUsed by:730
Symbol 720 GraphicUsed by:730
Symbol 721 GraphicUsed by:730
Symbol 722 GraphicUsed by:730
Symbol 723 GraphicUsed by:730
Symbol 724 GraphicUsed by:730
Symbol 725 GraphicUsed by:730
Symbol 726 GraphicUsed by:730
Symbol 727 GraphicUsed by:730
Symbol 728 GraphicUsed by:730
Symbol 729 GraphicUsed by:730 767
Symbol 730 MovieClip {whiteboardTD2_fla.bodyFatguydude_160}Uses:710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729Used by:769
Symbol 731 GraphicUsed by:769
Symbol 732 GraphicUsed by:753
Symbol 733 GraphicUsed by:753
Symbol 734 GraphicUsed by:753
Symbol 735 GraphicUsed by:753
Symbol 736 GraphicUsed by:753
Symbol 737 GraphicUsed by:753
Symbol 738 GraphicUsed by:753
Symbol 739 GraphicUsed by:753
Symbol 740 GraphicUsed by:753
Symbol 741 GraphicUsed by:753
Symbol 742 GraphicUsed by:753
Symbol 743 GraphicUsed by:753
Symbol 744 GraphicUsed by:753
Symbol 745 GraphicUsed by:753
Symbol 746 GraphicUsed by:753
Symbol 747 GraphicUsed by:753
Symbol 748 GraphicUsed by:753
Symbol 749 GraphicUsed by:753
Symbol 750 GraphicUsed by:753
Symbol 751 GraphicUsed by:753
Symbol 752 GraphicUsed by:753 765
Symbol 753 MovieClip {whiteboardTD2_fla.face_161}Uses:732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752Used by:769
Symbol 754 GraphicUsed by:764
Symbol 755 GraphicUsed by:764
Symbol 756 GraphicUsed by:764
Symbol 757 GraphicUsed by:764
Symbol 758 GraphicUsed by:764
Symbol 759 GraphicUsed by:764
Symbol 760 GraphicUsed by:764
Symbol 761 GraphicUsed by:764
Symbol 762 GraphicUsed by:764
Symbol 763 GraphicUsed by:764 768
Symbol 764 MovieClip {whiteboardTD2_fla.hcrti3_162}Uses:754 755 756 757 758 759 760 761 762 763Used by:769
Symbol 765 MovieClipUses:752Used by:769
Symbol 766 MovieClipUses:709Used by:769
Symbol 767 MovieClipUses:729Used by:769
Symbol 768 MovieClipUses:763Used by:769
Symbol 769 MovieClip {whiteboardTD2_fla.critterR3_159}Uses:709 730 731 753 764 765 766 767 768Used by:770
Symbol 770 MovieClipUses:661 708 769Used by:867
Symbol 771 GraphicUsed by:867
Symbol 772 TextUses:20Used by:867
Symbol 773 TextUses:20Used by:867
Symbol 774 TextUses:20Used by:867
Symbol 775 TextUses:20Used by:867
Symbol 776 TextUses:20Used by:867
Symbol 777 TextUses:20Used by:867
Symbol 778 TextUses:20Used by:867
Symbol 779 TextUses:20Used by:867
Symbol 780 TextUses:20Used by:867
Symbol 781 TextUses:20Used by:867
Symbol 782 TextUses:20Used by:867
Symbol 783 GraphicUsed by:867
Symbol 784 TextUses:11Used by:867
Symbol 785 TextUses:11Used by:867
Symbol 786 TextUses:11Used by:867
Symbol 787 TextUses:11Used by:867
Symbol 788 TextUses:11Used by:867
Symbol 789 TextUses:11Used by:867
Symbol 790 TextUses:11Used by:867
Symbol 791 TextUses:11Used by:867
Symbol 792 TextUses:11Used by:867
Symbol 793 TextUses:11Used by:867
Symbol 794 TextUses:11Used by:867
Symbol 795 TextUses:11Used by:867
Symbol 796 TextUses:11Used by:867
Symbol 797 GraphicUsed by:867
Symbol 798 GraphicUsed by:807
Symbol 799 BitmapUsed by:800 802
Symbol 800 GraphicUses:799Used by:807
Symbol 801 GraphicUsed by:807
Symbol 802 GraphicUses:799Used by:807
Symbol 803 GraphicUsed by:807
Symbol 804 GraphicUsed by:807
Symbol 805 GraphicUsed by:807
Symbol 806 TextUses:13Used by:807
Symbol 807 MovieClip {whiteboardTD2_fla.Credits_167}Uses:16 798 800 801 236 802 803 232 804 320 805 252 806 188 247 187 227 103 245Used by:867
Symbol 808 TextUses:11Used by:809
Symbol 809 MovieClipUses:25 28 808Used by:867
Symbol 810 GraphicUsed by:851
Symbol 811 GraphicUsed by:851
Symbol 812 BitmapUsed by:813
Symbol 813 GraphicUses:812Used by:851
Symbol 814 TextUses:11Used by:851
Symbol 815 TextUses:11Used by:851
Symbol 816 GraphicUsed by:818
Symbol 817 TextUses:20Used by:818
Symbol 818 MovieClip {whiteboardTD2_fla.Instructions_NextButton_170}Uses:816 817Used by:851
Symbol 819 TextUses:11Used by:851
Symbol 820 TextUses:20Used by:851
Symbol 821 TextUses:20Used by:851
Symbol 822 TextUses:20Used by:851
Symbol 823 TextUses:20Used by:851
Symbol 824 TextUses:20Used by:851
Symbol 825 TextUses:20Used by:851
Symbol 826 TextUses:20Used by:851
Symbol 827 TextUses:20Used by:851
Symbol 828 GraphicUsed by:851
Symbol 829 TextUses:20Used by:851
Symbol 830 TextUses:20Used by:851
Symbol 831 TextUses:20Used by:851
Symbol 832 TextUses:20Used by:851
Symbol 833 TextUses:20Used by:851
Symbol 834 TextUses:20Used by:851
Symbol 835 GraphicUsed by:851
Symbol 836 TextUses:20Used by:851
Symbol 837 TextUses:20Used by:851
Symbol 838 TextUses:20Used by:851
Symbol 839 TextUses:20Used by:851
Symbol 840 TextUses:20Used by:851
Symbol 841 TextUses:11Used by:851
Symbol 842 GraphicUsed by:851
Symbol 843 GraphicUsed by:851
Symbol 844 TextUses:20Used by:851
Symbol 845 TextUses:20Used by:851
Symbol 846 GraphicUsed by:851
Symbol 847 TextUses:11Used by:851
Symbol 848 GraphicUsed by:851
Symbol 849 TextUses:11Used by:851
Symbol 850 TextUses:11Used by:851
Symbol 851 MovieClip {whiteboardTD2_fla.Instructions_169}Uses:810 811 813 814 815 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850Used by:867
Symbol 852 EditableTextUses:11 20Used by:864
Symbol 853 GraphicUsed by:856
Symbol 854 GraphicUsed by:856
Symbol 855 GraphicUsed by:856 862
Symbol 856 MovieClip {textHighlightReveal}Uses:853 854 855Used by:858
Symbol 857 GraphicUsed by:858
Symbol 858 MovieClipUses:856 857Used by:864
Symbol 859 GraphicUsed by:862
Symbol 860 GraphicUsed by:862
Symbol 861 GraphicUsed by:862
Symbol 862 MovieClip {whiteboardTD2_fla.textMenuUnderline_174}Uses:859 860 855 861Used by:864
Symbol 863 GraphicUsed by:864
Symbol 864 MovieClip {menuTextButton}Uses:852 858 862 863Used by:867
Symbol 865 TextUses:11Used by:866
Symbol 866 MovieClipUses:865Used by:867
Symbol 867 MovieClip {GameMenu}Uses:534 535 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 807 809 851 864 866Used by:Timeline
Symbol 868 EditableTextUses:13Used by:Timeline
Symbol 869 GraphicUsed by:880
Symbol 870 GraphicUsed by:880
Symbol 871 TextUses:11Used by:880
Symbol 872 EditableTextUses:13Used by:879
Symbol 873 GraphicUsed by:875
Symbol 874 TextUses:13Used by:875
Symbol 875 MovieClipUses:873 874Used by:879
Symbol 876 GraphicUsed by:878
Symbol 877 TextUses:13Used by:878
Symbol 878 MovieClipUses:876 877Used by:879
Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177}Uses:872 18 875 878 60Used by:880
Symbol 880 MovieClip {HighScore}Uses:869 870 871 879Used by:Timeline

Instance Names

"progressText"Frame 1Symbol 14 EditableText
"logo"Frame 6Symbol 98 MovieClip {whiteboardTD2_fla.ag_intro_mc_28}
"gameMenu"Frame 12Symbol 867 MovieClip {GameMenu}
"rate"Frame 12Symbol 868 EditableText
"turret"Symbol 6 MovieClip {BasicTowerTurret3reversed} Frame 1Symbol 5 MovieClip {whiteboardTD2_fla.BasicTower3TurretShapeReversed_181}
"adBox"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 18 MovieClip
"playbutton"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 22 MovieClip
"miniMan"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 29 MovieClip {whiteboardTD2_fla.armologo_4}
"nextbutton"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 56 MovieClip
"progressText"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 57 EditableText
"armorBox"Symbol 61 MovieClip {whiteboardTD2_fla.CPMPreloader_1} Frame 1Symbol 60 MovieClip {whiteboardTD2_fla.ArmorAd_20}
"skipButton"Symbol 86 MovieClip {whiteboardTD2_fla.AGteaser_mc_21} Frame 1Symbol 70 Button
"AGhome01"Symbol 86 MovieClip {whiteboardTD2_fla.AGteaser_mc_21} Frame 62Symbol 85 Button
"reveal"Symbol 193 MovieClip {SelectionHighlight} Frame 1Symbol 191 MovieClip {whiteboardTD2_fla.CircleUnvail_75}
"dmg"Symbol 201 MovieClip {dmgHighlight} Frame 1Symbol 199 EditableText
"dmg"Symbol 201 MovieClip {dmgHighlight} Frame 15Symbol 200 EditableText
"red"Symbol 408 MovieClip {whiteboardTD2_fla.SubmitButton_83} Frame 1Symbol 406 MovieClip
"blue"Symbol 408 MovieClip {whiteboardTD2_fla.SubmitButton_83} Frame 1Symbol 407 MovieClip
"red"Symbol 410 MovieClip {whiteboardTD2_fla.BackToMenuButton_86} Frame 1Symbol 406 MovieClip
"blue"Symbol 410 MovieClip {whiteboardTD2_fla.BackToMenuButton_86} Frame 1Symbol 407 MovieClip
"reveal"Symbol 411 MovieClip {GameOverDisplay} Frame 1Symbol 401 MovieClip {whiteboardTD2_fla.TextReveal_82}
"description"Symbol 411 MovieClip {GameOverDisplay} Frame 1Symbol 402 EditableText
"title"Symbol 411 MovieClip {GameOverDisplay} Frame 1Symbol 403 EditableText
"Submit"Symbol 411 MovieClip {GameOverDisplay} Frame 1Symbol 408 MovieClip {whiteboardTD2_fla.SubmitButton_83}
"Menu"Symbol 411 MovieClip {GameOverDisplay} Frame 1Symbol 410 MovieClip {whiteboardTD2_fla.BackToMenuButton_86}
"color"Symbol 417 MovieClip {TowerSquareBase} Frame 1Symbol 416 MovieClip {TurretColor}
"tower"Symbol 429 MovieClip {BasicTowerTurret} Frame 1Symbol 124 MovieClip {whiteboardTD2_fla.towerT2_40}
"spawnPoint"Symbol 429 MovieClip {BasicTowerTurret} Frame 1Symbol 419 MovieClip {whiteboardTD2_fla.BulletSpawnPoint_92}
"base"Symbol 434 MovieClip {BasicTower} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 434 MovieClip {BasicTower} Frame 1Symbol 429 MovieClip {BasicTowerTurret}
"sellMe"Symbol 434 MovieClip {BasicTower} Frame 1Symbol 431 MovieClip
"tower"Symbol 435 MovieClip {TowerSelection1} Frame 1Symbol 434 MovieClip {BasicTower}
"turret"Symbol 436 MovieClip {whiteboardTD2_fla.BasicTowerTurret1_96} Frame 1Symbol 115 MovieClip {whiteboardTD2_fla.towerT1_34}
"spawnPoint"Symbol 436 MovieClip {whiteboardTD2_fla.BasicTowerTurret1_96} Frame 1Symbol 419 MovieClip {whiteboardTD2_fla.BulletSpawnPoint_92}
"base"Symbol 437 MovieClip {BasicTower2} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 437 MovieClip {BasicTower2} Frame 1Symbol 436 MovieClip {whiteboardTD2_fla.BasicTowerTurret1_96}
"sellMe"Symbol 437 MovieClip {BasicTower2} Frame 1Symbol 431 MovieClip
"tower"Symbol 438 MovieClip {TowerSelection2} Frame 1Symbol 437 MovieClip {BasicTower2}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 1Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 2Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 5Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 8Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 11Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 14Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 17Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 20Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 23Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"shape"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 25Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"turret"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 26Symbol 440 MovieClip {whiteboardTD2_fla.BasicTower3TurretShape_100}
"base"Symbol 443 MovieClip {BasicTower3} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 443 MovieClip {BasicTower3} Frame 1Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99}
"sellMe"Symbol 443 MovieClip {BasicTower3} Frame 1Symbol 431 MovieClip
"tower"Symbol 444 MovieClip {TowerSelection3} Frame 1Symbol 443 MovieClip {BasicTower3}
"turret"Symbol 447 MovieClip {whiteboardTD2_fla.BasicTowerTurret5_104} Frame 1Symbol 446 MovieClip {whiteboardTD2_fla.towerT8copy_105}
"base"Symbol 448 MovieClip {BasicTower5} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 448 MovieClip {BasicTower5} Frame 1Symbol 447 MovieClip {whiteboardTD2_fla.BasicTowerTurret5_104}
"sellMe"Symbol 448 MovieClip {BasicTower5} Frame 1Symbol 431 MovieClip
"tower"Symbol 449 MovieClip {TowerSelection5} Frame 1Symbol 448 MovieClip {BasicTower5}
"mark"Symbol 449 MovieClip {TowerSelection5} Frame 1Symbol 182 MovieClip
"turret"Symbol 450 MovieClip {whiteboardTD2_fla.BasicTowerTurret6_108} Frame 1Symbol 151 MovieClip {whiteboardTD2_fla.towerT6_60}
"base"Symbol 451 MovieClip {BasicTower6} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 451 MovieClip {BasicTower6} Frame 1Symbol 450 MovieClip {whiteboardTD2_fla.BasicTowerTurret6_108}
"sellMe"Symbol 451 MovieClip {BasicTower6} Frame 1Symbol 431 MovieClip
"tower"Symbol 452 MovieClip {TowerSelection6} Frame 1Symbol 451 MovieClip {BasicTower6}
"base"Symbol 458 MovieClip {BasicTower7} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 458 MovieClip {BasicTower7} Frame 1Symbol 154 MovieClip
"bullet"Symbol 458 MovieClip {BasicTower7} Frame 1Symbol 457 MovieClip {whiteboardTD2_fla.BasicTowerBullet7_111}
"sellMe"Symbol 458 MovieClip {BasicTower7} Frame 1Symbol 431 MovieClip
"tower"Symbol 459 MovieClip {TowerSelection7} Frame 1Symbol 458 MovieClip {BasicTower7}
"turret"Symbol 460 MovieClip {whiteboardTD2_fla.BasicTowerTurret4_114} Frame 1Symbol 140 MovieClip
"base"Symbol 461 MovieClip {BasicTower4} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 461 MovieClip {BasicTower4} Frame 1Symbol 460 MovieClip {whiteboardTD2_fla.BasicTowerTurret4_114}
"sellMe"Symbol 461 MovieClip {BasicTower4} Frame 1Symbol 431 MovieClip
"tower"Symbol 462 MovieClip {TowerSelection4} Frame 1Symbol 461 MovieClip {BasicTower4}
"turret"Symbol 463 MovieClip {whiteboardTD2_fla.BasicTowerTurret8_117} Frame 1Symbol 147 MovieClip {whiteboardTD2_fla.towerT5_54}
"base"Symbol 464 MovieClip {BasicTower8} Frame 1Symbol 417 MovieClip {TowerSquareBase}
"turret"Symbol 464 MovieClip {BasicTower8} Frame 1Symbol 463 MovieClip {whiteboardTD2_fla.BasicTowerTurret8_117}
"sellMe"Symbol 464 MovieClip {BasicTower8} Frame 1Symbol 431 MovieClip
"tower"Symbol 465 MovieClip {TowerSelection8} Frame 1Symbol 464 MovieClip {BasicTower8}
"red"Symbol 487 MovieClip {whiteboardTD2_fla.UpgradeButton_124} Frame 1Symbol 406 MovieClip
"blue"Symbol 487 MovieClip {whiteboardTD2_fla.UpgradeButton_124} Frame 1Symbol 407 MovieClip
"red"Symbol 489 MovieClip {whiteboardTD2_fla.SellButton_125} Frame 1Symbol 406 MovieClip
"blue"Symbol 489 MovieClip {whiteboardTD2_fla.SellButton_125} Frame 1Symbol 407 MovieClip
"reveal"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 401 MovieClip {whiteboardTD2_fla.TextReveal_82}
"description"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 469 EditableText
"title"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 470 EditableText
"CurrentCost"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 477 EditableText
"CurrentDamage"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 478 EditableText
"CurrentRange"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 479 EditableText
"UpgradeCost"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 481 EditableText
"UpgradeDamage"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 482 EditableText
"UpgradeRange"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 483 EditableText
"Arrows"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 485 MovieClip
"Upgrade"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 487 MovieClip {whiteboardTD2_fla.UpgradeButton_124}
"Sell"Symbol 490 MovieClip {DisplayBoard} Frame 1Symbol 489 MovieClip {whiteboardTD2_fla.SellButton_125}
"theCritter"Symbol 494 MovieClip {CritterSelection} Frame 1Symbol 188 MovieClip {Critter3}
"selection"Symbol 497 MovieClip {CritterStats} Frame 1Symbol 494 MovieClip {CritterSelection}
"desc"Symbol 497 MovieClip {CritterStats} Frame 1Symbol 496 EditableText
"Score"Symbol 508 MovieClip {ScoreBoard} Frame 1Symbol 499 EditableText
"Level"Symbol 508 MovieClip {ScoreBoard} Frame 1Symbol 501 EditableText
"Respect"Symbol 508 MovieClip {ScoreBoard} Frame 1Symbol 502 EditableText
"Cash"Symbol 508 MovieClip {ScoreBoard} Frame 1Symbol 504 EditableText
"MenuButton"Symbol 508 MovieClip {ScoreBoard} Frame 1Symbol 507 MovieClip
"bar3"Symbol 517 MovieClip {VolumeControl} Frame 1Symbol 511 MovieClip
"bar2"Symbol 517 MovieClip {VolumeControl} Frame 1Symbol 513 MovieClip
"bar1"Symbol 517 MovieClip {VolumeControl} Frame 1Symbol 515 MovieClip
"notPaused"Symbol 524 MovieClip {PauseBox} Frame 1Symbol 519 MovieClip
"paused"Symbol 524 MovieClip {PauseBox} Frame 1Symbol 522 MovieClip
"highQuality"Symbol 532 MovieClip {QualityButton} Frame 1Symbol 526 MovieClip
"medQuality"Symbol 532 MovieClip {QualityButton} Frame 1Symbol 528 MovieClip
"lowQuality"Symbol 532 MovieClip {QualityButton} Frame 1Symbol 530 MovieClip
"GameOver"Symbol 533 MovieClip {GameMain} Frame 1Symbol 411 MovieClip {GameOverDisplay}
"playGrid"Symbol 533 MovieClip {GameMain} Frame 1Symbol 467 MovieClip {PlayGrid}
"displayBoard"Symbol 533 MovieClip {GameMain} Frame 1Symbol 490 MovieClip {DisplayBoard}
"nextButton"Symbol 533 MovieClip {GameMain} Frame 1Symbol 493 MovieClip
"critstats"Symbol 533 MovieClip {GameMain} Frame 1Symbol 497 MovieClip {CritterStats}
"pauseBox"Symbol 533 MovieClip {GameMain} Frame 1Symbol 524 MovieClip {PauseBox}
"reveal"Symbol 858 MovieClip Frame 1Symbol 856 MovieClip {textHighlightReveal}
"text"Symbol 864 MovieClip {menuTextButton} Frame 1Symbol 852 EditableText
"highlight"Symbol 864 MovieClip {menuTextButton} Frame 1Symbol 858 MovieClip
"underline"Symbol 864 MovieClip {menuTextButton} Frame 1Symbol 862 MovieClip {whiteboardTD2_fla.textMenuUnderline_174}
"creds"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 807 MovieClip {whiteboardTD2_fla.Credits_167}
"onlyAt"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 809 MovieClip
"Instructs"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 851 MovieClip {whiteboardTD2_fla.Instructions_169}
"line1"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 864 MovieClip {menuTextButton}
"line2"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 864 MovieClip {menuTextButton}
"line3"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 864 MovieClip {menuTextButton}
"line4"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 864 MovieClip {menuTextButton}
"line5"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 864 MovieClip {menuTextButton}
"header"Symbol 867 MovieClip {GameMenu} Frame 1Symbol 866 MovieClip
"progressText"Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177} Frame 1Symbol 872 EditableText
"adBox"Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177} Frame 1Symbol 18 MovieClip
"nextbutton"Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177} Frame 1Symbol 875 MovieClip
"playbutton"Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177} Frame 1Symbol 878 MovieClip
"armorBox"Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177} Frame 1Symbol 60 MovieClip {whiteboardTD2_fla.ArmorAd_20}
"CPMLoader"Symbol 880 MovieClip {HighScore} Frame 1Symbol 879 MovieClip {whiteboardTD2_fla.CPMHSLoader_177}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""

Labels

"GoArmor"Frame 6
"boom"Symbol 172 MovieClip {BasicTowerBullet2} Frame 41
"boom"Symbol 176 MovieClip {BasicTowerBullet3} Frame 41
"cycle"Symbol 183 MovieClip {BasicTowerBullet5} Frame 51
"shotStart"Symbol 186 MovieClip {BasicTowerBullet8} Frame 2
"shotStart"Symbol 198 MovieClip {BasicTowerBullet} Frame 2
"ready"Symbol 198 MovieClip {BasicTowerBullet} Frame 10
"Empty"Symbol 208 MovieClip {GridBox} Frame 1
"Blocked"Symbol 208 MovieClip {GridBox} Frame 2
"Exit"Symbol 208 MovieClip {GridBox} Frame 3
"Searched"Symbol 208 MovieClip {GridBox} Frame 4
"Start"Symbol 208 MovieClip {GridBox} Frame 5
""reveal""Symbol 401 MovieClip {whiteboardTD2_fla.TextReveal_82} Frame 2
"reveal"Symbol 411 MovieClip {GameOverDisplay} Frame 1
"Construct"Symbol 429 MovieClip {BasicTowerTurret} Frame 2
"Blocked"Symbol 434 MovieClip {BasicTower} Frame 2
"Open"Symbol 434 MovieClip {BasicTower} Frame 3
"Construct"Symbol 434 MovieClip {BasicTower} Frame 4
"Blocked"Symbol 437 MovieClip {BasicTower2} Frame 2
"Open"Symbol 437 MovieClip {BasicTower2} Frame 3
"Construct"Symbol 437 MovieClip {BasicTower2} Frame 4
"Construct"Symbol 442 MovieClip {whiteboardTD2_fla.BasicTowerTurret3_99} Frame 2
"Blocked"Symbol 443 MovieClip {BasicTower3} Frame 2
"Open"Symbol 443 MovieClip {BasicTower3} Frame 3
"Construct"Symbol 443 MovieClip {BasicTower3} Frame 4
"Blocked"Symbol 448 MovieClip {BasicTower5} Frame 2
"Open"Symbol 448 MovieClip {BasicTower5} Frame 3
"Construct"Symbol 448 MovieClip {BasicTower5} Frame 4
"Blocked"Symbol 451 MovieClip {BasicTower6} Frame 2
"Open"Symbol 451 MovieClip {BasicTower6} Frame 3
"Construct"Symbol 451 MovieClip {BasicTower6} Frame 4
"bullet"Symbol 458 MovieClip {BasicTower7} Frame 1
"Blocked"Symbol 458 MovieClip {BasicTower7} Frame 2
"Open"Symbol 458 MovieClip {BasicTower7} Frame 3
"Construct"Symbol 458 MovieClip {BasicTower7} Frame 4
"Blocked"Symbol 461 MovieClip {BasicTower4} Frame 2
"Open"Symbol 461 MovieClip {BasicTower4} Frame 3
"Construct"Symbol 461 MovieClip {BasicTower4} Frame 4
"Blocked"Symbol 464 MovieClip {BasicTower8} Frame 2
"Open"Symbol 464 MovieClip {BasicTower8} Frame 3
"Construct"Symbol 464 MovieClip {BasicTower8} Frame 4
"reveal"Symbol 490 MovieClip {DisplayBoard} Frame 1
"go"Symbol 807 MovieClip {whiteboardTD2_fla.Credits_167} Frame 2
"go"Symbol 851 MovieClip {whiteboardTD2_fla.Instructions_169} Frame 2
"Reveal"Symbol 856 MovieClip {textHighlightReveal} Frame 2
"Reveal"Symbol 862 MovieClip {whiteboardTD2_fla.textMenuUnderline_174} Frame 2




https://swfchan.com/53/264563/info.shtml
Created: 23/5 -2026 11:51:27 Last modified: 23/5 -2026 11:51:27 Server time: 23/05 -2026 19:29:26