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

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/79824590?noj=FRM79824590-25DC" width="1" height="1"></div>

vector-boom.swf

This is the info page for
Flash #119084

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


Text
<p align="center"><font face="Sylfaen" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">86%</font></p>

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

NEWGROUNDS API CONNECTOR

Place this movieclip on your root timeline.
This clip will automatically hide itself unless needed.
(Error messages appear on frames 2 and 3)

NOTICE!

You are not logged in!
As a result, any medals you unlock in this game will NOT
be saved to your profile.

ERROR!

We could not connect to the Newgrounds gateway.
If you are using an ad-blocking application, you may need
to disable it to unlock any medals you earn in this game.

Medal Popup
Place this clip on the root of your movie,
spanning any frames where medals are
called. (this clip is hidden)

Weebl's secret island

MEDAL GET!

100pts

<p align="center"><font face="Vrinda" size="20" color="#ffffff" letterSpacing="2.000000" kerning="1">Your base has been destroyed</font></p>

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

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

<p align="center"><font face="Arial" size="11" color="#ffcc33" letterSpacing="0.000000" kerning="1">Score:</font></p>

<p align="center"><font face="Arial" size="11" color="#ffcc33" letterSpacing="0.000000" kerning="1">Wave:</font></p>

Play More Games!

Play More Games!

Main Menu

Main Menu

Retry Level

Retry Level

You've fended off all enemy units

The universe is once again safe

For now..

Your Score:

<p align="left"><font face="Vrinda" size="20" color="#ffcc33" letterSpacing="2.000000" kerning="1">000000</font></p>

You've Unlocked All Cash Reserves
You will now start missions with $100,000

Click and drag to create a blast radius.
Release to fire.  Firing uses up power.
Power takes time to recharge.
Time can equal deadness.  Good Luck!

BLOW THINGS UP!

PLAY

PLAY

NEXT

NEXT

POWER-UPS!

Destroying this power-up will
temporarily turn your power meter
white and give you unlimited
energy.  Making explosions that
fill the whole screen is
advisable during this period.

Enemies are sucked together
giving you an easy kill.

Creates a protective wall around
your base temporarily.

Max Power

Magnet

Shield

Settings

Graphics

Music

Sound

On

On

Off

Off

High

High

Med

Med

Low

Low

Game By
Music & Sound

Credits

<p align="center"><font face="Century Gothic" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/" target = "_blank">Hero Interactive, LLC</a></font></p><p align="center"><font face="Century Gothic" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/" target = "_blank">www.herointeractive.com</a></font></p><p align="center"><font face="Century Gothic" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/" target = "_blank">Eric Ottati, Jared Riley,</a></font></p><p align="center"><font face="Century Gothic" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/" target = "_blank">Jim Lester, Jason Maynard</a></font></p><p align="center"></p><p align="center"></p><p align="center"><font face="Century Gothic" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.polyphonemusic.com/" target = "_blank">Brian Hall</a></font></p>

Play More Games

Play More Games

Credits

Credits

Settings

Settings

Play Game

Play Game

Normal Mode

Normal Mode

Survival Mode

Survival Mode

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

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

Continue

Continue

PAUSED

Play More Games!

Play More Games!

POWER:

HEALTH:

<p align="center"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Franklin Gothic Demi Cond" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Franklin Gothic Demi Cond" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Franklin Gothic Demi Cond" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Franklin Gothic Demi Cond" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Arial" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="right"><font face="Arial" size="12" color="#ffcc33" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

(?)

UPGRADE

UPGRADE

<p align="center"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

<p align="center"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">-</font></p>

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

Continue Game

Continue Game

<p align="center"><font face="Arial" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>-</b></font></p>

Play More Games!

Play More Games!

SCORE:

<p align="left"><font face="uni 05_54_8pt_st" size="8" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

<p align="right"><font face="uni 05_53_8pt_st" size="8" color="#ffffff" letterSpacing="1.000000" kerning="1">0</font></p>

Fail

SHIELD

MAX POWER

MAGNET

STAGE COMPLETED

Host This Game!

Host This Game!

<p align="center"><font face="Vrinda" size="40" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/rp/" target = "_self">THIS GAME IS <sbr />CURRENTLY EXCLUSIVE <sbr />TO ARMOR GAMES</a></font></p><p align="center"><font face="Vrinda" size="40" color="#ffffff" letterSpacing="0.000000" kerning="1"><a href="http://www.herointeractive.com/rp/" target = "_self">UNTIL 06/12/09</a></font></p>

<p align="center"><font face="Vrinda" size="19" color="#ffffff" letterSpacing="1.000000" kerning="1"><a href="http://www.herointeractive.com/rp/" target = "_self">Visit Hero Interactive&apos;s Release</a></font></p><p align="center"><font face="Vrinda" size="19" color="#ffffff" letterSpacing="1.000000" kerning="1"><a href="http://www.herointeractive.com/rp/" target = "_self">Package Page for Further Details</a></font></p><p align="center"></p><p align="center"><font face="Vrinda" size="19" color="#ffffff" letterSpacing="1.000000" kerning="1"><a href="http://www.herointeractive.com/rp/" target = "_self">http://www.herointeractive.com/rp/</a></font></p>

ActionScript [AS3]

Section 1
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import flash.utils.*; import com.adobe.utils.*; public class MD5 { public static var digest:ByteArray; private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (hashBinary(_local2)); } private static function createBlocks(_arg1:ByteArray):Array{ var _local2:Array = new Array(); var _local3:int = (_arg1.length * 8); var _local4 = 0xFF; var _local5:int; while (_local5 < _local3) { _local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32))); _local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3; return (_local2); } public static function hashBinary(_arg1:ByteArray):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local2 = 1732584193; var _local3 = -271733879; var _local4 = -1732584194; var _local5 = 271733878; var _local10:Array = createBlocks(_arg1); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; digest = new ByteArray(); digest.writeInt(_local2); digest.writeInt(_local3); digest.writeInt(_local4); digest.writeInt(_local5); digest.position = 0; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hashBytes(_arg1:ByteArray):String{ return (hashBinary(_arg1)); } } }//package com.adobe.crypto
Section 2
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package com.adobe.serialization.json
Section 3
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ tokenizer = new JSONTokenizer(_arg1); nextToken(); value = parseValue(); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (token.type == JSONTokenType.STRING){ _local2 = String(token.value); nextToken(); if (token.type == JSONTokenType.COLON){ nextToken(); _local1[_local2] = parseValue(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting } or , but found " + token.value)); }; } else { tokenizer.parseError(("Expecting : but found " + token.value)); }; } else { tokenizer.parseError(("Expecting string but found " + token.value)); }; }; return (null); } private function parseValue():Object{ if (token == null){ tokenizer.parseError("Unexpected end of input"); }; switch (token.type){ case JSONTokenType.LEFT_BRACE: return (parseObject()); case JSONTokenType.LEFT_BRACKET: return (parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (token.value); default: tokenizer.parseError(("Unexpected " + token.value)); }; return (null); } private function nextToken():JSONToken{ return ((token = tokenizer.getNextToken())); } public function getValue(){ return (value); } private function parseArray():Array{ var _local1:Array = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(parseValue()); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting ] or , but found " + token.value)); }; }; return (null); } } }//package com.adobe.serialization.json
Section 4
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ jsonString = convertToString(_arg1); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2 = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } public function getString():String{ return (jsonString); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(key) + ":") + convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (objectToString(_arg1)); }; }; }; return ("null"); } } }//package com.adobe.serialization.json
Section 5
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; _location = _arg2; _text = _arg3; } public function get location():int{ return (_location); } public function get text():String{ return (_text); } } }//package com.adobe.serialization.json
Section 6
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _value:Object; private var _type:int; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ _type = _arg1; _value = _arg2; } public function get value():Object{ return (_value); } public function get type():int{ return (_type); } public function set type(_arg1:int):void{ _type = _arg1; } public function set value(_arg1:Object):void{ _value = _arg1; } } }//package com.adobe.serialization.json
Section 7
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var loc:int; private var ch:String; private var obj:Object; private var jsonString:String; public function JSONTokenizer(_arg1:String){ jsonString = _arg1; loc = 0; nextChar(); } private function skipComments():void{ if (ch == "/"){ nextChar(); switch (ch){ case "/": do { nextChar(); } while (((!((ch == "\n"))) && (!((ch == ""))))); nextChar(); break; case "*": nextChar(); while (true) { if (ch == "*"){ nextChar(); if (ch == "/"){ nextChar(); break; }; } else { nextChar(); }; if (ch == ""){ parseError("Multi-line comment not closed"); }; }; break; default: parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )")); }; }; } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2 = ""; nextChar(); while (((!((ch == "\""))) && (!((ch == ""))))) { if (ch == "\\"){ nextChar(); switch (ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!isHexDigit(nextChar())){ parseError((" Excepted a hex digit, but found: " + ch)); }; _local3 = (_local3 + ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + ch)); }; } else { _local2 = (_local2 + ch); }; nextChar(); }; if (ch == ""){ parseError("Unterminated string literal"); }; nextChar(); _local1.value = _local2; return (_local1); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); skipIgnored(); switch (ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; nextChar(); break; case "t": _local2 = ((("t" + nextChar()) + nextChar()) + nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; nextChar(); } else { parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; nextChar(); } else { parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + nextChar()) + nextChar()) + nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; nextChar(); } else { parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = readString(); break; default: if (((isDigit(ch)) || ((ch == "-")))){ _local1 = readNumber(); } else { if (ch == ""){ return (null); }; parseError((("Unexpected " + ch) + " encountered")); }; }; return (_local1); } private function skipWhite():void{ while (isWhiteSpace(ch)) { nextChar(); }; } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function skipIgnored():void{ var _local1:int; do { _local1 = loc; skipWhite(); skipComments(); } while (_local1 != loc); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2 = ""; if (ch == "-"){ _local2 = (_local2 + "-"); nextChar(); }; if (!isDigit(ch)){ parseError("Expecting a digit"); }; if (ch == "0"){ _local2 = (_local2 + ch); nextChar(); if (isDigit(ch)){ parseError("A digit cannot immediately follow 0"); }; } else { while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); if (!isDigit(ch)){ parseError("Expecting a digit"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if ((((ch == "e")) || ((ch == "E")))){ _local2 = (_local2 + "e"); nextChar(); if ((((ch == "+")) || ((ch == "-")))){ _local2 = (_local2 + ch); nextChar(); }; if (!isDigit(ch)){ parseError("Scientific notation number needs exponent value"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } } }//package com.adobe.serialization.json
Section 8
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const NUMBER:int = 11; public static const FALSE:int = 8; public static const RIGHT_BRACKET:int = 4; public static const NULL:int = 9; public static const TRUE:int = 7; public static const RIGHT_BRACE:int = 2; public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACKET:int = 3; public static const STRING:int = 10; public static const LEFT_BRACE:int = 1; public static const COLON:int = 6; } }//package com.adobe.serialization.json
Section 9
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local4:int; var _local5:int; var _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 10
//StringUtil (com.adobe.utils.StringUtil) package com.adobe.utils { public class StringUtil { public static function beginsWith(_arg1:String, _arg2:String):Boolean{ return ((_arg2 == _arg1.substring(0, _arg2.length))); } public static function trim(_arg1:String):String{ return (StringUtil.ltrim(StringUtil.rtrim(_arg1))); } public static function stringsAreEqual(_arg1:String, _arg2:String, _arg3:Boolean):Boolean{ if (_arg3){ return ((_arg1 == _arg2)); }; return ((_arg1.toUpperCase() == _arg2.toUpperCase())); } public static function replace(_arg1:String, _arg2:String, _arg3:String):String{ var _local9:Number; var _local4:String = new String(); var _local5:Boolean; var _local6:Number = _arg1.length; var _local7:Number = _arg2.length; var _local8:Number = 0; while (_local8 < _local6) { if (_arg1.charAt(_local8) == _arg2.charAt(0)){ _local5 = true; _local9 = 0; while (_local9 < _local7) { if (_arg1.charAt((_local8 + _local9)) != _arg2.charAt(_local9)){ _local5 = false; break; }; _local9++; }; //unresolved if _local4 = (_local4 + _arg3); _local8 = (_local8 + (_local7 - 1)); } else { _local4 = (_local4 + _arg1.charAt(_local8)); }; _local8++; }; return (_local4); } public static function rtrim(_arg1:String):String{ var _local2:Number = _arg1.length; var _local3:Number = _local2; while (_local3 > 0) { if (_arg1.charCodeAt((_local3 - 1)) > 32){ return (_arg1.substring(0, _local3)); }; _local3--; }; return (""); } public static function endsWith(_arg1:String, _arg2:String):Boolean{ return ((_arg2 == _arg1.substring((_arg1.length - _arg2.length)))); } public static function stringHasValue(_arg1:String):Boolean{ return (((!((_arg1 == null))) && ((_arg1.length > 0)))); } public static function remove(_arg1:String, _arg2:String):String{ return (StringUtil.replace(_arg1, _arg2, "")); } public static function ltrim(_arg1:String):String{ var _local2:Number = _arg1.length; var _local3:Number = 0; while (_local3 < _local2) { if (_arg1.charCodeAt(_local3) > 32){ return (_arg1.substring(_local3)); }; _local3++; }; return (""); } } }//package com.adobe.utils
Section 11
//BaseN (com.newgrounds.BaseN) package com.newgrounds { import flash.utils.*; public class BaseN { private var _hashVal:Dictionary; private var _hashIndex:String; private var _base:Number; public function BaseN(_arg1:String=null){ if (_arg1){ _hashIndex = _arg1; } else { _hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }; _base = _hashIndex.length; _hashVal = new Dictionary(); var _local2:uint; while (_local2 < _base) { _hashVal[_hashIndex.charAt(_local2)] = _local2; _local2++; }; } public function encode(_arg1:Number, _arg2:uint=1):String{ var _local3:String = _arg1.toString(); var _local4 = ""; if (_local3.charAt(0) == "-"){ _local4 = "-"; _local3 = _local3.substring(1); }; var _local5:Array = _local3.split(".", 2); _local4 = (_local4 + baseNEncoder(_local5[0], _arg2)); if (_local5.length > 1){ _local4 = (_local4 + ("." + baseNEncoder(_local5[1]))); }; return (_local4); } private function baseNDecoder(_arg1:String):uint{ var _local2:uint; var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 * _base); _local2 = (_local2 + _hashVal[_arg1.charAt(_local3)]); _local3++; }; return (_local2); } public function decode(_arg1:String):Number{ var _local2 = ""; if (_arg1.charAt(0) == "-"){ _local2 = "-"; _arg1 = _arg1.substring(1); }; var _local3:Array = _arg1.split(".", 2); _local2 = (_local2 + baseNDecoder(_local3[0])); if (_local3.length > 1){ _local2 = (_local2 + "."); _local2 = (_local2 + baseNDecoder(_local3[1])); }; return (Number(_local2)); } private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{ var _local3 = ""; var _local4:uint = _arg1; while (_local4 != 0) { _local3 = (_hashIndex.charAt((_local4 % _base)) + _local3); _local4 = (_local4 / _base); }; if (_arg2){ while (_local3.length < _arg2) { _local3 = (_hashIndex.charAt(0) + _local3); }; }; return (_local3); } } }//package com.newgrounds
Section 12
//NewgroundsAPI (com.newgrounds.NewgroundsAPI) package com.newgrounds { import flash.events.*; import flash.display.*; import flash.utils.*; import com.adobe.serialization.json.*; import flash.net.*; import flash.text.*; import com.adobe.crypto.*; import flash.system.*; public class NewgroundsAPI extends EventDispatcher { private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/"; public static const events:Object = {MOVIE_CONNECTED:1, ADS_APPROVED:2, AD_ATTACHED:3, HOST_BLOCKED:4, NEW_VERSION_AVAILABLE:5, EVENT_LOGGED:6, SCORE_POSTED:7, SCORES_LOADED:8, MEDAL_UNLOCKED:9, MEDALS_LOADED:10, FILE_PRIVS_LOADED:11, FILE_SAVED:12}; private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/"; private static const REMOVED_FROM_STAGE:String = "removedFromStage"; private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php"; private static var connected:Boolean; private static var error_format:TextFormat; private static var user_id:Number; private static var _initialized:Boolean = false; private static var ad_swf_url:String; private static var ad:Loader; private static var user_email:String; private static var ad_reset:Number = 0; private static var publisher_id:Number; private static var listeners:Array = setDefaultListeners(); private static var debug:Boolean; private static var normal_format:TextFormat; private static var do_echo:Boolean = false; private static var ad_url:String; private static var medals:Array = null; private static var session_id:String; private static var timeoutTimer:Timer; public static var errors:Dictionary = NewgroundsAPIError.init_codes(); private static var adURLLoader:URLLoader; private static var tracker_id:uint; private static var user_name:String; private static var movie_id:String; private static var adContainer:Sprite; private static var encryption_key:String; private static var flashAdTarget:DisplayObjectContainer; private static var host:String; private static var loaders:Array = []; private static var compressor:BaseN = new BaseN(compression_radix); private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}}; private static var score_page_counts:Object = new Object(); private static var version:String; private static var link_format:TextFormat; public static var periods:Object = getPeriodAliases(); private static var root:DisplayObject; private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; private static var sharedObjects:Object = new Object(); private static var header_format:TextFormat; private static var save_file = null; public static function setMovieVersion(_arg1:String):void{ if (_arg1){ version = String(_arg1); }; } public static function unlockMedal(_arg1:String, _arg2:Boolean=false):void{ if (!_arg1){ sendError({command_id:getCommandID("unlockMedal")}, new NewgroundsAPIError("MISSING_PARAM", "missing required medal name")); return; }; var _local3:Object = new Object(); _local3.medal = _arg1; _local3.get_score = _arg2; sendSecureCommand("unlockMedal", _local3); } private static function uncompressHex(_arg1:String):String{ var _local4:uint; var _local6:String; var _local7:uint; var _local8:String; var _local2:uint = uint(_arg1.charAt(0)); var _local3 = ""; var _local5:uint = 1; while (_local5 < _arg1.length) { _local6 = _arg1.substr(_local5, 4); _local7 = uint(compressor.decode(_local6)); _local8 = _local7.toString(16); if ((_local5 + 4) < _arg1.length){ _local4 = 6; } else { _local4 = _local2; }; while (_local8.length < _local4) { _local8 = ("0" + _local8); }; _local3 = (_local3 + _local8); _local5 = (_local5 + 4); }; return (_local3); } public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{ var _local6:Array = Capabilities.version.split(" ")[1].split(","); var _local7:Array = arguments; var _local8:uint; while (_local8 < _local7.length) { _local6[_local8] = uint(_local6[_local8]); _local8++; }; _local8 = 0; while (_local8 < _local7.length) { if (_local6[_local8] > _local7[_local8]){ return (true); }; if (_local6[_local8] < _local7[_local8]){ return (false); }; _local8++; }; return (true); } public static function loadLocal(_arg1:String){ var _local2:SharedObject; if (!sharedObjects[_arg1]){ sharedObjects[_arg1] = SharedObject.getLocal(((("ng_ap_secure_" + movie_id) + "_") + _arg1)); }; _local2 = sharedObjects[_arg1]; _local2.flush(); if (_local2.data[_arg1]){ return (decodeData(sharedObjects.data[_arg1])); }; return (null); } public static function hasUserEmail():Boolean{ return (((!((user_email == null))) && (!((user_email == ""))))); } private static function getHost():String{ return (host); } public static function getYesterdaysScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "y", _arg2, "getYesterdaysScores"); } public static function onNewVersionAvailable(_arg1:Object, _arg2:Object):void{ } private static function echo(_arg1:String):void{ if (do_echo){ }; } public static function attachFlashAd(_arg1:DisplayObjectContainer):void{ var _local2:URLRequest; Security.allowDomain("http://server.cpmstar.com"); Security.allowDomain("http://www.cpmstar.com"); Security.allowDomain("https://server.cpmstar.com"); Security.allowDomain("https://www.cpmstar.com"); Security.allowInsecureDomain("http://server.cpmstar.com"); Security.allowInsecureDomain("http://www.cpmstar.com"); Security.allowInsecureDomain("https://server.cpmstar.com"); Security.allowInsecureDomain("https://www.cpmstar.com"); flashAdTarget = _arg1; sendMessage("You may get a security sandbox violation from this ad. This is nothing to worry about!"); if (resetAdTimer()){ if (ad_url){ adURLLoader = new URLLoader(); adURLLoader.addEventListener(Event.COMPLETE, adLoaderHandler); adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if (ad_url.indexOf("?") > -1){ _local2 = new URLRequest(((ad_url + "&random=") + Math.random())); adURLLoader.load(_local2); } else { _local2 = new URLRequest(((ad_url + "?random=") + Math.random())); adURLLoader.load(_local2); }; }; } else { renderAd(_arg1); }; } public static function getThisMonthsScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "m", _arg2, "getThisMonthsScores"); } public static function getScores(_arg1:String, _arg2:String, _arg3:Object=null, _arg4:String=null):void{ var _local5:String; if (!_arg3){ _arg3 = new Object(); }; if (!hasUserSession()){ callListener(events.SCORES_LOADED, false, new NewgroundsAPIError("SITE_ID_REQUIRED", (("Host '" + getHost()) + "' does not have high scores enabled"))); return; }; _arg3.publisher_id = publisher_id; _arg3.period = _arg2; _arg3.score = _arg1; if (_arg3.user_id){ _local5 = _arg2; } else { _local5 = (_arg2 + "-u"); }; if (score_page_counts[_local5] == undefined){ _arg3.request_page_count = true; }; sendCommand("getScores", _arg3); } public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null):void{ if (((((!(debug)) && (!(hasUserSession())))) && (!(hasUserEmail())))){ sendError({command_id:getCommandID(_arg1)}, new NewgroundsAPIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "()."))); return; }; if (!_arg1){ fatalError("Missing command", "sendSecureCommand"); }; if (!_arg2){ fatalError("Missing secure_params", "sendSecureCommand"); }; if (!_arg3){ _arg3 = new Object(); }; var _local5 = ""; var _local6:uint; while (_local6 < 16) { _local5 = (_local5 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length)))); _local6++; }; if (debug){ _arg2.session_id = ""; } else { _arg2.session_id = session_id; }; _arg2.as_version = 3; _arg2.user_email = user_email; _arg2.publisher_id = publisher_id; _arg2.seed = _local5; _arg2.command_id = getCommandID(_arg1); var _local7:String = MD5.hash(_local5); var _local8:String = RC4.encrypt(JSON.encode(_arg2), encryption_key); var _local9:String = (_local7 + _local8); _arg3.secure = compressHex(_local9); sendCommand("securePacket", _arg3, false, _arg4); } private static function initTextFormats():void{ if (!error_format){ error_format = new TextFormat(); error_format.font = "Arial Black"; error_format.size = 48; error_format.color = 0xFF0000; }; if (!header_format){ header_format = new TextFormat(); header_format.font = "Arial Black"; header_format.size = 24; header_format.color = 0xFFFFFF; }; if (!normal_format){ normal_format = new TextFormat(); normal_format.font = "Arial"; normal_format.bold = true; normal_format.size = 12; normal_format.color = 0xFFFFFF; }; if (!link_format){ link_format = new TextFormat(); link_format.color = 0xFFFF00; link_format.underline = true; }; } private static function getCommandName(_arg1:String):String{ return (_arg1); } private static function getPeriodAliases():Object{ var _local2:String; var _local1:Object = new Object(); for (_local2 in period_aliases) { _local1[period_aliases[_local2].alias] = _local2; }; return (_local1); } public static function removeEventListener(_arg1:uint):void{ delete listeners[_arg1]; } public static function getThisWeeksScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "w", _arg2, "getThisWeeksScores"); } public static function setUserEmail(_arg1:String):void{ user_email = _arg1; } public static function hasUserSession():Boolean{ return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0))))); } public static function getMedals():Array{ return (medals); } public static function addEventListener(_arg1:uint, _arg2:Function, _arg3:Object=null):void{ listeners[_arg1] = {listener:_arg2, params:_arg3}; } private static function callListener(_arg1:uint, _arg2:Boolean, _arg3=undefined, _arg4=undefined):void{ echo(("Fired Event: " + getEventName(_arg1))); if (listeners[_arg1]){ if ((_arg3 is NewgroundsAPIError)){ listeners[_arg1].listener({event:_arg1, success:_arg2, error:_arg3, target:_arg4}, listeners[_arg1].params); } else { listeners[_arg1].listener({event:_arg1, success:_arg2, data:_arg3, target:_arg4}, listeners[_arg1].params); }; }; } private static function compressHex(_arg1:String):String{ var _local2:uint = (_arg1.length % 6); var _local3 = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4)); _local4 = (_local4 + 6); }; return ((_local2.toString() + _local3)); } private static function adLoaderHandler(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); if (_local2.data){ ad_swf_url = String(_local2.data); } else { ad_swf_url = null; }; renderAd(flashAdTarget); } public static function checkFilePrivs(_arg1:String, _arg2:String):void{ var _local3:uint; if (user_id){ _local3 = user_id; } else { _local3 = 0; }; var _local4:Object = {folder:_arg1, filename:_arg2, user_id:_local3, publisher_id:publisher_id}; sendCommand("checkFilePrivs", _local4); } public static function connectMovie(_arg1:DisplayObject, _arg2:String, _arg3:String, _arg4:Boolean):void{ initialize(_arg1); if (connected){ return; }; timeoutTimer.start(); if (!_arg2){ fatalError("NewgroundsAPI.connectMovie() - missing required movie_id parameter", "connectMovie"); }; movie_id = String(_arg2); tracker_id = uint(movie_id.substring(0, movie_id.indexOf(":"))); encryption_key = _arg3; debug = _arg4; connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } private static function sendMessage(_arg1:String, _arg2:Boolean=false):String{ var _local3:String = ("[NewgroundsAPI] :: " + _arg1); if (_arg2){ return (_local3); }; return (null); } private static function renderAd(_arg1:DisplayObjectContainer):void{ var _local2:Shape; var _local3:Shape; if (ad){ removeAd(); }; if (ad_swf_url){ _local2 = new Shape(); _local2.graphics.beginFill(0); _local2.graphics.moveTo(0, 0); _local2.graphics.lineTo(300, 0); _local2.graphics.lineTo(300, 250); _local2.graphics.lineTo(0, 250); _local2.graphics.lineTo(0, 0); _local2.graphics.endFill(); _local3 = new Shape(); _local3.graphics.beginFill(0); _local3.graphics.moveTo(0, 0); _local3.graphics.lineTo(300, 0); _local3.graphics.lineTo(300, 250); _local3.graphics.lineTo(0, 250); _local3.graphics.lineTo(0, 0); _local3.graphics.endFill(); ad = new Loader(); adContainer = new Sprite(); adContainer.addChild(_local2); adContainer.addChild(ad); adContainer.addChild(_local3); ad.mask = _local3; _arg1.addChild(adContainer); if (isFlashVersion(9, 0, 28)){ adContainer.addEventListener(REMOVED_FROM_STAGE, removeAdHandler); }; ad.load(new URLRequest(ad_swf_url)); callListener(events.AD_ATTACHED, true, null, _arg1); } else { callListener(events.AD_ATTACHED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")); }; } private static function fatalError(_arg1:String, _arg2:String):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; throw (new Error(("***ERROR*** class=NewgroundsAPI\n\n" + _arg1))); } private static function ioErrorHandler(_arg1:IOErrorEvent):void{ sendWarning(("Ad failed to load:" + _arg1.toString())); } private static function sendError(_arg1:Object, _arg2:NewgroundsAPIError):void{ } public static function connectionTimeOut(_arg1:Event=null):void{ callListener(events.MOVIE_CONNECTED, false, new NewgroundsAPIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")); } private static function setDefaultListeners():Array{ var _local1:Array = new Array(); _local1[events.HOST_BLOCKED] = {listener:doBlockHost}; _local1[events.NEW_VERSION_AVAILABLE] = {listener:onNewVersionAvailable}; return (_local1); } public static function hasPublisher():Boolean{ return (!((publisher_id == 0))); } public static function getEventName(_arg1:uint):String{ var _local2:String; for (_local2 in events) { if (events[_local2] == _arg1){ return (_local2); }; }; return (undefined); } public static function initialize(_arg1:DisplayObject):void{ var _local2:Object; if (_initialized){ return; }; _initialized = true; NewgroundsAPI.root = _arg1; timeoutTimer = new Timer(8000, 1); if (_arg1.loaderInfo){ _local2 = _arg1.loaderInfo.parameters; host = _arg1.loaderInfo.url; }; if (_local2){ user_name = _local2.NewgroundsAPI_UserName; user_id = _local2.NewgroundsAPI_UserID; publisher_id = _local2.NewgroundsAPI_PublisherID; session_id = _local2.NewgroundsAPI_SessionID; } else { publisher_id = 1; session_id = null; user_id = 0; user_name = "Guest"; }; if ((((host.indexOf("http://") > -1)) || ((host.indexOf("https://") > -1)))){ host = host.split("/")[2].toLowerCase(); } else { host = "localhost"; }; } private static function removeAdHandler(_arg1:Event):void{ removeAd(); } private static function resetAdTimer():Boolean{ if (!ad_url){ return (false); }; var _local1:Date = new Date(); if (_local1.getTime() >= ad_reset){ ad_reset = (_local1.getTime() + ((1000 * 60) * 5)); return (true); }; return (false); } public static function loadCustomLink(_arg1:String):void{ sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true); } public static function loadMySite():void{ sendCommand("loadMySite", {host:getHost()}); } public static function saveFile(_arg1:String, _arg2:String, _arg3:Object, _arg4):void{ } public static function getTodaysScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "t", _arg2, "getTodaysScores"); } private static function doBlockHost(_arg1:Object):void{ } private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null):void{ var _local6:String; var _local8:String; var _local9:Array; var _local10:String; var _local11:URLLoader; if (((!(connected)) && (!((_arg1 == "connectMovie"))))){ _local8 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n"); fatalError(_local8, "connectMovie"); }; var _local5:URLVariables = new URLVariables(); _local5.command_id = getCommandID(_arg1); _local5.tracker_id = movie_id; if (debug){ _local5.debug = debug; }; if (_arg2){ for (_local6 in _arg2) { _local5[_local6] = _arg2[_local6]; }; }; if (_arg4){ for (_local6 in _arg4) { _local5[_local6] = _arg4[_local6]; }; }; echo((("OUTPUT: \n" + JSON.encode(_local5)) + "\n")); var _local7:URLRequest = new URLRequest(((GATEWAY_URL + "?seed=") + Math.random())); _local7.data = _local5; if (_arg3){ _local7.method = URLRequestMethod.GET; _local7.data = _local5; navigateToURL(_local7, "_blank"); } else { _local9 = new Array(); for (_local10 in _local5) { _local9.push(((_local10 + "=") + escape(_local5[_local10]))); }; echo(((("POST " + GATEWAY_URL) + "?") + _local9.join("&"))); _local7.method = URLRequestMethod.POST; _local11 = new URLLoader(); _local11.addEventListener(Event.COMPLETE, loaderHandler); loaders.push(_local11); _local11.load(_local7); }; } public static function getConfirmation(_arg1:String, _arg2:uint, _arg3:String, _arg4:Object, _arg5:String, _arg6:String):void{ } private static function loaderHandler(_arg1:Event):void{ var _local4:Object; var _local5:NewgroundsAPIError; var _local2:URLLoader = URLLoader(_arg1.target); echo((("INPUT: \n" + _local2.data) + "\n")); var _local3:uint; while (_local3 < loaders.length) { if (loaders[_local3] == _local2){ loaders.splice(_local3, 1); break; }; _local3++; }; if (_local2.data){ _local4 = JSON.decode(_local2.data); } else { _local4 = {success:false}; }; if (!_local4.success){ _local5 = new NewgroundsAPIError(_local4.error_code, _local4.error_msg); sendError(_local4, _local5); } else { doEvent(_local4); }; } public static function loadNewgrounds():void{ sendCommand("loadNewgrounds", {host:getHost()}, true); } public static function getOfficialVersionURL():String{ var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + movie_id) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random()); if (debug){ _local1 = (_local1 + "&debug=1"); }; return (_local1); } public static function getFiles(_arg1:String, _arg2:Object):void{ } public static function logCustomEvent(_arg1:String):void{ sendCommand("logCustomEvent", {host:getHost(), event:_arg1}); } public static function removeAd():void{ if (adURLLoader){ try { adURLLoader.close(); } catch(e:Error) { }; adURLLoader = null; }; if (ad){ try { ad.close(); } catch(e:Error) { }; try { Object(ad).unloadAndStop(true); } catch(e:Error) { ad.unload(); }; if (ad.parent){ ad.parent.removeChild(ad); }; }; if (adContainer){ if (isFlashVersion(9, 0, 28, 0)){ adContainer.removeEventListener(REMOVED_FROM_STAGE, removeAdHandler); }; if (adContainer.parent){ adContainer.parent.removeChild(adContainer); }; }; ad = null; adContainer = null; } public static function postScore(_arg1:String, _arg2:Number, _arg3:Boolean):void{ sendSecureCommand("postScore", {score:_arg1, value:_arg2, get_best:_arg3}); } public static function finishFileSave(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean, _arg5, _arg6):void{ } private static function sendNotice(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; } public static function decodeData(_arg1:String){ return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), encryption_key))); } public static function encodeData(_arg1:Object):String{ return (compressHex(RC4.encrypt(JSON.encode(_arg1), encryption_key))); } public static function getThisYearsScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "y", _arg2, "getThisYearsScores"); } private static function doEvent(_arg1:Object):void{ var _local2:String; var _local3:Object; var _local4:String; var _local5:Boolean; var _local6:String; var _local7:uint; switch (getCommandName(_arg1.command_id)){ case "connectMovie": timeoutTimer.stop(); sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\"")); callListener(events.MOVIE_CONNECTED, _arg1.success, {movie_name:_arg1.movie_name}); _local5 = false; if (_arg1.ad_status === -1){ _local2 = "This movie was not approved to run Flash Ads."; sendWarning(_local2); sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines")); if (!_arg1.ad_url){ callListener(events.ADS_APPROVED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; } else { if (_arg1.ad_status === 0){ _local2 = "Flash Ads are currently awaiting approval."; sendNotice(_local2); if (!_arg1.ad_url){ callListener(events.ADS_APPROVED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; }; }; if (_arg1.ad_url){ ad_url = unescape(_arg1.ad_url); if (!_local5){ sendMessage("This movie has been approved to run Flash Ads!"); }; callListener(events.ADS_APPROVED, true); }; if (_arg1.deny_host){ _local2 = (getHost() + " does not have permission to run this movie!"); sendWarning(_local2); sendWarning(("\tUpdate your API configuration to unblock " + getHost())); callListener(events.HOST_BLOCKED, true, {movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()}); }; if (_arg1.movie_version){ sendWarning("According to your API Configuration, this version is out of date."); if (version){ sendWarning(("\tThe this movie is version " + version)); }; sendWarning(("\tThe most current version is " + _arg1.movie_version)); callListener(events.NEW_VERSION_AVAILABLE, true, {movie_version:_arg1.movie_version, movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()}); }; if (_arg1.request_portal_url){ sendCommand("setPortalID", {portal_url:host}); }; break; case "logCustomEvent": if (_arg1.success){ sendMessage((("Event '" + _arg1.event) + "' was logged.")); }; callListener(events.EVENT_LOGGED, _arg1.success, {event:_arg1.event}); break; case "postScore": if (_arg1.success){ _local4 = "User"; if (user_email){ _local4 = user_email; } else { if (user_name){ _local4 = user_name; }; }; sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _arg1.score) + "'")); _local3 = {score:_arg1.score, value:_arg1.value, username:_local4}; }; callListener(events.SCORE_POSTED, _arg1.success, _local3); break; case "getScores": if (_arg1.user_id){ _local6 = _arg1.period; } else { _local6 = (_arg1.period + "-u"); }; if (_arg1.total_pages){ score_page_counts[_local6] = _arg1.total_pages; }; _local3.user_id = _arg1.user_id; _local3.current_page = _arg1.current_page; _local3.total_pages = score_page_counts[_local6]; _local3.scores = _arg1.scores; _local3.period = getPeriodName(_arg1.period); callListener(events.SCORES_LOADED, _arg1.success, _local3); break; case "unlockMedal": if (medals){ _local7 = 0; while (_local7 < medals.length) { if (medals[_local7].medal_name === _arg1.medal_name){ medals[_local7].medal_unlocked = true; break; }; _local7++; }; }; _local3 = {medal_name:_arg1.medal_name, medal_value:_arg1.medal_value, medal_difficulty:_arg1.medal_difficulty}; callListener(events.MEDAL_UNLOCKED, _arg1.success, _local3); break; case "getMedals": medals = _arg1.medals; _local3 = {medals:_arg1.medals}; callListener(events.MEDALS_LOADED, _arg1.success, _local3); break; case "getFiles": break; case "getSystemFiles": break; case "saveFile": save_file = null; _local3 = {file_id:_arg1.file_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon}; callListener(events.FILE_SAVED, _arg1.success, _local3); break; case "checkFilePrivs": if (save_file){ save_file.checkPrivs(_arg1); } else { _local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write}; callListener(events.FILE_PRIVS_LOADED, _arg1.success, _local3); }; break; }; } public static function getPeriodAlias(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].alias); }; }; return (null); } public static function loadMedals():void{ if (medals){ callListener(events.MEDALS_LOADED, true, {medals:medals}); return; }; var _local1:Object = new Object(); if (hasUserSession()){ _local1.publisher_id = publisher_id; _local1.user_id = user_id; }; sendCommand("getMedals", _local1); } public static function saveLocal(_arg1:String, _arg2, _arg3:uint=0):void{ var _local4:SharedObject; if (!sharedObjects[_arg1]){ sharedObjects[_arg1] = SharedObject.getLocal(((("ng_ap_secure_" + movie_id) + "_") + _arg1)); }; _local4 = sharedObjects[_arg1]; _local4.data[_arg1] = encodeData(_arg2); _local4.flush(); } public static function getPeriodName(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].name); }; }; return (null); } private static function sendWarning(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; } public static function isNewgrounds():Boolean{ return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1)))); } private static function getCommandID(_arg1:String):String{ return (_arg1); } public static function getAlltimeScores(_arg1:String, _arg2:Object):void{ getScores(_arg1, "a", _arg2, "getAlltimeScores"); } } }//package com.newgrounds
Section 13
//NewgroundsAPIError (com.newgrounds.NewgroundsAPIError) package com.newgrounds { import flash.utils.*; public class NewgroundsAPIError { public var alias:String; public var message:String; public var name:String; public var code:Number;// = 0 private static const always_caps:Array = new Array("API", "URL", "ID"); public static const error_names:Object = init_names(); public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED"); public static const error_codes:Object = init_codes(); public function NewgroundsAPIError(_arg1, _arg2:String){ if ((_arg1 is String)){ _arg1 = error_codes[_arg1]; } else { if (!(_arg1 is uint)){ _arg1 = 0; }; }; code = _arg1; message = _arg2; name = error_names[_arg1]; alias = aliases[_arg1]; } public function isError():Boolean{ return (true); } private static function init_names():Array{ var _local3:Array; var _local4:uint; var _local5:String; var _local1:Array = new Array(); var _local2:uint; while (_local2 < aliases.length) { _local3 = aliases[_local2].toLowerCase().split("_"); _local4 = 0; while (_local4 < _local3.length) { _local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length)); for each (_local5 in always_caps) { if (_local3[_local4].toUpperCase() == _local5){ _local3[_local4] = _local3[_local4].toUpperCase(); }; }; _local4++; }; _local1[_local2] = _local3.join(" "); _local2++; }; return (_local1); } public static function init_codes():Dictionary{ var _local1:Dictionary = new Dictionary(); var _local2:uint; while (_local2 < aliases.length) { _local1[aliases[_local2]] = _local2; _local2++; }; return (_local1); } } }//package com.newgrounds
Section 14
//RC4 (com.newgrounds.RC4) package com.newgrounds { public class RC4 { private static var mykey:Array = new Array(0xFF); private static var sbox:Array = new Array(0xFF); private static function charsToHex(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local4:uint; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } public static function encrypt(_arg1:String, _arg2:String):String{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToHex(_local5)); } private static function hexToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } public static function encryptbin(_arg1:String, _arg2:String):Array{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (_local5); } public static function decrypt(_arg1:String, _arg2:String):String{ var _local3:Array = hexToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToStr(_local5)); } private static function strToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } private static function calculate(_arg1:Array, _arg2:Array):Array{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; initialize(_arg2); var _local3:uint; var _local4:uint; var _local5:Array = new Array(); var _local9:uint; while (_local9 < _arg1.length) { _local3 = ((_local3 + 1) % 0x0100); _local4 = ((_local4 + sbox[_local3]) % 0x0100); _local7 = sbox[_local3]; sbox[_local3] = sbox[_local4]; sbox[_local4] = _local7; _local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100); _local6 = sbox[_local10]; _local8 = (_arg1[_local9] ^ _local6); _local5.push(_local8); _local9++; }; return (_local5); } private static function initialize(_arg1:Array):void{ var _local3:uint; var _local2:uint; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 <= 0xFF) { mykey[_local5] = _arg1[(_local5 % _local4)]; sbox[_local5] = _local5; _local5++; }; _local5 = 0; while (_local5 <= 0xFF) { _local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100); _local3 = sbox[_local5]; sbox[_local5] = sbox[_local2]; sbox[_local2] = _local3; _local5++; }; } private static function charsToStr(_arg1:Array):String{ var _local2:String = new String(""); var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 15
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader { private static var cpmstarLoader:Loader; public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{ Security.allowDomain("server.cpmstar.com"); var _local3 = "http://server.cpmstar.com/adviewas3.swf"; cpmstarLoader = new Loader(); cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2))); return (cpmstarLoader); } } }//package CPMStar
Section 16
//ag_intro_mc_181 (vector_boom_fla.ag_intro_mc_181) package vector_boom_fla { import flash.display.*; public dynamic class ag_intro_mc_181 extends MovieClip { public function ag_intro_mc_181(){ addFrameScript(0, frame1, 178, frame179); } function frame1(){ gotoAndPlay(2); } function frame179(){ stop(); } } }//package vector_boom_fla
Section 17
//animatedparticles1_63 (vector_boom_fla.animatedparticles1_63) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles1_63 extends MovieClip { public function animatedparticles1_63(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package vector_boom_fla
Section 18
//animatedparticles2_65 (vector_boom_fla.animatedparticles2_65) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles2_65 extends MovieClip { public function animatedparticles2_65(){ addFrameScript(21, frame22); } function frame22(){ stop(); } } }//package vector_boom_fla
Section 19
//animatedparticles3_67 (vector_boom_fla.animatedparticles3_67) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles3_67 extends MovieClip { public function animatedparticles3_67(){ addFrameScript(47, frame48); } function frame48(){ stop(); } } }//package vector_boom_fla
Section 20
//animatedparticles4_74 (vector_boom_fla.animatedparticles4_74) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles4_74 extends MovieClip { public function animatedparticles4_74(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package vector_boom_fla
Section 21
//animatedparticles5_145 (vector_boom_fla.animatedparticles5_145) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles5_145 extends MovieClip { public function animatedparticles5_145(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package vector_boom_fla
Section 22
//animatedparticles6_147 (vector_boom_fla.animatedparticles6_147) package vector_boom_fla { import flash.display.*; public dynamic class animatedparticles6_147 extends MovieClip { public function animatedparticles6_147(){ addFrameScript(66, frame67); } function frame67(){ stop(); } } }//package vector_boom_fla
Section 23
//back_btn_21 (vector_boom_fla.back_btn_21) package vector_boom_fla { import flash.display.*; public dynamic class back_btn_21 extends MovieClip { public function back_btn_21(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 24
//bar_179 (vector_boom_fla.bar_179) package vector_boom_fla { import flash.display.*; public dynamic class bar_179 extends MovieClip { public function bar_179(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package vector_boom_fla
Section 25
//BossDestroyed_162 (vector_boom_fla.BossDestroyed_162) package vector_boom_fla { import flash.display.*; public dynamic class BossDestroyed_162 extends MovieClip { public function BossDestroyed_162(){ addFrameScript(63, frame64); } function frame64(){ stop(); try { Main(root).RemoveBoss(MovieClip(this.parent)); } catch(e:Error) { }; } } }//package vector_boom_fla
Section 26
//continue_game_123 (vector_boom_fla.continue_game_123) package vector_boom_fla { import flash.display.*; public dynamic class continue_game_123 extends MovieClip { public function continue_game_123(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 27
//Explosion_Boss1_62 (vector_boom_fla.Explosion_Boss1_62) package vector_boom_fla { import flash.display.*; public dynamic class Explosion_Boss1_62 extends MovieClip { public var inside:MovieClip; public function Explosion_Boss1_62(){ addFrameScript(0, frame1, 31, frame32); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame32(){ stop(); } } }//package vector_boom_fla
Section 28
//Explosion_Boss2_64 (vector_boom_fla.Explosion_Boss2_64) package vector_boom_fla { import flash.display.*; public dynamic class Explosion_Boss2_64 extends MovieClip { public var inside:MovieClip; public function Explosion_Boss2_64(){ addFrameScript(0, frame1, 21, frame22); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame22(){ stop(); } } }//package vector_boom_fla
Section 29
//Explosion_Boss3_66 (vector_boom_fla.Explosion_Boss3_66) package vector_boom_fla { import flash.display.*; public dynamic class Explosion_Boss3_66 extends MovieClip { public var inside:MovieClip; public function Explosion_Boss3_66(){ addFrameScript(0, frame1, 57, frame58); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame58(){ stop(); } } }//package vector_boom_fla
Section 30
//Explosion_Boss4_73 (vector_boom_fla.Explosion_Boss4_73) package vector_boom_fla { import flash.display.*; public dynamic class Explosion_Boss4_73 extends MovieClip { public var inside:MovieClip; public function Explosion_Boss4_73(){ addFrameScript(0, frame1, 31, frame32); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame32(){ stop(); } } }//package vector_boom_fla
Section 31
//magnet_pu_172 (vector_boom_fla.magnet_pu_172) package vector_boom_fla { import flash.display.*; public dynamic class magnet_pu_172 extends MovieClip { public function magnet_pu_172(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package vector_boom_fla
Section 32
//max_stop_122 (vector_boom_fla.max_stop_122) package vector_boom_fla { import flash.display.*; public dynamic class max_stop_122 extends MovieClip { public function max_stop_122(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } } }//package vector_boom_fla
Section 33
//max_stop_black_121 (vector_boom_fla.max_stop_black_121) package vector_boom_fla { import flash.display.*; public dynamic class max_stop_black_121 extends MovieClip { public function max_stop_black_121(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } } }//package vector_boom_fla
Section 34
//maxPower_pu_170 (vector_boom_fla.maxPower_pu_170) package vector_boom_fla { import flash.display.*; public dynamic class maxPower_pu_170 extends MovieClip { public function maxPower_pu_170(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package vector_boom_fla
Section 35
//MothershipBayDoors_130 (vector_boom_fla.MothershipBayDoors_130) package vector_boom_fla { import flash.media.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.text.*; import flash.system.*; import flash.filters.*; import flash.geom.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class MothershipBayDoors_130 extends MovieClip { public function MothershipBayDoors_130(){ addFrameScript(0, frame1, 15, frame16, 64, frame65); } function frame16(){ stop(); Main(root).PlaceSpawn(MovieClip(this.parent)); } function frame65(){ try { if (MovieClip(this.parent).AmIAlive() == true){ Main(root).PreCreateShield(MovieClip(this.parent)); }; } catch(e:Error) { }; gotoAndStop(1); } function frame1(){ stop(); } } }//package vector_boom_fla
Section 36
//NewgroundsAPI_Connector_2 (vector_boom_fla.NewgroundsAPI_Connector_2) package vector_boom_fla { import flash.media.*; import flash.events.*; import flash.display.*; import flash.utils.*; import com.newgrounds.*; import flash.net.*; import flash.text.*; import flash.system.*; import flash.filters.*; import flash.geom.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class NewgroundsAPI_Connector_2 extends MovieClip { public var closeButton:SimpleButton; public function NewgroundsAPI_Connector_2(){ addFrameScript(0, frame1); } public function initialize(_arg1:Object):void{ NewgroundsAPI.setMovieVersion(_arg1.movie_version); NewgroundsAPI.connectMovie(root, _arg1.movie_id.toString(), _arg1.enc_key, _arg1.debug_mode); closeButton.addEventListener(MouseEvent.CLICK, closeHandler); if (((NewgroundsAPI.isNewgrounds()) || (_arg1.debug_mode))){ NewgroundsAPI.addEventListener(NewgroundsAPI.events.MOVIE_CONNECTED, checkConnection); if (((!(NewgroundsAPI.hasUserSession())) && (!(_arg1.debug_mode)))){ visible = true; gotoAndStop(2); }; }; NewgroundsAPI.loadMedals(); } public function closeHandler(_arg1:MouseEvent):void{ visible = false; } function frame1(){ visible = false; stop(); } public function checkConnection(_arg1:Object, _arg2:Object):void{ if (!_arg1.success){ visible = true; gotoAndStop(3); }; } } }//package vector_boom_fla
Section 37
//NewgroundsAPI_Medal_Popup_4 (vector_boom_fla.NewgroundsAPI_Medal_Popup_4) package vector_boom_fla { import flash.media.*; import flash.events.*; import flash.display.*; import flash.utils.*; import com.newgrounds.*; import flash.net.*; import flash.text.*; import com.adobe.utils.*; import flash.system.*; import flash.filters.*; import flash.geom.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class NewgroundsAPI_Medal_Popup_4 extends MovieClip { public var medal_icon:MovieClip; public var myBitmapData:BitmapData; public var medalValueText:TextField; public var bitmapClass:Class; public var medal_name:String; public var pop_delay:Timer; public var badChars:String; public var medal_value:String; public var medalClassName:String; public var medalNameText:TextField; public var i:uint; public function NewgroundsAPI_Medal_Popup_4(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 9, frame10); } function frame10(){ medalClassName = medal_name; badChars = "~`!@#$%^&*()-+=[{]}|;:'\"\\,<.>/? "; i = 0; while (i < badChars.length) { medalClassName = StringUtil.remove(medalClassName, badChars.charAt(i)); i++; }; try { bitmapClass = Class(getDefinitionByName(medalClassName)); } catch(e:Error) { }; if (bitmapClass){ myBitmapData = new bitmapClass(0, 0); medal_icon.addChild(new Bitmap(myBitmapData)); }; medalNameText.text = medal_name; medalValueText.text = medal_value; stop(); } public function unlockMedal(_arg1:String):void{ var _local5:String; var _local2:int = (MovieClip(root).numChildren + 1); MovieClip(root).addChild(this); pop_delay.stop(); var _local3:Array = NewgroundsAPI.getMedals(); var _local4:* = null; for (_local5 in _local3) { if (_local3[_local5].medal_name == _arg1){ _local4 = _local3[_local5]; medal_name = _local4.medal_name; medal_value = (_local4.medal_value + "pts"); NewgroundsAPI.unlockMedal(medal_name); pop_delay.start(); visible = true; gotoAndPlay(2); break; }; }; } function frame1(){ pop_delay = new Timer(3000, 1); pop_delay.addEventListener(TimerEvent.TIMER, endDelay); medal_name = "?????"; medal_value = "???"; visible = false; stop(); } function frame2(){ play(); } public function endDelay(_arg1:TimerEvent):void{ if (medal_icon.getChildAt(0)){ medal_icon.removeChildAt(0); }; gotoAndPlay(10); pop_delay.stop(); } function frame3(){ } } }//package vector_boom_fla
Section 38
//normal_mode_btn_41 (vector_boom_fla.normal_mode_btn_41) package vector_boom_fla { import flash.display.*; public dynamic class normal_mode_btn_41 extends MovieClip { public function normal_mode_btn_41(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 39
//pmg_button_111 (vector_boom_fla.pmg_button_111) package vector_boom_fla { import flash.display.*; public dynamic class pmg_button_111 extends MovieClip { public function pmg_button_111(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 40
//pmg_fail_15 (vector_boom_fla.pmg_fail_15) package vector_boom_fla { import flash.display.*; public dynamic class pmg_fail_15 extends MovieClip { public function pmg_fail_15(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 41
//power_bar_114 (vector_boom_fla.power_bar_114) package vector_boom_fla { import flash.display.*; public dynamic class power_bar_114 extends MovieClip { public function power_bar_114(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package vector_boom_fla
Section 42
//shield_pu_168 (vector_boom_fla.shield_pu_168) package vector_boom_fla { import flash.display.*; public dynamic class shield_pu_168 extends MovieClip { public function shield_pu_168(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package vector_boom_fla
Section 43
//soundBuffer_177 (vector_boom_fla.soundBuffer_177) package vector_boom_fla { import flash.display.*; public dynamic class soundBuffer_177 extends MovieClip { public function soundBuffer_177(){ addFrameScript(0, frame1, 29, frame30); } function frame30(){ stop(); } function frame1(){ gotoAndStop("buffed"); } } }//package vector_boom_fla
Section 44
//stage1_50 (vector_boom_fla.stage1_50) package vector_boom_fla { import flash.display.*; public dynamic class stage1_50 extends MovieClip { public function stage1_50(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 45
//stage2_70 (vector_boom_fla.stage2_70) package vector_boom_fla { import flash.display.*; public dynamic class stage2_70 extends MovieClip { public function stage2_70(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 46
//stage3_75 (vector_boom_fla.stage3_75) package vector_boom_fla { import flash.display.*; public dynamic class stage3_75 extends MovieClip { public function stage3_75(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 47
//survival_mode_btn_42 (vector_boom_fla.survival_mode_btn_42) package vector_boom_fla { import flash.display.*; public dynamic class survival_mode_btn_42 extends MovieClip { public function survival_mode_btn_42(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 48
//Teleport_Anim_Phase1_104 (vector_boom_fla.Teleport_Anim_Phase1_104) package vector_boom_fla { import flash.media.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.text.*; import flash.system.*; import flash.filters.*; import flash.geom.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class Teleport_Anim_Phase1_104 extends MovieClip { public function Teleport_Anim_Phase1_104(){ addFrameScript(0, frame1, 34, frame35); } function frame1(){ stop(); } function frame35(){ MovieClip(this.parent).Teleport(); } } }//package vector_boom_fla
Section 49
//tut_next_btn_24 (vector_boom_fla.tut_next_btn_24) package vector_boom_fla { import flash.display.*; public dynamic class tut_next_btn_24 extends MovieClip { public function tut_next_btn_24(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 50
//tut_play_btn_23 (vector_boom_fla.tut_play_btn_23) package vector_boom_fla { import flash.display.*; public dynamic class tut_play_btn_23 extends MovieClip { public function tut_play_btn_23(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 51
//upgrade_bar_120 (vector_boom_fla.upgrade_bar_120) package vector_boom_fla { import flash.display.*; public dynamic class upgrade_bar_120 extends MovieClip { public var max_stop_black:MovieClip; public var max_stop:MovieClip; public function upgrade_bar_120(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } } }//package vector_boom_fla
Section 52
//upgrade_me_119 (vector_boom_fla.upgrade_me_119) package vector_boom_fla { import flash.display.*; public dynamic class upgrade_me_119 extends MovieClip { public function upgrade_me_119(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 53
//upgrade_pmg_124 (vector_boom_fla.upgrade_pmg_124) package vector_boom_fla { import flash.display.*; public dynamic class upgrade_pmg_124 extends MovieClip { public function upgrade_pmg_124(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package vector_boom_fla
Section 54
//ATBullet (ATBullet) package { public dynamic class ATBullet extends BulletA { } }//package
Section 55
//auto_turret_shoot (auto_turret_shoot) package { import flash.media.*; public dynamic class auto_turret_shoot extends Sound { } }//package
Section 56
//AutoTurret (AutoTurret) package { import flash.events.*; import flash.display.*; public class AutoTurret extends MovieClip { private var blnDead:Boolean; private var myTarget:MovieClip; public var emitter:MovieClip; private var fireTimer:Number; public function AutoTurret():void{ myTarget = null; fireTimer = 50; } private function RotateMe():void{ var vecDir:LineVector; var myRadians:*; var myDegrees:*; try { myTarget = Main(root).FindTarget(this); if (myTarget != null){ vecDir = new LineVector(); vecDir.x = (myTarget.x - (this.x + MovieClip(root).base.x)); vecDir.y = (myTarget.y - (this.y + MovieClip(root).base.y)); myRadians = Math.atan2(vecDir.y, vecDir.x); myDegrees = ((360 * myRadians) / (2 * Math.PI)); this.rotation = myDegrees; Fire(); }; } catch(e:Error) { }; } public function Dead():void{ blnDead = true; } public function Run():void{ if (blnDead == false){ RotateMe(); }; } public function RemoveTurret():void{ MovieClip(root).removeChild(MovieClip(root).base[this]); } private function Fire():void{ if (fireTimer > 0){ fireTimer--; } else { if (fireTimer == 0){ Main(root).ShootAutoTurretBullet(this, myTarget); fireTimer = 50; }; }; } public function Setup():void{ blnDead = false; this.rotation = 90; } } }//package
Section 57
//Base (Base) package { import flash.events.*; import flash.display.*; public class Base extends MovieClip { public var ATActivate:Boolean; public var yLoc:Number; private var blnShown:Boolean; private var numOfAutoTurrets:Number; public var at1:MovieClip; public var at2:MovieClip; public var at3:MovieClip; public var at4:MovieClip; public var basebase:MovieClip; private var baseStage:Number; public var baseAutoTurret:MovieClip; public var gun1:MovieClip; private var slot1:Boolean; private var slot2:Boolean; private var slot3:Boolean; private var slot4:Boolean; private var arrAutoTurrets:Array; public function Base(){ slot1 = false; slot2 = false; slot3 = false; slot4 = false; blnShown = false; ATActivate = false; yLoc = 55; arrAutoTurrets = new Array(); } public function BaseUpgrade(_arg1:Number):void{ this.gotoAndStop(_arg1); Main(root).UpdateBStage(_arg1); baseStage = _arg1; ReAlign(); } private function RemoveBase():void{ MovieClip(root).removeChild(this); } private function FadeMeIn():void{ if (blnShown == false){ this.alpha = (this.alpha + 0.1); if (this.alpha >= 1){ this.alpha = 1; blnShown = true; }; }; } public function Setup(_arg1:Number, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean):void{ baseStage = Main(root).ReturnCurrentBaseStage(); this.gotoAndStop(baseStage); slot1 = _arg2; slot2 = _arg3; slot3 = _arg4; slot4 = _arg5; numOfAutoTurrets = _arg1; if (_arg1 > 1){ if (slot1 == true){ CreateAutoTurret(this[("a" + "t1")].x, this[("a" + "t1")].y, 1); }; if (slot2 == true){ CreateAutoTurret(this[("a" + "t2")].x, this[("a" + "t2")].y, 2); }; if (slot3 == true){ CreateAutoTurret(this[("a" + "t3")].x, this[("a" + "t3")].y, 3); }; if (slot4 == true){ CreateAutoTurret(this[("a" + "t4")].x, this[("a" + "t4")].y, 4); }; ATActivate = true; }; } public function Run():void{ var _local1:Number; FadeMeIn(); if (ATActivate == true){ _local1 = 0; while (_local1 < arrAutoTurrets.length) { arrAutoTurrets[_local1].Run(); _local1++; }; }; } public function RetrieveBaseStage():Number{ return (baseStage); } private function ReAlign():void{ this.x = int(((stage.stageWidth / 2) - (this.width / 2))); this.y = yLoc; } private function CreateAutoTurret(_arg1:Number, _arg2:Number, _arg3:Number):void{ baseAutoTurret = new BAutoT(); baseAutoTurret.x = _arg1; baseAutoTurret.y = _arg2; baseAutoTurret.name = ("auto_turret_" + _arg3); this.addChild(baseAutoTurret); arrAutoTurrets.push(baseAutoTurret); baseAutoTurret.Setup(); } public function KillAutoTurrets():void{ var _local1:Number = 0; while (_local1 < arrAutoTurrets.length) { arrAutoTurrets[_local1].Dead(); this.removeChild(arrAutoTurrets[_local1]); _local1++; }; arrAutoTurrets.length = 0; } } }//package
Section 58
//base_shoot (base_shoot) package { import flash.media.*; public dynamic class base_shoot extends Sound { } }//package
Section 59
//BAutoT (BAutoT) package { public dynamic class BAutoT extends AutoTurret { } }//package
Section 60
//BGround1 (BGround1) package { import flash.display.*; public dynamic class BGround1 extends MovieClip { } }//package
Section 61
//BGround10 (BGround10) package { import flash.display.*; public dynamic class BGround10 extends MovieClip { } }//package
Section 62
//BGround11 (BGround11) package { import flash.display.*; public dynamic class BGround11 extends MovieClip { } }//package
Section 63
//BGround2 (BGround2) package { import flash.display.*; public dynamic class BGround2 extends MovieClip { } }//package
Section 64
//BGround3 (BGround3) package { import flash.display.*; public dynamic class BGround3 extends MovieClip { } }//package
Section 65
//BGround4 (BGround4) package { import flash.display.*; public dynamic class BGround4 extends MovieClip { } }//package
Section 66
//BGround5 (BGround5) package { import flash.display.*; public dynamic class BGround5 extends MovieClip { } }//package
Section 67
//BGround6 (BGround6) package { import flash.display.*; public dynamic class BGround6 extends MovieClip { } }//package
Section 68
//BGround7 (BGround7) package { import flash.display.*; public dynamic class BGround7 extends MovieClip { } }//package
Section 69
//BGround8 (BGround8) package { import flash.display.*; public dynamic class BGround8 extends MovieClip { } }//package
Section 70
//BGround9 (BGround9) package { import flash.display.*; public dynamic class BGround9 extends MovieClip { } }//package
Section 71
//BigBoom (BigBoom) package { import flash.display.*; public dynamic class BigBoom extends MovieClip { public function BigBoom(){ addFrameScript(30, frame31); } function frame31(){ stop(); Main(root).EffectKillSelf(MovieClip(this)); } } }//package
Section 72
//BShield (BShield) package { import flash.display.*; public dynamic class BShield extends MovieClip { public function BShield(){ addFrameScript(39, frame40); } function frame40(){ gotoAndPlay(1); } } }//package
Section 73
//Bullet (Bullet) package { import flash.events.*; import flash.display.*; import flash.geom.*; public class Bullet extends MovieClip { public var type:Number; public var speed:Number; private var expArea:Number; public var radius:Number; private var blnMove:Boolean; private var moveX:Number; private var moveY:Number; private var myTarget:Object; public var damage:Number; public var cReward:Number; public var pReward:Number; public function Bullet():void{ blnMove = false; Setup(); } public function Set(_arg1:Number):void{ type = Main.gData.arrBulletData[_arg1].type; speed = Main.gData.arrBulletData[_arg1].speed; if (type == 1){ damage = Main.gData.BASEBULLETDAMAGE; } else { damage = Main.gData.arrBulletData[_arg1].damage; }; radius = Main.gData.arrBulletData[_arg1].radius; cReward = Main.gData.arrBulletData[_arg1].cReward; pReward = Main.gData.arrBulletData[_arg1].pReward; } public function Run():void{ if (type == 6){ MoveAutoMe(); } else { MoveMe(); }; } public function RemoveBullet():void{ MovieClip(root).removeChild(this); } public function Start():void{ blnMove = true; } public function GetDistance(_arg1:Number, _arg2:Number):Number{ var _local3:Number = (this.x - _arg1); var _local4:Number = (this.y - _arg2); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } private function SetMovement():void{ if (type != 6){ RotateBullet(); }; var _local1:LineVector = new LineVector(); _local1.x = (Math.cos(((Math.PI * this.rotation) / 180)) * speed); _local1.y = (Math.sin(((Math.PI * this.rotation) / 180)) * speed); this.moveX = _local1.x; this.moveY = _local1.y; } public function Setup():void{ Set(0); } public function SetTarget(_arg1:Object):void{ myTarget = _arg1; } public function Stop():void{ blnMove = false; } private function MoveMe():void{ var _local1:Number; if (blnMove == true){ _local1 = 18; if (type != 1){ _local1 = Main(root).RetrieveBDis(); }; if (GetDistance(myTarget.x, myTarget.y) < _local1){ blnMove = false; if (type == 1){ Main(root).CheckDestroyRadius(expArea, this.x, this.y, damage); } else { Main(root).BaseBulletHit(this, _local1); }; if (this.name != "main_bullet_tanker"){ Main(root).DeleteBullet(this); }; } else { SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); }; }; } private function RotateBullet():void{ var _local1:LineVector; var _local2:Number; var _local3:Number; var _local4:Point; if (type != 6){ if (type == 1){ _local1 = new LineVector(); _local1.x = (myTarget.x - this.x); _local1.y = (myTarget.y - this.y); _local2 = Math.atan2(_local1.y, _local1.x); _local3 = ((360 * _local2) / (2 * Math.PI)); this.rotation = _local3; } else { _local4 = new Point(MovieClip(root).base.gun1.x, MovieClip(root).base.gun1.y); _local4 = MovieClip(root).base.localToGlobal(_local4); _local1 = new LineVector(); _local1.x = (_local4.x - this.x); _local1.y = (_local4.y - this.y); _local2 = Math.atan2(_local1.y, _local1.x); _local3 = ((360 * _local2) / (2 * Math.PI)); this.rotation = _local3; }; }; } private function MoveAutoMe():void{ if (blnMove == true){ if ((((((((this.x < -10)) || ((this.x > (MovieClip(root).stage.stageWidth + 10))))) || ((this.y < -10)))) || ((this.y > (MovieClip(root).stage.stageHeight + 10))))){ Main(root).DeleteABullet(this); } else { SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); }; }; } public function SetRadius(_arg1:Number):void{ radius = (expArea = _arg1); } } }//package
Section 74
//Bullet1 (Bullet1) package { public class Bullet1 extends Bullet { override public function Setup():void{ Set(1); } } }//package
Section 75
//Bullet2 (Bullet2) package { public class Bullet2 extends Bullet { override public function Setup():void{ Set(2); } } }//package
Section 76
//Bullet3 (Bullet3) package { public class Bullet3 extends Bullet { override public function Setup():void{ Set(3); } } }//package
Section 77
//Bullet4 (Bullet4) package { public class Bullet4 extends Bullet { override public function Setup():void{ Set(4); } } }//package
Section 78
//Bullet5 (Bullet5) package { public class Bullet5 extends Bullet { override public function Setup():void{ Set(5); } } }//package
Section 79
//BulletA (BulletA) package { public class BulletA extends Bullet { override public function Setup():void{ Set(6); } } }//package
Section 80
//BulletB (BulletB) package { import flash.display.*; public class BulletB extends Bullet { public var cache:MovieClip; override public function Setup():void{ Set(7); } } }//package
Section 81
//button_over (button_over) package { import flash.media.*; public dynamic class button_over extends Sound { } }//package
Section 82
//button_up (button_up) package { import flash.media.*; public dynamic class button_up extends Sound { } }//package
Section 83
//ContBTN (ContBTN) package { import flash.display.*; public dynamic class ContBTN extends MovieClip { public function ContBTN(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 84
//CreditsBTN (CreditsBTN) package { import flash.display.*; public dynamic class CreditsBTN extends MovieClip { public function CreditsBTN(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 85
//E1 (E1) package { public dynamic class E1 extends Enemy1 { } }//package
Section 86
//E10 (E10) package { public dynamic class E10 extends Enemy1 { } }//package
Section 87
//E11 (E11) package { public dynamic class E11 extends EnemyB { public function E11(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 88
//E2 (E2) package { public dynamic class E2 extends Enemy2 { } }//package
Section 89
//E2Bullet (E2Bullet) package { public dynamic class E2Bullet extends Bullet2 { } }//package
Section 90
//E3 (E3) package { public dynamic class E3 extends Enemy3 { public function E3(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 91
//E3Bullet (E3Bullet) package { public dynamic class E3Bullet extends Bullet3 { } }//package
Section 92
//E4 (E4) package { public dynamic class E4 extends Enemy4 { } }//package
Section 93
//E4Bullet (E4Bullet) package { public dynamic class E4Bullet extends Bullet4 { } }//package
Section 94
//E5 (E5) package { public dynamic class E5 extends Enemy5 { } }//package
Section 95
//E5Bullet (E5Bullet) package { public dynamic class E5Bullet extends Bullet5 { } }//package
Section 96
//E6 (E6) package { public dynamic class E6 extends Enemy6 { } }//package
Section 97
//E7 (E7) package { public dynamic class E7 extends Enemy7 { } }//package
Section 98
//E8 (E8) package { public dynamic class E8 extends Enemy8 { } }//package
Section 99
//E9 (E9) package { public dynamic class E9 extends Enemy9 { } }//package
Section 100
//EBBullet (EBBullet) package { public dynamic class EBBullet extends BulletB { } }//package
Section 101
//EffectsEngine (EffectsEngine) package { import flash.events.*; import flash.display.*; class EffectsEngine { private var arrEffects:Array; private var effectIndex:Number; private var mainRef:Main; private var arrEffectLayers:Array; function EffectsEngine(_arg1):void{ mainRef = _arg1; effectIndex = 0; arrEffects = new Array(); arrEffectLayers = new Array(); mainRef.addEventListener(Event.ENTER_FRAME, Run); } public function DeleteEffect(_arg1:MovieClip):void{ var _local2:Number = 0; while (_local2 < arrEffects.length) { if (arrEffects[_local2].mc == _arg1){ RetrieveLayer(arrEffects[_local2].layer).removeChild(arrEffects[_local2].mc); arrEffects.splice(_local2, 1); break; }; _local2++; }; } public function DeleteLayer(_arg1:String):void{ var _local2:Number = 0; while (_local2 < arrEffectLayers.length) { if (arrEffectLayers[_local2].name == _arg1){ mainRef.removeChild(arrEffectLayers[_local2]); arrEffectLayers.splice(_local2, 1); break; }; _local2++; }; } public function Run(_arg1:Event):void{ } public function DeleteAllEffects():void{ var _local1:Number = 0; while (_local1 < arrEffects.length) { RetrieveLayer(arrEffects[_local1].layer).removeChild(arrEffects[_local1].mc); _local1++; }; arrEffects.length = 0; } public function CreateEffect(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:String=null):MovieClip{ _arg1.x = _arg2; _arg1.y = _arg3; _arg1.name = ("effect_" + effectIndex); RetrieveLayer(_arg4).addChild(_arg1); arrEffects.push({mc:_arg1, layer:_arg4}); effectIndex++; return (_arg1); } public function PrintCurrentLayers():void{ var _local1:Number = 0; while (_local1 < arrEffectLayers.length) { _local1++; }; } public function Reset(_arg1:Boolean):void{ if (_arg1 == true){ DeleteAllLayers(); }; DeleteAllEffects(); effectIndex = 0; } private function RandNum(_arg1:Number, _arg2:Number):Number{ return ((Math.round((Math.random() * (_arg2 - _arg1))) + _arg1)); } private function RetrieveLayer(_arg1:String):MovieClip{ var _local2:Number = 0; while (_local2 < arrEffectLayers.length) { if (arrEffectLayers[_local2].name == _arg1){ return (arrEffectLayers[_local2]); }; _local2++; }; return (mainRef); } public function DeleteAllLayers():void{ var _local1:Number = 0; while (_local1 < arrEffectLayers.length) { mainRef.removeChild(arrEffectLayers[_local1]); _local1++; }; arrEffectLayers.length = 0; } public function CreateLayer(_arg1:String):void{ var _local2:MovieClip = new MovieClip(); _local2.x = 0; _local2.y = 0; _local2.name = _arg1; mainRef.addChild(_local2); arrEffectLayers.push(_local2); } public function DeleteMainRefEventListener():void{ mainRef.removeEventListener(Event.ENTER_FRAME, Run); } } }//package
Section 102
//Enemy (Enemy) package { import flash.events.*; import flash.display.*; import flash.geom.*; public class Enemy extends MovieClip { private var spawnIndex:Number; private var mainRef:Main; private var frameDuration:Number; public var bossHitPoint1:Number; public var bossHitPoint2:Number; private var waitDuration:Number; public var bossHitPoint3:Number; public var bulletRadius:Number; public var type:Number; public var speed:Number; private var blnMove:Boolean; private var myTargetObj:Object; private var myTarget:MovieClip; public var shield:MovieClip; private var shieldRef:MovieClip; public var whichSpawn:Number; public var damage:Number; public var cReward:Number; private var teleCount:Number; public var myMode:Number; private var shieldDelay:Number; private var moveX:Number; private var moveY:Number; public var probeDirection:Number; private var blnTeleport:Boolean; private var teleTimer:Number; public var pReward:Number; public var curEnDis:Number; private var PowerUpSpeed:Number; private var spawnDelay:Number; private var previousState:Number; private var blnDead:Boolean; public var blnShield:Boolean; public var fireDelay:Number; public var life:Number; private var blnBossFlag:Boolean; public function Enemy():void{ blnMove = false; blnTeleport = false; blnDead = false; blnShield = false; shieldRef = null; spawnIndex = 1; whichSpawn = 1; shieldDelay = 0; moveX = 0; moveY = 0; curEnDis = 0; frameDuration = 0; PowerUpSpeed = 4; spawnDelay = 100; blnBossFlag = false; bossHitPoint1 = Main.gData.bHp1; bossHitPoint2 = Main.gData.bHp2; bossHitPoint3 = Main.gData.bHp3; teleTimer = 200; teleCount = 0; myTargetObj = {x:0, y:0}; } private function RandNum(_arg1:Number, _arg2:Number):Number{ return ((Math.round((Math.random() * (_arg2 - _arg1))) + _arg1)); } private function SetMovement():void{ var _local1:LineVector; var _local2:*; var _local3:*; var _local4:Number; if (blnDead == false){ _local1 = new LineVector(); if (myMode == 7){ _local1.x = ((myTarget.x + (myTarget.width / 2)) - this.x); _local1.y = ((myTarget.y + (myTarget.height / 2)) - this.y); _local2 = Math.atan2(_local1.y, _local1.x); _local3 = ((360 * _local2) / (2 * Math.PI)); _local4 = GetDistance((myTarget.x + (myTarget.width / 2)), (myTarget.y + (myTarget.height / 2))); PowerUpSpeed = ((_local4 / 2) * 0.3); _local1.x = (Math.cos(((Math.PI * _local3) / 180)) * PowerUpSpeed); _local1.y = (Math.sin(((Math.PI * _local3) / 180)) * PowerUpSpeed); this.moveX = _local1.x; this.moveY = _local1.y; } else { _local1.x = (Math.cos(((Math.PI * this.rotation) / 180)) * speed); _local1.y = (Math.sin(((Math.PI * this.rotation) / 180)) * speed); this.moveX = _local1.x; this.moveY = _local1.y; }; }; } public function Stop():void{ blnMove = false; } private function MoveProbe():void{ if (blnDead == false){ if (blnMove == true){ if (probeDirection == 1){ if (this.x > (mainRef.stage.stageWidth + 60)){ Dead(); mainRef.DeleteEnemy(this); } else { SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); }; } else { if (this.x < -60){ mainRef.DeleteEnemy(this); } else { SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); }; }; }; }; } public function RemoveEnemy():void{ if (type == 7){ this[("t" + "Animation")].stop(); }; if (type == 9){ removeChild(this[("hat" + "ch")]); this[("hat" + "ch")].stop(); }; mainRef.removeChild(MovieClip(this)); } public function Set(_arg1:Number):void{ type = Main.gData.arrEnemyData[_arg1].type; life = Main.gData.arrEnemyData[_arg1].life; speed = Main.gData.arrEnemyData[_arg1].speed; damage = Main.gData.arrEnemyData[_arg1].damage; cReward = Main.gData.arrEnemyData[_arg1].cReward; pReward = Main.gData.arrEnemyData[_arg1].pReward; myMode = (previousState = Main.gData.arrEnemyData[_arg1].startMode); fireDelay = Main.gData.arrEnemyData[_arg1].fireDelay; if ((((type == 3)) || ((type == 7)))){ fireDelay = 15; }; if (type == 1){ waitDuration = 0; } else { if (type == 2){ waitDuration = RandNum(50, 80); } else { if (type == 3){ waitDuration = RandNum(20, 50); } else { if (type == 6){ waitDuration = RandNum(80, 100); } else { if (type == 7){ waitDuration = RandNum(50, 80); } else { if (type == 9){ waitDuration = RandNum(80, 100); } else { if (type == 11){ waitDuration = 155; }; }; }; }; }; }; }; if (type == 11){ this.rotation = -90; }; CacheMe(); } public function GetDistance(_arg1:Number, _arg2:Number):Number{ var _local3:Number = (this.x - _arg1); var _local4:Number = (this.y - _arg2); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public function AmIAlive():Boolean{ return (blnDead); } public function Start():void{ blnMove = true; } public function Teleport():void{ var _local1:Number; var _local2:Number; if (blnDead == false){ this.alpha = 0; mainRef.sPlayer.PlaySound(new teleport_sound(), 0.5); mainRef.effect.CreateEffect(new teleport(), this.x, this.y); _local1 = RandNum(20, mainRef.stage.stageWidth); _local2 = RandNum(60, mainRef.stage.stageHeight); this.x = _local1; this.y = _local2; mainRef.effect.CreateEffect(new teleportAppear(), this.x, this.y); this.alpha = 1; RotateEnemy(); blnTeleport = false; }; } private function Fire():void{ if (blnDead == false){ if (fireDelay > 0){ fireDelay--; } else { if (blnTeleport == false){ if (type == 11){ if (blnBossFlag == false){ mainRef.ShootBossRockets(this); blnBossFlag = true; } else { mainRef.ShootBossMissles(this); blnBossFlag = false; }; } else { if (type == 3){ mainRef.ShootEnemyBullet(this, true); } else { mainRef.ShootEnemyBullet(this); }; }; }; fireDelay = Main.gData.arrEnemyData[type].fireDelay; }; if (this.type == 6){ BigShipShieldTest(); }; if (this.type == 9){ MotherSpawn(); }; }; } private function MotherSpawn():void{ if (blnDead == false){ if (spawnDelay > 0){ spawnDelay--; } else { DestroyShield(); if (spawnIndex == 1){ whichSpawn = 1; } else { if (spawnIndex == 2){ whichSpawn = 1; } else { if (spawnIndex == 3){ whichSpawn = 7; }; }; }; this[("hat" + "ch")].gotoAndPlay("open"); spawnDelay = 125; spawnIndex++; if (spawnIndex >= 4){ spawnIndex = 1; }; }; }; } public function Run():void{ switch (myMode){ case 1: if (type == 11){ MoveBoss(); } else { MoveMe(); }; break; case 2: Fire(); break; case 3: MoveMe(); break; case 4: MoveProbe(); break; case 5: MoveMe(); Fire(); break; case 6: Fire(); TeleportTest(); break; case 7: HeadTowardPU(); break; case 8: break; default: break; }; } public function Setup():void{ } private function MoveMe():void{ var _local1:Point; var _local2:Object; var _local3:Number; var _local4:MovieClip; if (blnDead == false){ if (blnMove == true){ curEnDis = mainRef.RetrieveEDis(); _local1 = new Point(mainRef.base.gun1.x, mainRef.base.gun1.y); _local1 = mainRef.base.localToGlobal(_local1); _local2 = {x:_local1.x, y:_local1.y}; if (GetDistance(_local2.x, _local2.y) < curEnDis){ Dead(); blnMove = false; mainRef.sPlayer.PlaySound(new base_shoot(), 0.1); if (curEnDis < 30){ mainRef.bars.AddOrSubtract(damage, "health"); }; if (AmIAlive() == false){ if (type == 5){ mainRef.CheckDestroyRadius(80, this.x, this.y, damage, this); }; }; _local3 = RandNum(1, 5); if (_local3 == 1){ _local4 = mainRef.effect.CreateEffect(new Explode1(), this.x, this.y); } else { if (_local3 == 2){ _local4 = mainRef.effect.CreateEffect(new Explode2(), this.x, this.y); } else { if (_local3 == 3){ _local4 = mainRef.effect.CreateEffect(new Explode3(), this.x, this.y); } else { if (_local3 == 4){ _local4 = mainRef.effect.CreateEffect(new Explode4(), this.x, this.y); } else { if (_local3 == 5){ _local4 = mainRef.effect.CreateEffect(new Explode5(), this.x, this.y); }; }; }; }; }; mainRef.DeleteEnemy(this); } else { RotateEnemy(); SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); if ((((((((((type == 2)) || ((type == 3)))) && (!((myMode == 3))))) || ((((type == 7)) && (!((myMode == 6))))))) || ((((((type == 6)) || ((type == 9)))) && (!((myMode == 2))))))){ if ((((this.x > 0)) && ((this.x < mainRef.stage.stageWidth)))){ if ((((this.y > 0)) && ((this.y < mainRef.stage.stageHeight)))){ frameDuration++; }; }; if (frameDuration >= waitDuration){ if (type == 7){ myMode = 6; } else { myMode = 2; }; if (type == 9){ CreateShield(); }; }; }; }; }; }; } public function ReturnPreviousState():Number{ return (previousState); } public function SetTarget(_arg1:MovieClip):void{ previousState = myMode; myTarget = _arg1; myTargetObj = {x:myTarget.x, y:myTarget.y}; } private function TeleportTest():void{ if (blnDead == false){ if (teleCount < teleTimer){ teleCount++; } else { this[("t" + "Animation")].gotoAndPlay(2); blnTeleport = true; teleCount = 0; }; }; } public function Dead():void{ blnDead = true; myMode = 8; } private function RotateBoss():void{ var _local1:LineVector; var _local2:Point; var _local3:Number; var _local4:Number; if (blnDead == false){ _local1 = new LineVector(); _local2 = new Point(mainRef.base.gun1.x, mainRef.base.gun1.y); _local2 = mainRef.base.localToGlobal(_local2); _local1.x = (_local2.x - this.x); _local1.y = (_local2.y - this.y); _local3 = Math.atan2(_local1.y, _local1.x); _local4 = ((360 * _local3) / (2 * Math.PI)); this.rotation = _local4; }; } private function CacheMe():void{ if (blnDead == false){ if (((!((myMode == 7))) && (!((type == 11))))){ this[("ca" + "che")].cacheAsBitmap = true; if (type == 9){ this[("ca" + "che2")].cacheAsBitmap = true; }; }; }; } public function SetRefs(_arg1:Main):void{ mainRef = _arg1; } public function CreateShield():void{ if (blnDead == false){ if (shieldRef == null){ shield = new Shield1(); shield.x = 0; shield.y = 0; shield.name = ("shield" + mainRef.Indexer); mainRef.Indexer++; if (mainRef.Indexer > 20000){ mainRef.Indexer = 0; }; this.addChild(shield); shieldRef = this.shield; blnShield = true; }; }; } private function UnCacheMe():void{ if (blnDead == false){ if (((!((myMode == 7))) && (!((type == 11))))){ this[("ca" + "che")].cacheAsBitmap = false; if (type == 9){ this[("ca" + "che2")].cacheAsBitmap = false; }; }; }; } private function RotateEnemy():void{ var _local1:LineVector; var _local2:Point; var _local3:Number; var _local4:Number; if (blnDead == false){ if ((((((((((((type == 1)) || ((type == 5)))) || ((type == 6)))) || ((type == 7)))) || ((type == 8)))) || ((type == 9)))){ UnCacheMe(); }; _local1 = new LineVector(); _local2 = new Point(mainRef.base.gun1.x, mainRef.base.gun1.y); _local2 = mainRef.base.localToGlobal(_local2); _local1.x = (_local2.x - this.x); _local1.y = (_local2.y - this.y); _local3 = Math.atan2(_local1.y, _local1.x); _local4 = ((360 * _local3) / (2 * Math.PI)); this.rotation = _local4; if ((((((((((((type == 1)) || ((type == 5)))) || ((type == 6)))) || ((type == 7)))) || ((type == 8)))) || ((type == 9)))){ CacheMe(); }; }; } private function HeadTowardPU():void{ var _local1:MovieClip; if (blnDead == false){ if (blnMove == true){ if (GetDistance((myTarget.x + (myTarget.width / 2)), (myTarget.y + (myTarget.height / 2))) < 10){ blnMove = false; PowerUpSpeed = 4; if (type == 5){ if (AmIAlive() == false){ mainRef.CheckDestroyRadius(80, this.x, this.y, damage, this); }; Dead(); _local1 = mainRef.effect.CreateEffect(new Explode2(), this.x, this.y); mainRef.DeleteEnemy(this); }; } else { RotateEnemy(); SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); }; }; }; } public function DestroyShield():void{ if (blnDead == false){ if (shieldRef != null){ removeChild(shieldRef); }; blnShield = false; shieldRef = null; }; } public function SetDir(_arg1:Number):void{ probeDirection = _arg1; } public function TakeDamage(_arg1:Number):Boolean{ if (blnDead == false){ life = (life - _arg1); if (life <= 0){ return (true); }; if (type == 3){ if (life <= 10){ this.gotoAndStop("after"); myMode = 3; }; }; }; return (false); } private function BigShipShieldTest():void{ if (blnDead == false){ if (shieldDelay > 0){ shieldDelay--; } else { if (blnShield == false){ CreateShield(); } else { DestroyShield(); }; shieldDelay = 150; }; }; } private function MoveBoss():void{ if (blnDead == false){ if (blnMove == true){ SetMovement(); this.x = (this.x + this.moveX); this.y = (this.y + this.moveY); if (this.y < mainRef.stage.stageHeight){ frameDuration++; }; if (frameDuration >= waitDuration){ myMode = 2; }; }; }; } } }//package
Section 103
//Enemy1 (Enemy1) package { import flash.display.*; public class Enemy1 extends Enemy { public var cache:MovieClip; override public function Setup():void{ Set(1); } } }//package
Section 104
//Enemy2 (Enemy2) package { import flash.display.*; public class Enemy2 extends Enemy { public var cache:MovieClip; public var emitter:MovieClip; override public function Setup():void{ Set(2); } } }//package
Section 105
//Enemy3 (Enemy3) package { import flash.display.*; public class Enemy3 extends Enemy { public var cache:MovieClip; public var emitter2:MovieClip; public var emitter:MovieClip; override public function Setup():void{ Set(3); } } }//package
Section 106
//Enemy4 (Enemy4) package { import flash.display.*; public class Enemy4 extends Enemy { public var cache:MovieClip; override public function Setup():void{ Set(4); } } }//package
Section 107
//Enemy5 (Enemy5) package { import flash.display.*; public class Enemy5 extends Enemy { public var cache:MovieClip; override public function Setup():void{ Set(5); } } }//package
Section 108
//Enemy6 (Enemy6) package { import flash.display.*; public class Enemy6 extends Enemy { public var cache:MovieClip; public var emitter:MovieClip; override public function Setup():void{ Set(6); } } }//package
Section 109
//Enemy7 (Enemy7) package { import flash.display.*; public class Enemy7 extends Enemy { public var tAnimation:MovieClip; public var cache:MovieClip; public var emitter:MovieClip; override public function Setup():void{ Set(7); } } }//package
Section 110
//Enemy8 (Enemy8) package { import flash.display.*; public class Enemy8 extends Enemy { public var cache:MovieClip; override public function Setup():void{ Set(8); } } }//package
Section 111
//Enemy9 (Enemy9) package { import flash.display.*; public class Enemy9 extends Enemy { public var hatch:MovieClip; public var cache:MovieClip; public var mSpawn1:MovieClip; public var spawner:MovieClip; public var mSpawn2:MovieClip; public var emitter:MovieClip; public var cache2:MovieClip; override public function Setup():void{ Set(9); } } }//package
Section 112
//EnemyB (EnemyB) package { import flash.display.*; public class EnemyB extends Enemy { public var weak1:MovieClip; public var weak3:MovieClip; public var e10:MovieClip; public var e11:MovieClip; public var e12:MovieClip; public var e13:MovieClip; public var e14:MovieClip; public var e1:MovieClip; public var e2:MovieClip; public var e3:MovieClip; public var e4:MovieClip; public var e5:MovieClip; public var e6:MovieClip; public var e8:MovieClip; public var e9:MovieClip; public var e7:MovieClip; public var weak2:MovieClip; override public function Setup():void{ Set(11); } } }//package
Section 113
//Explode1 (Explode1) package { import flash.display.*; public dynamic class Explode1 extends MovieClip { public var inside:MovieClip; public function Explode1(){ addFrameScript(0, frame1, 31, frame32); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame32(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 114
//Explode2 (Explode2) package { import flash.display.*; public dynamic class Explode2 extends MovieClip { public var inside:MovieClip; public function Explode2(){ addFrameScript(0, frame1, 21, frame22); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame22(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 115
//Explode3 (Explode3) package { import flash.display.*; public dynamic class Explode3 extends MovieClip { public var inside:MovieClip; public function Explode3(){ addFrameScript(0, frame1, 57, frame58); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame58(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 116
//Explode4 (Explode4) package { import flash.display.*; public dynamic class Explode4 extends MovieClip { public var inside:MovieClip; public function Explode4(){ addFrameScript(0, frame1, 31, frame32); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame32(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 117
//Explode5 (Explode5) package { import flash.display.*; public dynamic class Explode5 extends MovieClip { public var inside:MovieClip; public function Explode5(){ addFrameScript(0, frame1, 31, frame32); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame32(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 118
//Explode6 (Explode6) package { import flash.display.*; public dynamic class Explode6 extends MovieClip { public var inside:MovieClip; public function Explode6(){ addFrameScript(0, frame1, 68, frame69); } function frame1(){ this.inside.rotation = Math.round((Math.random() * 360)); } function frame69(){ stop(); try { Main(root).EffectKillSelf(MovieClip(this)); } catch(e:Error) { }; } } }//package
Section 119
//FAIL (FAIL) package { import flash.events.*; import flash.display.*; public class FAIL extends MovieClip { private var mRef:Main; public function FAIL():void{ } public function RemoveFAIL():void{ mRef.removeEventListener(Event.ENTER_FRAME, Run); mRef.RemoveFail(this); } private function Run(_arg1:Event):void{ this.y = int((this.y + 1)); if (this.y > (mRef.stage.stageHeight + 10)){ RemoveFAIL(); }; } public function Setup(_arg1:Main):void{ mRef = _arg1; mRef.addEventListener(Event.ENTER_FRAME, Run); } } }//package
Section 120
//FailScreen (FailScreen) package { import flash.display.*; import flash.text.*; public dynamic class FailScreen extends MovieClip { public var fail_main:SimpleButton; public var score_txt:TextField; public var scoreTitle:TextField; public var fail_retry:SimpleButton; public var fail_pmg:MovieClip; public var wave_txt:TextField; public var loser:MovieClip; public var waveTitle:TextField; public function FailScreen(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package
Section 121
//FrameCounter (FrameCounter) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class FrameCounter { private var numFrameRate:Number; private var showText:Boolean; private var stgRef:Stage; private var intStarted:Number; private var corner:Number; private var lastFrameCount:Number; private var updateStart:Number; private var fontColor:Number; private var frameCount:Number; private var txtFrameText:TextField; private var timerStartValue:Number; private var updateLeft:Number; public function FrameCounter(_arg1:Stage):void{ stgRef = _arg1; frameCount = 0; lastFrameCount = 0; timerStartValue = 0; numFrameRate = 0; showText = true; fontColor = 0xFFFFFF; intStarted = 0; corner = 4; updateStart = 30; updateLeft = 30; stgRef.addEventListener(Event.ENTER_FRAME, Run); Start(); } private function SetColor(_arg1:Number):void{ fontColor = _arg1; } public function Start():void{ Reset(); } public function Hide():void{ showText = false; } private function Run(_arg1:Event):void{ if (intStarted == 0){ timerStartValue = getTimer(); intStarted = 1; }; frameCount++; updateLeft--; if (updateLeft == 0){ updateLeft = updateStart; numFrameRate = Math.round((frameCount / ((getTimer() - timerStartValue) / 1000))); frameCount = 0; timerStartValue = getTimer(); intStarted = 2; } else { if (intStarted == 1){ numFrameRate = Math.round((frameCount / ((getTimer() - timerStartValue) / 1000))); }; }; if (showText == true){ txtFrameText.text = (numFrameRate + " fps"); }; } public function Reset():void{ frameCount = 0; timerStartValue = 0; if (showText == true){ txtFrameText = new TextField(); txtFrameText.textColor = fontColor; txtFrameText.selectable = false; txtFrameText.text = (60 + "fps"); if (corner == 1){ txtFrameText.x = 10; txtFrameText.y = 10; } else { if (corner == 2){ txtFrameText.x = (stgRef.stageWidth - (txtFrameText.width / 2)); txtFrameText.y = 10; } else { if (corner == 3){ txtFrameText.x = 10; txtFrameText.y = (stgRef.stageHeight - (txtFrameText.height / 3)); } else { if (corner == 4){ txtFrameText.x = (stgRef.stageWidth - (txtFrameText.width / 2)); txtFrameText.y = (stgRef.stageHeight - (txtFrameText.height / 3)); }; }; }; }; stgRef.addChild(txtFrameText); }; } private function GetnumFrameRate():Number{ return (numFrameRate); } private function OutputTimeFrame():void{ lastFrameCount = frameCount; } } }//package
Section 122
//FreeGames (FreeGames) package { import flash.display.*; public dynamic class FreeGames extends MovieClip { public function FreeGames(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 123
//GameData (GameData) package { public class GameData { public var strCash:String; public var RECHARGERATE:Number; public var arrBulletData:Array; public var blnShowHeroIntro:Boolean; public var survivalStartCash:Number; public var HEALTHMULTIPLIER:Number; public var strHeader:String; public var prevSCORE:Number; public var arrAllowableDom:Array; public var blnGameLocked:Boolean; public var curHA:Number; public var arrUpgradePoints:Array; public var BASEBULLETDAMAGE:Number; public var armorMultDecrement:Number; public var prevCASH:Number; public var strStage:String; public var BS:Number; public var BASERULE:Number; public var areaIncrement:Number; public var strSpecs:String; public var bHp2:Number; public var bHp3:Number; public var bHp1:Number; private var additionCount:Number; public var strPoints:String; public var versionTXT:String; public var curAT:Number; public var curRR:Number; public var rechargeIncrement:Number; public var frameAddition:Number; public var curBS:Number; public var arrAddFreeDom:Array; public var blnWINNER:Boolean; public var blnShowFPS:Boolean; public var arrTurretLocations:Array; public var curDA:Number; public var damageIncrement:Number; public var arrUpgradeData:Array; public var curDS:Number; public var strLevel:String; public var strH1:String; public var strH2:String; public var strH3:String; public var strH4:String; public var blnShowArmorIntro:Boolean; public var arrEnemyData:Array; public var slot1:Boolean; public var slot2:Boolean; public var slot3:Boolean; public var slot4:Boolean; public var mRef:Main; public function GameData():void{ blnShowArmorIntro = true; blnShowHeroIntro = true; blnShowFPS = false; versionTXT = "v 1.1.7 NG"; blnWINNER = false; blnGameLocked = false; arrAllowableDom = new Array(); arrAllowableDom.push("herointeractive.com"); arrAllowableDom.push("armorgames.com"); arrAddFreeDom = new Array(); arrAddFreeDom.push("addictinggames.com"); arrAddFreeDom.push("agstage.shockwave.com"); arrAddFreeDom.push("freeonlinegames.com"); arrAddFreeDom.push("andkon.com"); arrAddFreeDom.push("kongregate.com"); arrAddFreeDom.push("kongregatetrunk.com"); arrAddFreeDom.push("gamezhero.com"); arrBulletData = new Array(); arrBulletData.push({type:null, speed:null, damage:null, radius:null, cReward:null, pReward:null}); arrBulletData.push({type:1, speed:10, damage:10, radius:0, cReward:5, pReward:10}); arrBulletData.push({type:2, speed:4, damage:1, radius:30, cReward:5, pReward:10}); arrBulletData.push({type:3, speed:4, damage:0.5, radius:40, cReward:5, pReward:10}); arrBulletData.push({type:4, speed:3, damage:3, radius:40, cReward:5, pReward:10}); arrBulletData.push({type:5, speed:10, damage:2, radius:40, cReward:5, pReward:10}); arrBulletData.push({type:6, speed:10, damage:5, radius:30, cReward:0, pReward:0}); arrBulletData.push({type:7, speed:8, damage:8, radius:30, cReward:5, pReward:10}); arrEnemyData = new Array(); arrEnemyData.push({type:null, life:null, speed:null, damage:null, startMode:null, cReward:null, pReward:null, fireDelay:null}); arrEnemyData.push({type:1, life:10, speed:1, damage:2, startMode:1, cReward:10, pReward:50, fireDelay:0}); arrEnemyData.push({type:2, life:10, speed:1, damage:1, startMode:1, cReward:15, pReward:50, fireDelay:125}); arrEnemyData.push({type:3, life:20, speed:2, damage:1, startMode:1, cReward:20, pReward:100, fireDelay:75}); arrEnemyData.push({type:4, life:1, speed:1, damage:0, startMode:4, cReward:0, pReward:60, fireDelay:0}); arrEnemyData.push({type:5, life:30, speed:0.4, damage:15, startMode:1, cReward:30, pReward:100, fireDelay:0}); arrEnemyData.push({type:6, life:30, speed:0.6, damage:1, startMode:5, cReward:30, pReward:250, fireDelay:50}); arrEnemyData.push({type:7, life:15, speed:2, damage:1, startMode:1, cReward:15, pReward:80, fireDelay:50}); arrEnemyData.push({type:8, life:10, speed:3, damage:1, startMode:1, cReward:15, pReward:30, fireDelay:0}); arrEnemyData.push({type:9, life:40, speed:0.6, damage:1, startMode:5, cReward:100, pReward:300, fireDelay:50}); arrEnemyData.push({type:null, life:null, speed:null, damage:null, startMode:null, cReward:null, pReward:null, fireDelay:null}); arrEnemyData.push({type:11, life:1500, speed:0.6, damage:10, startMode:1, cReward:1000, pReward:2000, fireDelay:40}); strHeader = "Base Upgrade Menu"; strSpecs = "GAME SPECS"; strH1 = "UPGRADES"; strH2 = "COST"; strH3 = "CURRENT"; strH4 = "+"; strCash = "Cash"; strPoints = "Points"; strLevel = "Level"; strStage = "B-Stage"; arrUpgradeData = new Array(); arrUpgradeData.push({text:null, description:null, fullAmount:null, sAmount:null}); arrUpgradeData.push({text:"Base Stage", description:"Shows your current base stage", fullAmount:3, sAmount:1}); arrUpgradeData.push({text:"Health / Armor", description:"Upgrade your armor so that incoming attacks do less damage", fullAmount:5, sAmount:1}); arrUpgradeData.push({text:"Damage Area", description:"Upgrade how large of a radius your weapon can destroy", fullAmount:4, sAmount:1}); arrUpgradeData.push({text:"Damage Strength", description:"Upgrade how much damage your main weapon does", fullAmount:5, sAmount:1}); arrUpgradeData.push({text:"Recharge Rate", description:"Upgrade how long it takes to recharge your fire power", fullAmount:4, sAmount:1}); arrUpgradeData.push({text:"Turrets", description:"Add auto turrets to your base", fullAmount:"taken care of in Main.as", sAmount:1}); arrUpgradePoints = new Array(); arrUpgradePoints.push({upgrades:null, s1:null, s2:null, s3:null, s4:null, s5:null}); arrUpgradePoints.push({upgrades:(arrUpgradeData[1].fullAmount - 1), s1:"-------", s2:"-------", s3:"-------"}); arrUpgradePoints.push({upgrades:(arrUpgradeData[2].fullAmount - 1), s1:1000, s2:2000, s3:3000, s4:3500, s5:4000}); arrUpgradePoints.push({upgrades:(arrUpgradeData[3].fullAmount - 1), s1:1000, s2:2000, s3:3000}); arrUpgradePoints.push({upgrades:(arrUpgradeData[4].fullAmount - 1), s1:2000, s2:4000, s3:5000, s4:5000}); arrUpgradePoints.push({upgrades:(arrUpgradeData[5].fullAmount - 1), s1:1500, s2:3500, s3:4500}); arrUpgradePoints.push({upgrades:(arrUpgradeData[6].fullAmount - 1), s1:1000, s2:1500, s3:1500, s4:1500}); frameAddition = 0; additionCount = 0; Reset(); } public function DeathAdjust():void{ additionCount++; if (additionCount < 6){ frameAddition = (frameAddition + 15); }; } public function DeathAdjustReset():void{ frameAddition = 0; additionCount = 0; } public function ReturnFrameAddition():Number{ return (frameAddition); } public function RefPass(_arg1:Main):void{ mRef = _arg1; } public function Reset():void{ bHp1 = 50; bHp2 = 50; bHp3 = 50; curBS = 1; curHA = 1; curDA = 1; curDS = 1; curRR = 1; curAT = 1; slot1 = false; slot2 = false; slot3 = false; slot4 = false; BS = 1; BASERULE = 90; RECHARGERATE = 0.3; BASEBULLETDAMAGE = arrBulletData[1].damage; HEALTHMULTIPLIER = 1; survivalStartCash = 20000; damageIncrement = 5; areaIncrement = 15; rechargeIncrement = 0.2; armorMultDecrement = 0.1; } public function ChangeBaseRule(_arg1:Number):void{ BASERULE = _arg1; } public function ReturnCurrentBaseRule():Number{ return (BASERULE); } public function CheckForStageUpgrade():Number{ var _local1:Number = ((((curHA + curDA) + curDS) + curRR) - 4); if (curBS == 1){ if (_local1 > 3){ return (2); }; } else { if (curBS == 2){ if (_local1 > 7){ return (3); }; }; }; return (0); } } }//package
Section 124
//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//package
Section 125
//GLORIOUS (GLORIOUS) package { import flash.display.*; public dynamic class GLORIOUS extends BitmapData { public function GLORIOUS(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 126
//INDESTRUCTIBLE (INDESTRUCTIBLE) package { import flash.display.*; public dynamic class INDESTRUCTIBLE extends BitmapData { public function INDESTRUCTIBLE(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 127
//Intro (Intro) package { import flash.events.*; import flash.display.*; public class Intro extends MovieClip { public var url_mode:Number; public function Intro():void{ url_mode = 1; } private function IntroOver(_arg1:Event):void{ this.buttonMode = (this.useHandCursor = true); } private function IntroOut(_arg1:Event):void{ this.buttonMode = (this.useHandCursor = false); } public function IntroComplete():void{ Main(root).CreateMainMenu(); MovieClip(root).removeChild(this); } private function IntroClicked(_arg1:Event):void{ Main(root).URL_OPEN(url_mode); } public function Setup():void{ this.addEventListener(MouseEvent.MOUSE_UP, IntroClicked); this.addEventListener(MouseEvent.MOUSE_OVER, IntroOver); this.addEventListener(MouseEvent.MOUSE_OUT, IntroOut); } } }//package
Section 128
//LineVector (LineVector) package { public class LineVector { public var x:Number; public var y:Number; public function LineVector():void{ x = 0; y = 0; } function Add(_arg1:LineVector):void{ this.x = (this.x + _arg1.x); this.y = (this.y + _arg1.y); } function VecToAngle(_arg1:Number, _arg2:Number):void{ CreateVectorTowardsAngle(_arg1); Scale(_arg2); } function Scale(_arg1:Number):void{ this.x = (this.x * _arg1); this.y = (this.y * _arg1); } function Print():void{ } function ConvertToUnitVector():void{ var _local1:Number = GetLength(); if (_local1 != 0){ this.x = (this.x / _local1); this.y = (this.y / _local1); }; } function CreateVectorTowardsAngle(_arg1:Number):void{ _arg1 = ((_arg1 * Math.PI) / 180); this.x = (Math.cos(_arg1) * 1); this.y = (Math.sin(_arg1) * 1); } function AngleToAlign(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = 0; var _local5:Number = GetAngle(); var _local6:Number = 0; var _local7 = ""; if (_arg1 >= 0){ _local4 = (_arg1 - 180); if ((((_local5 < _arg1)) && ((_local5 > _local4)))){ _local6 = (-(_arg3) * _arg2); _local7 = (_local7 + (((((" AAA " + _arg1) + " ") + _local5) + " ") + _local6)); if ((_local5 - _arg1) > _local6){ _local6 = (_local5 - _arg1); }; } else { _local6 = (_arg3 * _arg2); _local7 = (_local7 + (((((" BBB " + _arg1) + " ") + _local5) + " ") + _local6)); if (_local5 >= 0){ if (_local5 != _local4){ if ((_local5 - _arg1) < _local6){ _local6 = (_local5 - _arg1); }; }; }; }; } else { _local4 = (_arg1 + 180); if ((((_local5 < _local4)) && ((_local5 > _arg1)))){ _local6 = (_arg3 * _arg2); _local7 = (_local7 + (((((" CCC " + _arg1) + " ") + _local5) + " ") + _local6)); if ((_local5 - _arg1) < _local6){ _local6 = (_local5 - _arg1); }; } else { _local6 = (-(_arg3) * _arg2); _local7 = (_local7 + (((((" DDD " + _arg1) + " ") + _local5) + " ") + _local6)); if (_local5 < 0){ if ((_local5 - _arg1) > _local6){ _local6 = (_local5 - _arg1); }; }; }; }; if (Math.abs(_local6) > 30){ } else { if (_local5 == 0){ }; }; return (_local6); } function GetLength():Number{ var _local1:Number = ((this.x * this.x) + (this.y * this.y)); return (Math.sqrt(_local1)); } function GetAngle():Number{ var _local1:Number = Math.atan2(this.y, this.x); var _local2:Number = ((360 * _local1) / (2 * Math.PI)); return (_local2); } } }//package
Section 129
//LockedScreen (LockedScreen) package { import flash.display.*; public dynamic class LockedScreen extends MovieClip { } }//package
Section 130
//M_Menu (M_Menu) package { public dynamic class M_Menu extends MainMenu { public function M_Menu(){ addFrameScript(0, frame1, 74, frame75, 119, frame120, 140, frame141, 154, frame155, 189, frame190, 204, frame205, 205, frame206, 239, frame240, 252, frame253, 266, frame267, 267, frame268, 281, frame282); } function frame141(){ this.play_btn.gotoAndStop("off"); this.settings_btn.gotoAndStop("off"); this.credits_btn.gotoAndStop("off"); this.pmg_btn.gotoAndStop("off"); } function frame120(){ stop(); } function frame253(){ stop(); } function frame155(){ gotoAndStop("main"); } function frame267(){ description_txt.text = ""; this.PlayFinish(); stop(); } function frame268(){ description_txt.text = ""; this.normal_mode.gotoAndStop("off"); this.survival_mode.gotoAndStop("off"); } function frame240(){ this.survival_mode.gotoAndStop("off"); this.normal_mode.gotoAndStop("off"); } function frame205(){ gotoAndPlay("menuIn"); } function frame1(){ this.play_btn.gotoAndStop("off"); this.settings_btn.gotoAndStop("off"); this.credits_btn.gotoAndStop("off"); this.pmg_btn.gotoAndStop("off"); this.SetSelectors(); } function frame75(){ stop(); } function frame206(){ this.play_btn.gotoAndStop("off"); this.settings_btn.gotoAndStop("off"); this.credits_btn.gotoAndStop("off"); this.pmg_btn.gotoAndStop("off"); } function frame190(){ stop(); } function frame282(){ description_txt.text = ""; gotoAndPlay("menuIn"); } } }//package
Section 131
//Main (Main) package { import flash.events.*; import flash.display.*; import flash.text.*; import CPMStar.*; import flash.filters.*; import flash.geom.*; public class Main extends MovieClip { private var blnScreenShown:Boolean; private var blnFirstOut:Boolean; public var MUSIC:Boolean; public var pauseMC:MovieClip; private var blnUShow:Boolean; private var arrBullets:Array; public var upgrade:MovieClip; private var blnTutorialTested:Boolean; private var blnWavesDone:Boolean; private var clickUp:Object; public var bg:MovieClip; private var pBarRefX:Number; private var pBarRefY:Number; private var clickDown:Object; public var blnReset:Boolean; public var puRef:MovieClip; private var blnPower1:Boolean; private var blnPower2:Boolean; private var blnPower3:Boolean; private var failIndex:Number; public var FAIL_MC:MovieClip; private var HEALTH:Number; private var originalBaseRule:Number; public var score_mc:MovieClip; public var objFrameCounter:FrameCounter; private var blnFAIL_time:Boolean; public var intro:MovieClip; private var blnStartShakeStop:Boolean; public var winMC:MovieClip; public var SHOWADS:Boolean; private var p2Count:Number; private var bDistance:Number; private var gState:Number; public var SCORE:Number; private var arrEnemies:Array; public var version_txt:TextField; public var GAMEMODE:Number; private var blnViewingUpgradesScreen:Boolean; public var adBox:MovieClip; public var pu_n:MovieClip; private var blnLeaveRetry:Boolean; public var PL_mc:MovieClip; public var objUrlLocking:UrlLocking; public var bars:MovieClip; private var pTimer:Number; public var shieldMC:MovieClip; public var sComplete:MovieClip; public var base:MovieClip; public var Indexer:Number; private var damageRadius:Number; private var wCount:Number; public var API_Settings:Object; private var blnLeaveUpgrade:Boolean; public var blnSurvive:Boolean; public var SOUND:Boolean; public var WAVE:Number; public var bullet:MovieClip; public var power:MovieClip; public var wave:WaveEngine; private var dCount:Number; private var p3Count:Number; public var sEffects:ScreenEffects; public var locker:MovieClip; public var fail:MovieClip; private var arrFail:Array; private var arrPower:Array; public var bottomScore:MovieClip; private var numUShow:Number; public var CASH:Number; public var sPlayer:SoundPlayer; private var tankerRetest:Array; public var web:Web; public var tutorial:MovieClip; public var menu:MovieClip; public var medal_popup:MovieClip; public var shield:MovieClip; public var LEVEL:Number; private var eDistance:Number; private var tutRef:MovieClip; public var enemy:MovieClip; public var effect:EffectsEngine; private var arrABullets:Array; public var waveNotify:MovieClip; public var mPlayer:MusicPlayer; private var blnPaused:Boolean; public var newgroundsAPIconnector:MovieClip; private var bgShown:Boolean; public var startCount:Number; private var p1Count:Number; private var shakeTimer:Number; public var blnMouseDown:Boolean; private var arrDrags:Array; private var DISTANCE:Number; static var gData:GameData = new GameData(); public function Main():void{ web = new Web(); super(); addFrameScript(0, frame1, 1, frame2); gData.RefPass(this); MUSIC = true; SOUND = true; blnSurvive = false; blnMouseDown = false; blnWavesDone = false; blnReset = false; blnPaused = false; bgShown = false; blnLeaveUpgrade = false; blnViewingUpgradesScreen = false; blnFirstOut = true; blnPower1 = false; blnPower2 = false; blnPower3 = false; blnTutorialTested = false; blnStartShakeStop = true; blnLeaveRetry = true; blnScreenShown = true; shakeTimer = -1; p1Count = -1; p2Count = -1; p3Count = -1; startCount = 0; ChangeState(1); clickDown = {x:0, y:0}; clickUp = {x:0, y:0}; CASH = 0; SCORE = 0; DISTANCE = 0; LEVEL = 1; WAVE = 0; failIndex = 0; GAMEMODE = 1; dCount = -1; wCount = -1; pTimer = -1; bDistance = 10; eDistance = 25; blnUShow = false; numUShow = 0; blnFAIL_time = false; tutRef = null; puRef = null; Indexer = 0; originalBaseRule = 0; arrDrags = new Array(); arrBullets = new Array(); arrEnemies = new Array(); tankerRetest = new Array(); arrPower = new Array(); arrABullets = new Array(); arrFail = new Array(); stage.addEventListener(Event.ENTER_FRAME, Run); stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.addEventListener(KeyboardEvent.KEY_UP, KeyBoardPress); sPlayer = new SoundPlayer(); mPlayer = new MusicPlayer(this.stage); if (gData.blnShowFPS == true){ objFrameCounter = new FrameCounter(stage); }; wave = new WaveEngine(this); effect = new EffectsEngine(this); sEffects = new ScreenEffects(this, stage); objUrlLocking = new UrlLocking(stage, false, false); var _local1:Number = 0; while (_local1 < gData.arrAllowableDom.length) { objUrlLocking.AddAllowableDomain(gData.arrAllowableDom[_local1]); _local1++; }; var _local2:Number = 0; while (_local2 < gData.arrAddFreeDom.length) { objUrlLocking.AddAdFreeDomain(gData.arrAddFreeDom[_local2]); _local2++; }; CreatePreloader(); } private function MouseUp(_arg1:Event):void{ if (gState == 5){ if (startCount < 5){ startCount++; }; }; var _local2:Number = 0; while (_local2 < arrDrags.length) { removeChild(arrDrags[_local2]); _local2++; }; arrDrags.length = 0; if (gState == 5){ if (bars.GetPower() > 0){ if (DISTANCE > 10){ if (blnLeaveUpgrade == false){ sPlayer.PlaySound(new base_shoot(), 0.4); ShootBaseBullet(damageRadius); }; }; }; }; clickUp = {x:stage.mouseX, y:stage.mouseY}; blnMouseDown = false; if (gState == 5){ if (blnLeaveUpgrade == false){ LosePower(); }; }; blnLeaveUpgrade = false; } private function ProbeTrigger(_arg1:MovieClip):void{ var _local2:Number = wave.ReturnCurrentWave(); PlaceEnemy(8, 1, 2, 10, 150); } private function CreateBase():void{ base = new UBase(); base.alpha = 0; base.x = int(((stage.stageWidth / 2) - (base.width / 2))); base.y = base.yLoc; base.name = "base"; base.gotoAndStop(gData.curBS); addChild(base); base.Setup(gData.curAT, gData.slot1, gData.slot2, gData.slot3, gData.slot4); } private function UOverMe3(_arg1:Event):void{ upgrade[("up" + "_3")].gotoAndStop("on"); upgrade[("up" + "_3")].buttonMode = (this.useHandCursor = true); } private function n_up(_arg1:Event):void{ tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, n_over); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, n_out); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, n_up); tutorial.gotoAndStop("power"); } private function n_over(_arg1:Event):void{ tutorial[("next_" + "btn")].buttonMode = (this.useHandCursor = true); tutorial[("next_" + "btn")].gotoAndStop("on"); } private function UOverMe6(_arg1:Event):void{ upgrade[("up" + "_6")].gotoAndStop("on"); upgrade[("up" + "_6")].buttonMode = (this.useHandCursor = true); } private function fail_pmg_over(_arg1:Event):void{ fail.fail_pmg.buttonMode = (this.useHandCursor = true); fail.fail_pmg.gotoAndStop("on"); } private function pmg_pause_up(_arg1:Event):void{ URL_OPEN(1); } private function UOverMe4(_arg1:Event):void{ upgrade[("up" + "_4")].gotoAndStop("on"); upgrade[("up" + "_4")].buttonMode = (this.useHandCursor = true); } private function q3Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_3")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } public function UpdateBStage(_arg1:Number):void{ gData.BS = _arg1; gData.curBS = _arg1; upgrade.class_cost.text = gData.arrUpgradePoints[1][("s" + gData.curBS)]; upgrade.bar_1.max_stop.gotoAndStop(gData.arrUpgradeData[1].fullAmount); upgrade.bar_1.max_stop_black.gotoAndStop(gData.arrUpgradeData[1].fullAmount); upgrade.bar_1.gotoAndStop(gData.curBS); upgrade.turret_cost.text = gData.arrUpgradePoints[6][("s" + gData.curAT)]; upgrade.bar_6.max_stop.gotoAndStop((Main(root).ReturnAllowedAutoTurrets() + 1)); upgrade.bar_6.max_stop_black.gotoAndStop((Main(root).ReturnAllowedAutoTurrets() + 1)); upgrade.bar_6.gotoAndStop(gData.curAT); upgrade.bstage_txt.text = ("Stage " + gData.curBS); upgrade.menu_base.gotoAndStop(gData.BS); } private function UOutMe2(_arg1:Event):void{ upgrade[("up" + "_2")].gotoAndStop("off"); upgrade[("up" + "_2")].buttonMode = (this.useHandCursor = false); } private function UOutMe3(_arg1:Event):void{ upgrade[("up" + "_3")].gotoAndStop("off"); upgrade[("up" + "_3")].buttonMode = (this.useHandCursor = false); } private function UOutMe5(_arg1:Event):void{ upgrade[("up" + "_5")].gotoAndStop("off"); upgrade[("up" + "_5")].buttonMode = (this.useHandCursor = false); } private function UOutMe6(_arg1:Event):void{ upgrade[("up" + "_6")].gotoAndStop("off"); upgrade[("up" + "_6")].buttonMode = (this.useHandCursor = false); } private function UOverMe2(_arg1:Event):void{ upgrade[("up" + "_2")].gotoAndStop("on"); upgrade[("up" + "_2")].buttonMode = (this.useHandCursor = true); } private function AttachEnemy(_arg1:Number, _arg2:Number, _arg3:Number):MovieClip{ if (_arg1 == 1){ enemy = new E1(); }; if (_arg1 == 2){ enemy = new E2(); }; if (_arg1 == 3){ enemy = new E3(); }; if (_arg1 == 4){ enemy = new E4(); }; if (_arg1 == 5){ enemy = new E5(); }; if (_arg1 == 6){ enemy = new E6(); }; if (_arg1 == 7){ enemy = new E7(); }; if (_arg1 == 8){ enemy = new E8(); }; if (_arg1 == 9){ enemy = new E9(); }; if (_arg1 == 10){ enemy = new E10(); }; if (_arg1 == 11){ enemy = new E11(); }; enemy.x = _arg2; enemy.y = _arg3; return (enemy); } public function ShootBossMissles(_arg1:MovieClip):void{ var _local3:Point; var _local4:Point; var _local5:Object; var _local2:Number = 0; while (_local2 < 4) { _local3 = new Point(_arg1[("e" + (_local2 + 11))].x, _arg1[("e" + (_local2 + 11))].y); _local3 = _arg1.localToGlobal(_local3); bullet = new EBBullet(); bullet.x = _local3.x; bullet.y = _local3.y; bullet.name = ("bullet_" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(bullet); arrBullets.push(bullet); _local4 = new Point(MovieClip(root).base.gun1.x, MovieClip(root).base.gun1.y); _local4 = MovieClip(root).base.localToGlobal(_local4); _local5 = {x:_local4.x, y:_local4.y}; bullet.SetTarget(_local5); bullet.Setup(); bullet.Start(); _local2++; }; } private function UOverMe5(_arg1:Event):void{ upgrade[("up" + "_5")].gotoAndStop("on"); upgrade[("up" + "_5")].buttonMode = (this.useHandCursor = true); } public function RemoveBoss(_arg1:MovieClip):void{ removeChild(_arg1); } private function CreatePauseNotify():void{ pauseMC = new PauseN(); pauseMC.x = ((stage.stageWidth / 2) - (pauseMC.width / 2)); pauseMC.y = (((stage.stageHeight / 2) - (pauseMC.height / 2)) - 15); pauseMC.name = "pauseMC"; addChild(pauseMC); pauseMC.pmg_button.addEventListener(MouseEvent.MOUSE_OVER, pmg_pause_over); pauseMC.pmg_button.addEventListener(MouseEvent.MOUSE_OUT, pmg_pause_out); pauseMC.pmg_button.addEventListener(MouseEvent.MOUSE_UP, pmg_pause_up); pauseMC.pmg_button.gotoAndStop("off"); } public function ReturnFAddition():Number{ return (gData.ReturnFrameAddition()); } private function DeletePowerUp(_arg1:MovieClip):void{ var _local3:Number; var _local2:Number = 0; while (_local2 < arrPower.length) { if (_arg1 == arrPower[_local2].mc){ if (arrPower[_local2].type == 1){ _local3 = 0; while (_local3 < arrEnemies.length) { if (((((!((arrEnemies[_local3].type == 9))) && (!((arrEnemies[_local3].type == 6))))) && (!((arrEnemies[_local3].type == 11))))){ arrEnemies[_local3].SetTarget(_arg1); arrEnemies[_local3].myMode = 7; }; _local3++; }; }; removeChild(arrPower[_local2].mc); arrPower.splice(_local2, 1); break; }; _local2++; }; } private function UOutMe4(_arg1:Event):void{ upgrade[("up" + "_4")].gotoAndStop("off"); upgrade[("up" + "_4")].buttonMode = (this.useHandCursor = false); } private function ShowUpgradeDescription():void{ if (blnUShow == true){ upgrade.description_text.text = gData.arrUpgradeData[numUShow].description; upgrade[("continue" + "_game")].alpha = 0; upgrade.upgrade_pmg.alpha = 0; }; } private function DistanceBetween(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = (_arg1 - _arg3); var _local6:Number = (_arg2 - _arg4); return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))); } public function StartTallyOver():void{ DISTANCE = 0; LEVEL = 1; SCORE = 0; if ((((gData.blnWINNER == true)) && ((LEVEL == 1)))){ } else { if (GAMEMODE == 1){ CASH = 0; }; }; gData.Reset(); } private function AutoTurretCollision():void{ var _local2:Number; var _local1:Number = 0; while (_local1 < arrABullets.length) { _local2 = 0; while (_local2 < arrEnemies.length) { if (arrEnemies[_local2].hitTestPoint(arrABullets[_local1].x, arrABullets[_local1].y, true)){ effect.CreateEffect(new Explode2(), arrEnemies[_local2].x, arrEnemies[_local2].y); if (arrEnemies[_local2].blnShield == false){ if (arrEnemies[_local2].TakeDamage(arrABullets[_local1].damage) == true){ arrEnemies[_local2].Dead(); if (arrEnemies[_local2].type == 9){ MotherShipChildren(arrEnemies[_local2]); }; TallyUpdate(arrEnemies[_local2].cReward, "cash"); TallyUpdate(arrEnemies[_local2].pReward, "score"); DeleteEnemy(arrEnemies[_local2]); }; }; DeleteABullet(arrABullets[_local1]); break; }; _local2++; }; _local1++; }; } private function CreateLoseScreen():void{ try { fail = new FailScreen(); fail.x = 0; fail.y = 0; fail.name = "fail"; addChild(fail); fail.waveTitle.text = ""; fail.scoreTitle.text = ""; fail.score_txt.text = ""; fail.wave_txt.text = ""; fail[("fail" + "_main")].addEventListener(MouseEvent.MOUSE_UP, failMainUp); fail[("fail" + "_retry")].addEventListener(MouseEvent.MOUSE_UP, failRetryUp); fail.fail_pmg.addEventListener(MouseEvent.MOUSE_OVER, fail_pmg_over); fail.fail_pmg.addEventListener(MouseEvent.MOUSE_OUT, fail_pmg_out); fail.fail_pmg.addEventListener(MouseEvent.MOUSE_UP, fail_pmg_up); if (GAMEMODE == 2){ fail[("fail" + "_main")].alpha = 1; fail[("fail" + "_retry")].x = -2000; fail.loser.end_txt.text = ""; fail.waveTitle.text = "Wave:"; fail.scoreTitle.text = "Score:"; fail.score_txt.text = SCORE; fail.wave_txt.text = WAVE; }; blnFAIL_time = true; fail.fail_pmg.gotoAndStop("off"); } catch(e:Error) { }; } private function q6Over(_arg1:Event):void{ numUShow = 6; blnUShow = true; upgrade[("q" + "_6")].buttonMode = (this.useHandCursor = true); } public function DestroyAfterWin():void{ if (GAMEMODE == 1){ if (LEVEL == 10){ try { medal_popup.unlockMedal("INDESTRUCTIBLE"); } catch(e:Error) { }; }; }; base.ATActivate = false; wave.Stop(); effect.DeleteMainRefEventListener(); CreateStageComplete(); base.KillAutoTurrets(); wCount = 200; } public function Setup():void{ version_txt.text = gData.versionTXT; ChangeState(2); CreateIntro(); } private function CreateBG():void{ if (GAMEMODE == 1){ if (LEVEL == 1){ bg = new BGround1(); } else { if (LEVEL == 2){ bg = new BGround2(); } else { if (LEVEL == 3){ bg = new BGround3(); } else { if (LEVEL == 4){ bg = new BGround4(); } else { if (LEVEL == 5){ bg = new BGround5(); } else { if (LEVEL == 6){ bg = new BGround6(); } else { if (LEVEL == 7){ bg = new BGround7(); } else { if (LEVEL == 8){ bg = new BGround8(); } else { if (LEVEL == 9){ bg = new BGround9(); } else { if (LEVEL == 10){ bg = new BGround10(); }; }; }; }; }; }; }; }; }; }; } else { if (GAMEMODE == 2){ bg = new BGround11(); }; }; bg.alpha = 0; bg.x = -5; bg.y = -5; bg.name = "bg"; addChild(bg); bgShown = false; } private function q2Over(_arg1:Event):void{ numUShow = 2; blnUShow = true; upgrade[("q" + "_2")].buttonMode = (this.useHandCursor = true); } public function RetrieveEDis():Number{ return (eDistance); } private function Run(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; switch (gState){ case 1: break; case 2: break; case 3: break; case 4: CreateTutorial(); break; case 5: RotateBaseGun(); ExternalRun(); ClickDrag(); BGAlphaUp(); WinTest(); AutoTurretCollision(); PauseDelay(); TimerShake(); break; case 6: bars.Run(); base.Run(); _local2 = 0; while (_local2 < arrBullets.length) { arrBullets[_local2].Run(); _local2++; }; _local3 = 0; while (_local3 < arrABullets.length) { arrABullets[_local3].Run(); _local3++; }; DestroyTimer(); CreateFailMCs(); break; case 7: bars.Run(); base.Run(); _local4 = 0; while (_local4 < arrBullets.length) { arrBullets[_local4].Run(); _local4++; }; _local5 = 0; while (_local5 < arrABullets.length) { arrABullets[_local5].Run(); _local5++; }; WinTimer(); break; case 8: PauseDelay(); break; }; PowerUpsOn(); ShowUpgradeDescription(); } public function WinTest():void{ if (blnWavesDone == true){ if (arrEnemies.length == 0){ if (arrBullets.length == 0){ gState = 7; base.ATActivate = false; DestroyAfterWin(); }; }; }; } private function DestroyAfterLose():void{ if (GAMEMODE == 2){ if (SCORE >= 225000){ try { MovieClip(root).medal_popup.unlockMedal("GLORIOUS"); } catch(e:Error) { }; }; }; gData.DeathAdjust(); wave.Stop(); effect.DeleteMainRefEventListener(); base.KillAutoTurrets(); dCount = 150; } private function upgrade_pmg_out(_arg1:Event):void{ upgrade.upgrade_pmg.buttonMode = (this.useHandCursor = false); upgrade.upgrade_pmg.gotoAndStop("off"); } public function ShootBossRockets(_arg1:MovieClip):void{ var _local3:Point; var _local4:Point; var _local5:Object; var _local2:Number = 0; while (_local2 < 9) { _local3 = new Point(_arg1[("e" + (_local2 + 1))].x, _arg1[("e" + (_local2 + 1))].y); _local3 = _arg1.localToGlobal(_local3); bullet = new E2Bullet(); bullet.x = _local3.x; bullet.y = _local3.y; bullet.name = ("bullet_" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(bullet); arrBullets.push(bullet); _local4 = new Point(MovieClip(root).base.gun1.x, MovieClip(root).base.gun1.y); _local4 = MovieClip(root).base.localToGlobal(_local4); _local5 = {x:_local4.x, y:_local4.y}; bullet.SetTarget(_local5); bullet.Setup(); bullet.Start(); _local2++; }; } function frame1(){ try { MochiBot.track(this, "9baf0ab9"); } catch(e:Error) { }; API_Settings = {movie_id:7932, enc_key:"4jwUh8sWzwKwbDetCTGVamgQmNehmcFE", debug_mode:false, movie_version:""}; newgroundsAPIconnector.initialize(API_Settings); stop(); } public function DeleteEnemy(_arg1:MovieClip):void{ var _local3:Object; var _local2:Number = 0; while (_local2 < arrEnemies.length) { if (arrEnemies[_local2] == _arg1){ PowerUpCheck(_arg1); _local3 = {x:_arg1.x, y:_arg1.y}; if (_arg1.AmIAlive() == true){ if (arrEnemies[_local2].type == 5){ if (gState == 5){ if (startCount > 2){ sEffects.SHAKE(20); }; }; ShootInvisibleTankerFixBullet(_local3, 80); sPlayer.PlaySound(new tanker_explosion(), 0.4); }; }; _arg1.RemoveEnemy(); arrEnemies.splice(_local2, 1); break; }; _local2++; }; } private function ActivateShield():void{ if (shieldMC != null){ RemoveShield(); }; shield = new BShield(); var _local1:Point = new Point(MovieClip(root).base.gun1.x, MovieClip(root).base.gun1.y); _local1 = MovieClip(root).base.localToGlobal(_local1); shield.x = _local1.x; shield.y = _local1.y; shield.name = "shield"; addChild(shield); shieldMC = shield; } public function DeleteABullet(_arg1:MovieClip):void{ var _local2:Number = 0; while (_local2 < arrABullets.length) { if (_arg1 == arrABullets[_local2]){ _arg1.RemoveBullet(); arrABullets.splice(_local2, 1); break; }; _local2++; }; } private function upgrade_pmg_up(_arg1:Event):void{ URL_OPEN(1); } private function q4Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_4")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } private function failRetryUp(_arg1:Event):void{ blnLeaveRetry = true; CleanEverything(); CASH = gData.prevCASH; SCORE = gData.prevSCORE; ToGameAfterPreScreen(); wave = new WaveEngine(this); } private function PowerUpCheck(_arg1:MovieClip):void{ var _local2:Number = RandNum(1, 100); if ((((((((_arg1.type == 5)) || ((_arg1.type == 6)))) || ((_arg1.type == 9)))) || ((_arg1.type == 11)))){ if (_local2 <= 8){ if ((((_arg1.x > 0)) && ((_arg1.x < stage.stageWidth)))){ if ((((_arg1.y > 0)) && ((_arg1.y < stage.stageHeight)))){ CreatePowerUp(_arg1.x, _arg1.y); }; }; }; } else { if (_local2 <= 3){ if ((((_arg1.x > 0)) && ((_arg1.x < stage.stageWidth)))){ if ((((_arg1.y > 0)) && ((_arg1.y < stage.stageHeight)))){ CreatePowerUp(_arg1.x, _arg1.y); }; }; }; }; } private function BackToMenu():void{ blnViewingUpgradesScreen = false; blnSurvive = false; blnMouseDown = false; blnWavesDone = false; blnReset = false; blnPaused = false; bgShown = false; blnLeaveUpgrade = false; blnFirstOut = true; blnStartShakeStop = true; blnTutorialTested = false; blnFAIL_time = false; KillAllFAILs(); blnPower1 = false; blnPower2 = false; blnPower3 = false; p1Count = -1; p2Count = -1; p3Count = -1; dCount = -1; wCount = -1; pTimer = -1; startCount = 0; ChangeState(3); bDistance = 10; eDistance = 25; Indexer = 0; originalBaseRule = 0; clickDown = {x:0, y:0}; clickUp = {x:0, y:0}; DISTANCE = 0; LEVEL = 1; SCORE = 0; CASH = 0; WAVE = 0; GAMEMODE = 1; Indexer = 0; arrDrags = new Array(); arrBullets = new Array(); arrEnemies = new Array(); tankerRetest = new Array(); arrPower = new Array(); arrABullets = new Array(); arrFail = new Array(); stage.removeEventListener(Event.ENTER_FRAME, Run); stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.removeEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.removeEventListener(KeyboardEvent.KEY_UP, KeyBoardPress); stage.addEventListener(Event.ENTER_FRAME, Run); stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.addEventListener(KeyboardEvent.KEY_UP, KeyBoardPress); wave = new WaveEngine(this); effect = new EffectsEngine(this); ChangeState(2); CreateMainMenu(); gData.Reset(); } public function GetMusic():Boolean{ return (MUSIC); } private function b_over(_arg1:Event):void{ tutorial[("back_" + "btn")].buttonMode = (this.useHandCursor = true); tutorial[("back_" + "btn")].gotoAndStop("on"); } private function TallyText():void{ bottomScore.score_txt.text = SCORE; } private function CreateTutorial():void{ if (blnTutorialTested == false){ blnTutorialTested = true; tutorial = new TutVid(); tutorial.x = 0; tutorial.y = 0; tutorial.name = "tutorial"; addChild(tutorial); tutRef = tutorial; tutorial[("play_" + "btn")].addEventListener(MouseEvent.MOUSE_OVER, tp_over); tutorial[("play_" + "btn")].addEventListener(MouseEvent.MOUSE_OUT, tp_out); tutorial[("play_" + "btn")].addEventListener(MouseEvent.MOUSE_UP, tp_up); tutorial[("next_" + "btn")].addEventListener(MouseEvent.MOUSE_OVER, n_over); tutorial[("next_" + "btn")].addEventListener(MouseEvent.MOUSE_OUT, n_out); tutorial[("next_" + "btn")].addEventListener(MouseEvent.MOUSE_UP, n_up); tutorial[("back_" + "btn")].addEventListener(MouseEvent.MOUSE_OVER, b_over); tutorial[("back_" + "btn")].addEventListener(MouseEvent.MOUSE_OUT, b_out); tutorial[("back_" + "btn")].addEventListener(MouseEvent.MOUSE_UP, b_up); }; } public function CreateStageComplete():void{ sComplete = new StageComplete(); sComplete.x = 8; sComplete.y = 201; sComplete.name = "sComplete"; addChild(sComplete); } function frame2(){ PL_mc.SetFlag(); gotoAndStop("main"); } private function ExternalRun():void{ base.Run(); bars.Run(); wave.Run(); var _local1:Number = 0; while (_local1 < arrBullets.length) { arrBullets[_local1].Run(); _local1++; }; var _local2:Number = 0; while (_local2 < arrEnemies.length) { arrEnemies[_local2].Run(); _local2++; }; var _local3:Number = 0; while (_local3 < arrABullets.length) { arrABullets[_local3].Run(); _local3++; }; } private function ShootBaseBullet(_arg1:Number):void{ var _local2:Point = new Point(base.gun1.emitter.x, base.gun1.emitter.y); _local2 = base.gun1.localToGlobal(_local2); bullet = new MBullet(); bullet.x = _local2.x; bullet.y = _local2.y; bullet.rotation = base.gun1.rotation; bullet.name = "main_bullet"; addChild(bullet); arrBullets.push(bullet); bullet.SetTarget(clickDown); bullet.SetRadius(_arg1); bullet.Setup(); bullet.Start(); } public function EffectKillSelf(_arg1:MovieClip):void{ effect.DeleteEffect(_arg1); } private function KeyBoardPress(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 80){ if (pTimer < 0){ pTimer = 15; if (blnPaused == true){ blnPaused = false; UnPause(); } else { blnPaused = true; Pause(); }; }; }; } private function BGAlphaUp():void{ if (bgShown == false){ bg.alpha = (bg.alpha + 0.1); if (bg.alpha >= 1){ bg.alpha = 1; bgShown = true; bg.cacheAsBitmap = true; }; }; } public function DeleteBullet(_arg1:MovieClip):void{ var _local2:Number = 0; while (_local2 < arrBullets.length) { if (_arg1 == arrBullets[_local2]){ _arg1.RemoveBullet(); arrBullets.splice(_local2, 1); break; }; _local2++; }; } public function ChangeState(_arg1:Number):void{ gState = _arg1; } public function ReturnCurrentBaseStage():Number{ return (gData.BS); } public function GrabRechargeRate():Number{ return (gData.RECHARGERATE); } private function upgrade_pmg_over(_arg1:Event):void{ upgrade.upgrade_pmg.buttonMode = (this.useHandCursor = true); upgrade.upgrade_pmg.gotoAndStop("on"); } private function UnPause():void{ gState = 5; this.removeChild(pauseMC); } private function CreatePreloader():void{ var _local1:int; var _local2:int; var _local3:DisplayObject; PL_mc = new PreloaderMC(); PL_mc.SetMainRef(this); SHOWADS = objUrlLocking.GetShowAds(); if (SHOWADS == false){ this.adBox.alpha = 0; this.adBox.x = -1000; PL_mc.x = int(((stage.stageWidth / 2) - (PL_mc.width / 2))); PL_mc.y = int(((stage.stageHeight / 2) - (PL_mc.height + 10))); } else { _local1 = 1052; _local2 = 13; _local3 = AdLoader.LoadAd(_local1, _local2); adBox.addChild(_local3); this.adBox.alpha = 1; PL_mc.x = int(((stage.stageWidth / 2) - (PL_mc.width / 2))); PL_mc.y = int((((stage.stageHeight / 2) - PL_mc.height) + 150)); }; PL_mc.name = "PL_mc"; addChild(PL_mc); PL_mc.PL_Listeners(); } private function UpdateUpgradeText():void{ upgrade.uHeader.text = gData.strHeader; upgrade.specHead.text = gData.strSpecs; upgrade.s1.text = gData.strCash; upgrade.s2.text = gData.strPoints; upgrade.s3.text = gData.strLevel; upgrade.s4.text = gData.strStage; upgrade.cash_txt.text = CASH; upgrade.points_txt.text = SCORE; upgrade.level_txt.text = LEVEL; upgrade.stage_txt.text = gData.BS; gData.prevCASH = CASH; gData.prevSCORE = SCORE; upgrade.bstage_txt.text = ("Stage " + gData.curBS); upgrade.h1.text = gData.strH1; upgrade.h2.text = gData.strH2; upgrade.h3.text = gData.strH3; upgrade.h4.text = gData.strH4; upgrade.slot1.text = gData.arrUpgradeData[1].text; upgrade.slot2.text = gData.arrUpgradeData[2].text; upgrade.slot3.text = gData.arrUpgradeData[3].text; upgrade.slot4.text = gData.arrUpgradeData[4].text; upgrade.slot5.text = gData.arrUpgradeData[5].text; upgrade.slot6.text = gData.arrUpgradeData[6].text; if (gData.curBS < (gData.arrUpgradePoints[1].upgrades + 1)){ upgrade.class_cost.text = gData.arrUpgradePoints[1][("s" + gData.curBS)]; } else { upgrade.class_cost.text = "-------"; }; if (gData.curHA < (gData.arrUpgradePoints[2].upgrades + 1)){ upgrade.armor_cost.text = gData.arrUpgradePoints[2][("s" + gData.curHA)]; } else { upgrade.armor_cost.text = "FULL"; }; if (gData.curDA < (gData.arrUpgradePoints[3].upgrades + 1)){ upgrade.dArea_cost.text = gData.arrUpgradePoints[3][("s" + gData.curDA)]; } else { upgrade.dArea_cost.text = "FULL"; }; if (gData.curDS < (gData.arrUpgradePoints[4].upgrades + 1)){ upgrade.dStrength_cost.text = gData.arrUpgradePoints[4][("s" + gData.curDS)]; } else { upgrade.dStrength_cost.text = "FULL"; }; if (gData.curRR < (gData.arrUpgradePoints[5].upgrades + 1)){ upgrade.recharge_cost.text = gData.arrUpgradePoints[5][("s" + gData.curRR)]; } else { upgrade.recharge_cost.text = "FULL"; }; if (ReturnCurrentAUAmount() < ReturnAllowedAutoTurrets()){ upgrade.turret_cost.text = gData.arrUpgradePoints[6][("s" + gData.curAT)]; } else { upgrade.turret_cost.text = "FULL"; }; upgrade.bar_1.max_stop.gotoAndStop(gData.arrUpgradeData[1].fullAmount); upgrade.bar_2.max_stop.gotoAndStop(gData.arrUpgradeData[2].fullAmount); upgrade.bar_3.max_stop.gotoAndStop(gData.arrUpgradeData[3].fullAmount); upgrade.bar_4.max_stop.gotoAndStop(gData.arrUpgradeData[4].fullAmount); upgrade.bar_5.max_stop.gotoAndStop(gData.arrUpgradeData[5].fullAmount); upgrade.bar_6.max_stop.gotoAndStop((Main(root).ReturnAllowedAutoTurrets() + 1)); upgrade.bar_1.max_stop_black.gotoAndStop(gData.arrUpgradeData[1].fullAmount); upgrade.bar_2.max_stop_black.gotoAndStop(gData.arrUpgradeData[2].fullAmount); upgrade.bar_3.max_stop_black.gotoAndStop(gData.arrUpgradeData[3].fullAmount); upgrade.bar_4.max_stop_black.gotoAndStop(gData.arrUpgradeData[4].fullAmount); upgrade.bar_5.max_stop_black.gotoAndStop(gData.arrUpgradeData[5].fullAmount); upgrade.bar_6.max_stop_black.gotoAndStop((Main(root).ReturnAllowedAutoTurrets() + 1)); upgrade.bar_1.gotoAndStop(gData.curBS); upgrade.bar_2.gotoAndStop(gData.curHA); upgrade.bar_3.gotoAndStop(gData.curDA); upgrade.bar_4.gotoAndStop(gData.curDS); upgrade.bar_5.gotoAndStop(gData.curRR); upgrade.bar_6.gotoAndStop(gData.curAT); if (gData.CheckForStageUpgrade() == 2){ UpdateBStage(2); } else { if (gData.CheckForStageUpgrade() == 3){ UpdateBStage(3); }; }; upgrade.menu_base.gotoAndStop(gData.BS); } private function CreatePUNotify(_arg1:Number):void{ if (puRef != null){ DestroyPUN(); }; pu_n = new PUNotice(); pu_n.x = 275; pu_n.y = 250; pu_n.name = "pu_n"; addChild(pu_n); puRef = pu_n; if (_arg1 == 1){ pu_n.gotoAndStop("shield"); } else { if (_arg1 == 2){ pu_n.gotoAndStop("maxPower"); } else { if (_arg1 == 3){ pu_n.gotoAndStop("magnet"); }; }; }; } private function ClickDrag():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:MovieClip; var _local6:Number; var _local7:MovieClip; var _local8:MovieClip; var _local9:MovieClip; if (blnMouseDown == true){ _local1 = (clickDown.x - stage.mouseX); _local2 = (clickDown.y - stage.mouseY); DISTANCE = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); _local3 = ((DISTANCE / 2) * bars.mult); if (_local3 < 0){ (_local3 * -1); }; if ((bars.GetHOrPMult(2) * bars.mult2) < _local3){ _local3 = (bars.GetHOrPMult(2) * bars.mult2); }; _local4 = (pBarRefX + (bars.powerBar.width - _local3)); _local5 = new MovieClip(); _local5.graphics.beginFill(0, 0.3); _local5.graphics.drawRect(_local4, pBarRefY, _local3, 5); _local6 = 0; while (_local6 < arrDrags.length) { removeChild(arrDrags[_local6]); _local6++; }; arrDrags.length = 0; _local7 = new MovieClip(); _local7.graphics.beginFill(0xFFFFFF, 0.05); _local7.graphics.drawCircle(clickDown.x, clickDown.y, DISTANCE); _local8 = new MovieClip(); _local8.graphics.beginFill(0xFFFFFF, 0.09); _local8.graphics.drawCircle(clickDown.x, clickDown.y, ((_local3 * 2) / bars.mult)); damageRadius = (_local8.width / 2); _local9 = new MovieClip(); _local9.graphics.lineStyle(1, 11272191, 0.4); _local9.graphics.moveTo(clickDown.x, clickDown.y); _local9.graphics.lineTo(stage.mouseX, stage.mouseY); addChild(_local7); addChild(_local8); addChild(_local9); addChild(_local5); arrDrags.push(_local7); arrDrags.push(_local8); arrDrags.push(_local9); arrDrags.push(_local5); }; } private function MouseDown(_arg1:Event):void{ clickDown = {x:stage.mouseX, y:stage.mouseY}; blnMouseDown = true; } private function LosePower():void{ var _local1:Number = (clickDown.x - clickUp.x); var _local2:Number = (clickDown.y - clickUp.y); var _local3:Number = int(Math.sqrt(((_local1 * _local1) + (_local2 * _local2)))); _local3 = (_local3 * -1); bars.AddOrSubtract((_local3 / 2), "power"); } public function DestroyPUN():void{ try { if (puRef != null){ MovieClip(root).removeChild(MovieClip(root).pu_n); puRef = null; }; } catch(e:Error) { }; } public function ReturnCurrentAUAmount():Number{ var _local1:Number = 0; if (gData.slot1 == true){ _local1++; }; if (gData.slot2 == true){ _local1++; }; if (gData.slot3 == true){ _local1++; }; if (gData.slot4 == true){ _local1++; }; return (_local1); } private function tp_over(_arg1:Event):void{ tutorial[("play_" + "btn")].buttonMode = (this.useHandCursor = true); tutorial[("play_" + "btn")].gotoAndStop("on"); } private function CreateIntro():void{ if (gData.blnGameLocked == true){ if (objUrlLocking.GetLocked() == false){ intro = new SplashIntro(); intro.x = 74; intro.y = 80; intro.name = "intro"; addChild(intro); intro.Setup(); } else { CreateLockedScreen(); }; } else { intro = new SplashIntro(); intro.x = 74; intro.y = 80; intro.name = "intro"; addChild(intro); intro.Setup(); }; } private function MotherShipChildren(_arg1:MovieClip):void{ var _local2:Point = new Point(_arg1[("m" + "Spawn1")].x, _arg1[("m" + "Spawn1")].y); _local2 = _arg1.localToGlobal(_local2); var _local3:MovieClip = AttachEnemy(10, _local2.x, _local2.y); var _local4:LineVector = new LineVector(); _local4.x = ((base.x + (base.width / 2)) - _local3.x); _local4.y = ((base.y + (base.height / 2)) - _local3.y); _local3.rotation = _local4.GetAngle(); _local3.name = ("spawn" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(_local3); arrEnemies.push(_local3); _local3.SetTarget(MovieClip(root).base); _local3.SetRefs(this); _local3.Setup(); _local3.Start(); _local2 = new Point(_arg1[("m" + "Spawn2")].x, _arg1[("m" + "Spawn2")].y); _local2 = _arg1.localToGlobal(_local2); var _local5:MovieClip = AttachEnemy(10, _local2.x, _local2.y); _local4.x = ((base.x + (base.width / 2)) - _local5.x); _local4.y = ((base.y + (base.height / 2)) - _local5.y); _local5.rotation = _local4.GetAngle(); _local5.name = ("spawn" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(_local5); arrEnemies.push(_local5); _local5.SetTarget(MovieClip(root).base); _local5.SetRefs(this); _local5.Setup(); _local5.Start(); } public function FillWinScore():String{ return (String(SCORE)); } public function FindTarget(_arg1:MovieClip):MovieClip{ var _local2:Point = new Point(_arg1.x, _arg1.y); _local2 = localToGlobal(_local2); var _local3:Number = 0; while (_local3 < arrEnemies.length) { if (arrEnemies[_local3].type != 4){ if (GetDistance(arrEnemies[_local3], _local2.x, _local2.y) < 400){ return (arrEnemies[_local3]); }; }; _local3++; }; return (null); } public function RetrieveGameState():Number{ return (gState); } private function pmg_pause_over(_arg1:Event):void{ pauseMC.pmg_button.buttonMode = (this.useHandCursor = true); pauseMC.pmg_button.gotoAndStop("on"); } public function PlaceSpawn(_arg1:MovieClip):void{ var _local2:MovieClip = AttachEnemy(_arg1.whichSpawn, _arg1.x, _arg1.y); var _local3:LineVector = new LineVector(); _local3.x = ((base.x + (base.width / 2)) - _local2.x); _local3.y = ((base.y + (base.height / 2)) - _local2.y); _local2.rotation = _local3.GetAngle(); _local2.name = ("spawn" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(_local2); arrEnemies.push(_local2); _local2.SetTarget(MovieClip(root).base); _local2.SetRefs(this); _local2.Setup(); _local2.Start(); _arg1.hatch.gotoAndPlay("close"); } private function RotateBaseGun():void{ var _local1:Point; var _local2:LineVector; if (blnMouseDown == false){ _local1 = new Point(stage.mouseX, stage.mouseY); _local1 = base.globalToLocal(_local1); _local2 = new LineVector(); _local2.x = (_local1.x - base.gun1.x); _local2.y = (_local1.y - base.gun1.y); base.gun1.rotation = _local2.GetAngle(); }; } public function WinTimer():void{ var _local1:Number; if (wCount > 0){ wCount--; } else { if (wCount == 0){ _local1 = 0; while (_local1 < arrABullets.length) { arrABullets[_local1].RemoveBullet(); _local1++; }; arrABullets.length = 0; CleanEverything(); if (((((LEVEL + 1) >= 11)) || ((GAMEMODE == 2)))){ CreateWinScreen(); wCount = -1; gData.blnWINNER = true; } else { CreateUpgradeMenu(); LEVEL++; UpdateUpgradeText(); wCount = -1; }; }; }; } private function failMainUp(_arg1:Event):void{ fail[("fail" + "_main")].removeEventListener(MouseEvent.MOUSE_UP, failMainUp); removeChild(fail); BackToMenu(); blnFAIL_time = false; KillAllFAILs(); } private function CreateScoreMC():void{ score_mc = new ScoreMC(); score_mc.x = -18.1; score_mc.y = 473; score_mc.name = "score_mc"; addChild(score_mc); bottomScore = score_mc; } public function GetObjDistance(_arg1:Object, _arg2:Number, _arg3:Number):Number{ var _local4:Number = (_arg1.x - _arg2); var _local5:Number = (_arg1.y - _arg3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } private function CreateUpgradeMenu():void{ sEffects.Off(); blnStartShakeStop = true; blnLeaveRetry = true; upgrade = new UpgradeMenu(); upgrade.x = 69.5; upgrade.y = 20; upgrade.name = "upgrade"; addChild(upgrade); upgrade[("up" + "_2")].gotoAndStop("off"); upgrade[("up" + "_3")].gotoAndStop("off"); upgrade[("up" + "_4")].gotoAndStop("off"); upgrade[("up" + "_5")].gotoAndStop("off"); upgrade[("up" + "_6")].gotoAndStop("off"); upgrade[("up" + "_2")].addEventListener(MouseEvent.MOUSE_OVER, UOverMe2); upgrade[("up" + "_2")].addEventListener(MouseEvent.MOUSE_OUT, UOutMe2); upgrade[("up" + "_2")].addEventListener(MouseEvent.MOUSE_UP, UUpMe2); upgrade[("up" + "_3")].addEventListener(MouseEvent.MOUSE_OVER, UOverMe3); upgrade[("up" + "_3")].addEventListener(MouseEvent.MOUSE_OUT, UOutMe3); upgrade[("up" + "_3")].addEventListener(MouseEvent.MOUSE_UP, UUpMe3); upgrade[("up" + "_4")].addEventListener(MouseEvent.MOUSE_OVER, UOverMe4); upgrade[("up" + "_4")].addEventListener(MouseEvent.MOUSE_OUT, UOutMe4); upgrade[("up" + "_4")].addEventListener(MouseEvent.MOUSE_UP, UUpMe4); upgrade[("up" + "_5")].addEventListener(MouseEvent.MOUSE_OVER, UOverMe5); upgrade[("up" + "_5")].addEventListener(MouseEvent.MOUSE_OUT, UOutMe5); upgrade[("up" + "_5")].addEventListener(MouseEvent.MOUSE_UP, UUpMe5); upgrade[("up" + "_6")].addEventListener(MouseEvent.MOUSE_OVER, UOverMe6); upgrade[("up" + "_6")].addEventListener(MouseEvent.MOUSE_OUT, UOutMe6); upgrade[("up" + "_6")].addEventListener(MouseEvent.MOUSE_UP, UUpMe6); upgrade[("q" + "_1")].addEventListener(MouseEvent.MOUSE_OVER, q1Over); upgrade[("q" + "_1")].addEventListener(MouseEvent.MOUSE_OUT, q1Out); upgrade[("q" + "_2")].addEventListener(MouseEvent.MOUSE_OVER, q2Over); upgrade[("q" + "_2")].addEventListener(MouseEvent.MOUSE_OUT, q2Out); upgrade[("q" + "_3")].addEventListener(MouseEvent.MOUSE_OVER, q3Over); upgrade[("q" + "_3")].addEventListener(MouseEvent.MOUSE_OUT, q3Out); upgrade[("q" + "_4")].addEventListener(MouseEvent.MOUSE_OVER, q4Over); upgrade[("q" + "_4")].addEventListener(MouseEvent.MOUSE_OUT, q4Out); upgrade[("q" + "_5")].addEventListener(MouseEvent.MOUSE_OVER, q5Over); upgrade[("q" + "_5")].addEventListener(MouseEvent.MOUSE_OUT, q5Out); upgrade[("q" + "_6")].addEventListener(MouseEvent.MOUSE_OVER, q6Over); upgrade[("q" + "_6")].addEventListener(MouseEvent.MOUSE_OUT, q6Out); upgrade[("continue" + "_game")].addEventListener(MouseEvent.MOUSE_OVER, contOver); upgrade[("continue" + "_game")].addEventListener(MouseEvent.MOUSE_OUT, contOut); upgrade[("continue" + "_game")].addEventListener(MouseEvent.MOUSE_UP, contUp); upgrade.upgrade_pmg.addEventListener(MouseEvent.MOUSE_OVER, upgrade_pmg_over); upgrade.upgrade_pmg.addEventListener(MouseEvent.MOUSE_OUT, upgrade_pmg_out); upgrade.upgrade_pmg.addEventListener(MouseEvent.MOUSE_UP, upgrade_pmg_up); upgrade[("continue" + "_game")].gotoAndStop("off"); upgrade.upgrade_pmg.gotoAndStop("off"); } private function AddAutoTurret():void{ CASH = (CASH - gData.arrUpgradePoints[6][("s" + gData.curAT)]); gData.curAT++; if (gData.slot1 == false){ gData.slot1 = true; } else { if (gData.slot2 == false){ gData.slot2 = true; } else { if (gData.slot3 == false){ gData.slot3 = true; } else { if (gData.slot4 == false){ gData.slot4 = true; }; }; }; }; } private function q5Over(_arg1:Event):void{ numUShow = 5; blnUShow = true; upgrade[("q" + "_5")].buttonMode = (this.useHandCursor = true); } private function UpgradeClick(_arg1:Number):void{ if (_arg1 == 1){ } else { if (_arg1 == 2){ if (gData.curHA < (gData.arrUpgradePoints[2].upgrades + 1)){ if (CASH >= gData.arrUpgradePoints[2][("s" + gData.curHA)]){ CASH = (CASH - gData.arrUpgradePoints[2][("s" + gData.curHA)]); gData.curHA++; gData.HEALTHMULTIPLIER = (gData.HEALTHMULTIPLIER - gData.armorMultDecrement); }; }; } else { if (_arg1 == 3){ if (gData.curDA < (gData.arrUpgradePoints[3].upgrades + 1)){ if (CASH >= gData.arrUpgradePoints[3][("s" + gData.curDA)]){ CASH = (CASH - gData.arrUpgradePoints[3][("s" + gData.curDA)]); gData.curDA++; gData.ChangeBaseRule((gData.ReturnCurrentBaseRule() + gData.areaIncrement)); }; }; } else { if (_arg1 == 4){ if (gData.curDS < (gData.arrUpgradePoints[4].upgrades + 1)){ if (CASH >= gData.arrUpgradePoints[4][("s" + gData.curDS)]){ CASH = (CASH - gData.arrUpgradePoints[4][("s" + gData.curDS)]); gData.curDS++; gData.BASEBULLETDAMAGE = (gData.BASEBULLETDAMAGE + gData.damageIncrement); }; }; } else { if (_arg1 == 5){ if (gData.curRR < (gData.arrUpgradePoints[5].upgrades + 1)){ if (CASH >= gData.arrUpgradePoints[5][("s" + gData.curRR)]){ CASH = (CASH - gData.arrUpgradePoints[5][("s" + gData.curRR)]); gData.curRR++; if (GAMEMODE == 1){ bars.SwitchRechargeRate((gData.RECHARGERATE + gData.rechargeIncrement)); }; gData.RECHARGERATE = (gData.RECHARGERATE + gData.rechargeIncrement); }; }; } else { if (_arg1 == 6){ if (ReturnCurrentAUAmount() <= ReturnAllowedAutoTurrets()){ if (CASH >= gData.arrUpgradePoints[6][("s" + gData.curAT)]){ if (gData.BS == 1){ if ((((gData.slot1 == false)) || ((gData.slot2 == false)))){ AddAutoTurret(); }; } else { if (gData.BS == 2){ if ((((((gData.slot1 == false)) || ((gData.slot2 == false)))) || ((gData.slot3 == false)))){ AddAutoTurret(); }; } else { if (gData.BS == 3){ if ((((((((gData.slot1 == false)) || ((gData.slot2 == false)))) || ((gData.slot3 == false)))) || ((gData.slot4 == false)))){ AddAutoTurret(); }; }; }; }; }; }; }; }; }; }; }; }; UpdateUpgradeText(); } private function q1Over(_arg1:Event):void{ numUShow = 1; blnUShow = true; upgrade[("q" + "_1")].buttonMode = (this.useHandCursor = true); } public function PlaceEnemy(_arg1:Number=1, _arg2:Number=1, _arg3:Number=0, _arg4:Number=10, _arg5:Number=40):void{ var _local11:Number; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = 0; if (_arg1 == 4){ _local8 = RandNum(1, 2); if (_local8 == 1){ _local6 = -40; _local7 = RandNum(50, stage.stageHeight); } else { _local6 = (stage.stageWidth + 40); _local7 = RandNum(50, stage.stageHeight); }; } else { if (_arg2 == 1){ _local11 = RandNum(1, 3); if (_local11 == 1){ _local6 = -50; _local7 = RandNum(50, stage.stageHeight); } else { if (_local11 == 2){ _local6 = (stage.stageWidth + 50); _local7 = RandNum(50, stage.stageHeight); } else { if (_local11 == 3){ _local6 = RandNum(0, stage.stageWidth); _local7 = (stage.stageHeight + 50); }; }; }; } else { if (_arg2 == 2){ _local6 = (stage.stageWidth / 2); _local7 = (stage.stageHeight + 50); } else { if (_arg2 == 3){ _local6 = RandNum(0, stage.stageWidth); _local7 = (stage.stageHeight + 50); } else { if (_arg2 == 4){ _local6 = -50; _local7 = RandNum(50, stage.stageHeight); } else { if (_arg2 == 5){ _local6 = (stage.stageWidth + 50); _local7 = RandNum(50, stage.stageHeight); } else { if (_arg2 == 6){ _local6 = (stage.stageWidth / 2); _local7 = (stage.stageHeight + 200); }; }; }; }; }; }; }; var _local9:MovieClip = AttachEnemy(_arg1, _local6, _local7); var _local10:LineVector = new LineVector(); if (_local8 != 0){ _local9.SetDir(_local8); if (_local9.probeDirection == 1){ _local10.x = ((stage.stageWidth + 50) - _local9.x); _local10.y = (RandNum(50, stage.stageHeight) - _local9.y); _local9.rotation = _local10.GetAngle(); } else { _local10.x = (-50 - _local9.x); _local10.y = (RandNum(50, stage.stageHeight) - _local9.y); _local9.rotation = _local10.GetAngle(); }; } else { _local10.x = ((base.x + (base.width / 2)) - _local9.x); _local10.y = ((base.y + (base.height / 2)) - _local9.y); _local9.rotation = _local10.GetAngle(); }; _local9.name = ("enemy" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(_local9); arrEnemies.push(_local9); if (_local9.type != 4){ _local9.SetTarget(MovieClip(root).base); }; _local9.SetRefs(this); _local9.Setup(); _local9.Start(); if (_arg3 != 0){ AttachCluster(_local9, _arg4, _arg5, _arg3); }; } private function ToGameAfterPreScreen():void{ if ((((blnFirstOut == false)) || ((GAMEMODE == 1)))){ ChangeState(3); CreateBG(); ChangeState(5); effect.CreateLayer("Below"); CreateBase(); CreateTopBars(); bars.SwitchRechargeRate((gData.RECHARGERATE + gData.rechargeIncrement)); CreateScoreMC(); TallyText(); if (GAMEMODE == 2){ CreateWaveNotice(); }; blnStartShakeStop = false; eDistance = 25; shakeTimer = 50; }; } public function KillsComplete():void{ MovieClip(root).removeChild(MovieClip(root).sComplete); } private function CreateTopBars():void{ bars = new TBars(); bars.alpha = 0; bars.x = 8; bars.y = 8; bars.name = "bars"; addChild(bars); bars.Setup(); originalBaseRule = bars.RetrieveBR(); pBarRefX = (bars.x + bars.powerBar.x); pBarRefY = (bars.y + bars.powerBar.y); } public function ContinueToGame():void{ blnMouseDown = false; blnWavesDone = false; blnReset = false; blnPaused = false; bgShown = false; blnPower1 = false; blnPower2 = false; blnPower3 = false; p1Count = -1; p2Count = -1; p3Count = -1; dCount = -1; wCount = -1; pTimer = -1; bDistance = 10; eDistance = 25; startCount = 0; WAVE = 0; Indexer = 0; originalBaseRule = 0; clickDown = {x:0, y:0}; clickUp = {x:0, y:0}; Indexer = 0; arrDrags = new Array(); arrBullets = new Array(); arrEnemies = new Array(); tankerRetest = new Array(); arrPower = new Array(); arrABullets = new Array(); arrFail = new Array(); stage.removeEventListener(Event.ENTER_FRAME, Run); stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.removeEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.removeEventListener(KeyboardEvent.KEY_UP, KeyBoardPress); stage.addEventListener(Event.ENTER_FRAME, Run); stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.addEventListener(KeyboardEvent.KEY_UP, KeyBoardPress); wave = new WaveEngine(this); effect = new EffectsEngine(this); ToGame(); } private function RandNum(_arg1:Number, _arg2:Number):Number{ return ((Math.round((Math.random() * (_arg2 - _arg1))) + _arg1)); } private function tp_out(_arg1:Event):void{ tutorial[("play_" + "btn")].buttonMode = (this.useHandCursor = false); tutorial[("play_" + "btn")].gotoAndStop("off"); } private function CreateFailMCs():void{ if ((((((blnFAIL_time == true)) && ((GAMEMODE == 1)))) && (!((gState == 5))))){ if (blnScreenShown == false){ if (failIndex > 0){ failIndex--; } else { FAIL_MC = new RainFail(); FAIL_MC.x = RandNum(15, (stage.stageWidth - 15)); FAIL_MC.y = -10; FAIL_MC.alpha = (RandNum(3, 8) * 0.1); FAIL_MC.name = ("FAIL_MC" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(FAIL_MC); FAIL_MC.Setup(this); arrFail.push(FAIL_MC); failIndex = 10; }; }; }; } public function WavesDone():void{ blnWavesDone = true; } private function contOver(_arg1:Event):void{ upgrade[("continue" + "_game")].gotoAndStop("on"); upgrade[("continue" + "_game")].buttonMode = (this.useHandCursor = true); } public function CheckDestroyRadius(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:MovieClip=null):void{ var i:Number; var e:Number; var WPPoint:Point; var j:Number; var o:Number; var randy:Number; var boomRef:MovieClip; var p:Number; var randE:Number; var k:Number; var q:Number; var randP:Number; var radius = _arg1; var xLoc = _arg2; var yLoc = _arg3; var bulletDamage = _arg4; var mcTanker = _arg5; var arrRemoveQueue:Array = new Array(); var arrRemoveQueue2:Array = new Array(); var arrRemoveQueue3:Array = new Array(); try { i = 0; while (i < arrEnemies.length) { if (arrEnemies[i].type != 11){ if (arrEnemies[i].blnShield == false){ if (arrEnemies[i].GetDistance(xLoc, yLoc) < radius){ if (arrEnemies[i].type == 4){ ProbeTrigger(arrEnemies[i]); }; if (arrEnemies[i].TakeDamage(bulletDamage) == true){ if (arrEnemies[i].type == 5){ sEffects.FLASH(); } else { if (arrEnemies[i].type == 6){ sEffects.FLASH(); } else { if (arrEnemies[i].type == 11){ sEffects.FLASH(); }; }; }; arrEnemies[i].Dead(); if (arrEnemies[i].type == 9){ sEffects.FLASH(); arrEnemies[i][("hat" + "ch")].gotoAndStop("off"); }; if (arrEnemies[i].type == 7){ arrEnemies[i][("t" + "Animation")].gotoAndStop(1); }; arrRemoveQueue.push(arrEnemies[i]); } else { effect.CreateEffect(new Explode2(), arrEnemies[i].x, arrEnemies[i].y); }; }; }; } else { if (arrEnemies[i].AmIAlive() == false){ e = 0; while (e < 3) { WPPoint = new Point(arrEnemies[i][(("w" + "eak") + (e + 1))].x, arrEnemies[i][(("w" + "eak") + (e + 1))].y); WPPoint = arrEnemies[i].localToGlobal(WPPoint); if (GetObjDistance(WPPoint, xLoc, yLoc) < radius){ if (arrEnemies[i].TakeDamage(bulletDamage) == true){ arrEnemies[i].Dead(); arrEnemies[i].gotoAndStop("dead"); arrEnemies.splice(i, 1); break; } else { effect.CreateEffect(new Explode2(), WPPoint.x, WPPoint.y); }; }; e = (e + 1); }; }; }; i = (i + 1); }; } catch(e:Error) { }; try { j = 0; while (j < arrBullets.length) { if (arrBullets[j].GetDistance(xLoc, yLoc) < radius){ if (arrBullets[j].name != "main_bullet"){ arrRemoveQueue2.push(arrBullets[j]); }; }; j = (j + 1); }; o = 0; while (o < arrPower.length) { if (DistanceBetween(arrPower[o].mc.x, arrPower[o].mc.y, xLoc, yLoc) < radius){ arrRemoveQueue3.push(arrPower[o].mc); ActivatePower(arrPower[o].type); }; o = (o + 1); }; randy = RandNum(1, 3); if (randy == 1){ sPlayer.PlaySound(new radius_destroy(), 0.3); } else { if (randy == 2){ sPlayer.PlaySound(new radius_explode_2(), 0.6); } else { if (randy == 3){ sPlayer.PlaySound(new radius_explode_3(), 0.6); }; }; }; if (startCount > 2){ if (blnStartShakeStop == false){ if (blnLeaveUpgrade == false){ if (blnLeaveRetry == false){ sEffects.SHAKE(10); }; }; }; }; blnLeaveRetry = false; boomRef = effect.CreateEffect(new BigBoom(), xLoc, yLoc); boomRef.width = (boomRef.height = (radius + (radius / 2))); } catch(e:Error) { }; try { p = 0; while (p < arrRemoveQueue.length) { randE = RandNum(1, 6); if (randE == 1){ effect.CreateEffect(new Explode1(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 2){ effect.CreateEffect(new Explode2(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 3){ effect.CreateEffect(new Explode3(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 4){ effect.CreateEffect(new Explode4(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 5){ effect.CreateEffect(new Explode5(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 6){ randE = RandNum(1, 2); if (randE == 1){ effect.CreateEffect(new Explode6(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); } else { if (randE == 2){ effect.CreateEffect(new Explode2(), arrRemoveQueue[p].x, arrRemoveQueue[p].y); }; }; }; }; }; }; }; }; if (arrRemoveQueue[p].type == 9){ MotherShipChildren(arrRemoveQueue[p]); sPlayer.PlaySound(new tanker_explosion(), 0.4); if (startCount > 2){ sEffects.SHAKE(20); }; }; if (arrRemoveQueue[p].type == 11){ if (startCount > 2){ sEffects.SHAKE(20); }; }; TallyUpdate(arrRemoveQueue[p].cReward, "cash"); TallyUpdate(arrRemoveQueue[p].pReward, "score"); if (mcTanker != arrRemoveQueue[p]){ DeleteEnemy(arrRemoveQueue[p]); }; p = (p + 1); }; } catch(e:Error) { }; try { k = 0; while (k < arrRemoveQueue2.length) { effect.CreateEffect(new Explode2(), arrRemoveQueue2[k].x, arrRemoveQueue2[k].y); TallyUpdate(arrRemoveQueue2[k].cReward, "cash"); TallyUpdate(arrRemoveQueue2[k].pReward, "score"); DeleteBullet(arrRemoveQueue2[k]); k = (k + 1); }; q = 0; while (q < arrRemoveQueue3.length) { randP = RandNum(1, 5); if (randP == 1){ effect.CreateEffect(new Explode1(), arrRemoveQueue3[q].x, arrRemoveQueue3[q].y); } else { if (randP == 2){ effect.CreateEffect(new Explode2(), arrRemoveQueue3[q].x, arrRemoveQueue3[q].y); } else { if (randP == 3){ effect.CreateEffect(new Explode3(), arrRemoveQueue3[q].x, arrRemoveQueue3[q].y); } else { if (randP == 4){ effect.CreateEffect(new Explode4(), arrRemoveQueue3[q].x, arrRemoveQueue3[q].y); } else { if (randP == 5){ effect.CreateEffect(new Explode5(), arrRemoveQueue3[q].x, arrRemoveQueue3[q].y); }; }; }; }; }; DeletePowerUp(arrRemoveQueue3[q]); q = (q + 1); }; } catch(e:Error) { }; } private function RemoveShield():void{ if (shieldMC != null){ removeChild(shieldMC); shieldMC = null; }; } private function contOut(_arg1:Event):void{ upgrade[("continue" + "_game")].gotoAndStop("off"); upgrade[("continue" + "_game")].buttonMode = (this.useHandCursor = false); } private function ResetEnemyTargets():void{ var _local1:Number = 0; while (_local1 < arrEnemies.length) { arrEnemies[_local1].myMode = arrEnemies[_local1].ReturnPreviousState(); arrEnemies[_local1].SetTarget(MovieClip(root).base); _local1++; }; } private function fail_pmg_up(_arg1:Event):void{ URL_OPEN(1); } public function ShootEnemyBullet(_arg1:MovieClip, _arg2:Boolean=false):void{ var emitterRef:Point; var gunRef:Point; var targObj:Object; var en = _arg1; var blnTwo = _arg2; try { emitterRef = new Point(en.emitter.x, en.emitter.y); emitterRef = en.localToGlobal(emitterRef); if (en.type == 2){ bullet = new E2Bullet(); } else { if (en.type == 3){ bullet = new E3Bullet(); } else { if (en.type == 5){ bullet = new E4Bullet(); } else { if (en.type == 6){ bullet = new E4Bullet(); } else { if (en.type == 7){ bullet = new E5Bullet(); } else { if (en.type == 9){ bullet = new E5Bullet(); } else { if (en.type == 11){ bullet = new E5Bullet(); }; }; }; }; }; }; }; bullet.x = emitterRef.x; bullet.y = emitterRef.y; bullet.rotation = en.rotation; bullet.name = ("bullet_" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(bullet); arrBullets.push(bullet); gunRef = new Point(MovieClip(root).base.gun1.x, MovieClip(root).base.gun1.y); gunRef = MovieClip(root).base.localToGlobal(gunRef); targObj = {x:gunRef.x, y:gunRef.y}; bullet.SetTarget(targObj); bullet.Setup(); bullet.Start(); if (blnTwo == true){ emitterRef = new Point(en.emitter2.x, en.emitter2.y); emitterRef = en.localToGlobal(emitterRef); if (en.type == 2){ bullet = new E2Bullet(); } else { if (en.type == 3){ bullet = new E3Bullet(); } else { if (en.type == 5){ bullet = new E4Bullet(); } else { if (en.type == 6){ bullet = new E4Bullet(); } else { if (en.type == 7){ bullet = new E5Bullet(); } else { if (en.type == 9){ bullet = new E5Bullet(); } else { if (en.type == 11){ bullet = new E5Bullet(); }; }; }; }; }; }; }; bullet.x = emitterRef.x; bullet.y = emitterRef.y; bullet.rotation = en.rotation; bullet.name = ("bullet_" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(bullet); arrBullets.push(bullet); targObj = {x:gunRef.x, y:gunRef.y}; bullet.SetTarget(targObj); bullet.Setup(); bullet.Start(); }; } catch(e:Error) { }; } private function TallyUpdate(_arg1:Number, _arg2:String):void{ if (_arg2 == "cash"){ CASH = (CASH + _arg1); } else { if (_arg2 == "score"){ SCORE = (SCORE + _arg1); }; }; TallyText(); } public function SoundMode(_arg1:Boolean):void{ sPlayer.soundOn = (SOUND = _arg1); } public function URL_OPEN(_arg1:Number):void{ if (_arg1 == 1){ web.GetURL("http://www.armorgames.com/", "_blank"); } else { if (_arg1 == 2){ web.GetURL("http://www.herointeractive.com/", "_blank"); } else { if (_arg1 == 3){ web.GetURL("http://www.herointeractive.com/blog/", "_blank"); } else { if (_arg1 == 4){ web.GetURL("http://www.herointeractive.com/rp/", "_blank"); }; }; }; }; } private function q5Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_5")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } private function tp_up(_arg1:Event):void{ tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, tp_over); tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, tp_out); tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, tp_up); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, b_over); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, b_out); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, b_up); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, n_over); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, n_out); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, n_up); ToGame(); } public function BaseBulletHit(_arg1:MovieClip, _arg2:Number):void{ effect.CreateEffect(new Explode2(), _arg1.x, _arg1.y); if (_arg2 < 20){ bars.AddOrSubtract(_arg1.damage, "health"); }; } private function q6Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_6")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } public function ToGame():void{ if (blnTutorialTested == false){ ChangeState(4); } else { mPlayer.PlayMusic(new GameMusic(), 0.8); if (tutRef != null){ removeChild(tutRef); }; tutRef = null; if (gData.blnWINNER == true){ if (LEVEL == 1){ CASH = 100000; blnViewingUpgradesScreen = true; CreateUpgradeMenu(); UpdateUpgradeText(); } else { ToGameAfterPreScreen(); }; } else { if ((((((GAMEMODE == 2)) && ((blnFirstOut == true)))) || ((blnSurvive == true)))){ if (blnViewingUpgradesScreen == true){ ToGameAfterPreScreen(); } else { blnViewingUpgradesScreen = true; blnFirstOut = false; CASH = gData.survivalStartCash; CreateUpgradeMenu(); UpdateUpgradeText(); }; } else { ToGameAfterPreScreen(); }; }; }; } public function RetrieveBDis():Number{ return (bDistance); } public function GiveMeMultiplier():Number{ return (gData.HEALTHMULTIPLIER); } public function GetDistance(_arg1:MovieClip, _arg2:Number, _arg3:Number):Number{ var _local4:Number = (_arg1.x - (_arg2 + base.x)); var _local5:Number = (_arg1.y - (_arg3 + base.y)); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } private function PauseDelay():void{ if (pTimer >= 0){ pTimer--; }; } private function q1Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_1")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } public function MusicMode(_arg1:Boolean):void{ mPlayer.musicOn = (MUSIC = _arg1); } private function PowerUpsOn():void{ if (blnPower1 == true){ p1Count--; if (p1Count < 0){ ResetEnemyTargets(); p1Count = -1; blnPower1 = false; DestroyPUN(); }; }; if (blnPower2 == true){ bars.PoweredUp(); p2Count--; if (p2Count < 0){ bars.ChangeBaseRule(originalBaseRule); p2Count = -1; blnPower2 = false; bars.powerBar.gotoAndStop("off"); DestroyPUN(); }; }; if (blnPower3 == true){ p3Count--; if (p3Count < 0){ RemoveShield(); bDistance = 10; eDistance = 25; p3Count = -1; blnPower3 = false; DestroyPUN(); }; }; } private function q4Over(_arg1:Event):void{ numUShow = 4; blnUShow = true; upgrade[("q" + "_4")].buttonMode = (this.useHandCursor = true); } private function CreateLockedScreen():void{ locker = new LockedScreen(); locker.x = 0; locker.y = 0; locker.name = "locker"; addChild(locker); } public function SetGameMode(_arg1:Number):void{ GAMEMODE = _arg1; } private function TimerShake():void{ if (shakeTimer > 0){ shakeTimer--; } else { if (shakeTimer == 0){ sEffects.ShakeSetup(); sEffects.On(); shakeTimer = -1; }; }; } public function GetBaseRuleStart():Number{ return (gData.ReturnCurrentBaseRule()); } private function contUp(_arg1:Event):void{ blnLeaveUpgrade = true; CleanEverything(); if ((((gData.blnWINNER == true)) && ((LEVEL == 1)))){ ToGameAfterPreScreen(); } else { ContinueToGame(); }; } private function CreateWaveNotice():void{ waveNotify = new WaveText(); waveNotify.x = int(((stage.stageWidth - waveNotify.width) - 12)); waveNotify.y = int(((stage.stageHeight - waveNotify.height) - 12)); waveNotify.name = "waveNotify"; addChild(waveNotify); } private function fail_pmg_out(_arg1:Event):void{ fail.fail_pmg.buttonMode = (this.useHandCursor = false); fail.fail_pmg.gotoAndStop("off"); } public function GetSound():Boolean{ return (SOUND); } public function ReturnAllowedAutoTurrets():Number{ if (gData.BS == 1){ return (2); }; if (gData.BS == 2){ return (3); }; if (gData.BS == 3){ return (4); }; return (0); } public function DestroyTimer():void{ if (dCount > 0){ dCount--; } else { if (dCount == 0){ CleanEverything(); blnScreenShown = false; CreateLoseScreen(); dCount = -1; }; }; } public function ShootAutoTurretBullet(_arg1:MovieClip, _arg2:MovieClip):void{ sPlayer.PlaySound(new auto_turret_shoot(), 0.3); var _local3:Point = new Point(_arg1.emitter.x, _arg1.emitter.y); _local3 = _arg1.localToGlobal(_local3); var _local4:MovieClip = new ATBullet(); _local4.x = _local3.x; _local4.y = _local3.y; _local4.rotation = _arg1.rotation; _local4.name = ("autoBullet_" + _arg1.name); addChild(_local4); arrABullets.push(_local4); var _local5:Object = {x:_arg2.x, y:_arg2.y}; _local4.SetTarget(_local5); _local4.Start(); } private function pmg_pause_out(_arg1:Event):void{ pauseMC.pmg_button.buttonMode = (this.useHandCursor = false); pauseMC.pmg_button.gotoAndStop("off"); } private function b_up(_arg1:Event):void{ tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, tp_over); tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, tp_out); tutorial[("play_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, tp_up); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, b_over); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, b_out); tutorial[("back_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, b_up); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OVER, n_over); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_OUT, n_out); tutorial[("next_" + "btn")].removeEventListener(MouseEvent.MOUSE_UP, n_up); CleanEverything(); BackToMenu(); } public function PreCreateShield(_arg1:MovieClip):void{ _arg1.CreateShield(); } private function UUpMe2(_arg1:Event):void{ UpgradeClick(2); } private function UUpMe3(_arg1:Event):void{ UpgradeClick(3); } private function UUpMe4(_arg1:Event):void{ UpgradeClick(4); } private function q2Out(_arg1:Event):void{ blnUShow = false; upgrade[("q" + "_2")].buttonMode = (this.useHandCursor = false); upgrade.description_text.text = ""; upgrade[("continue" + "_game")].alpha = 1; upgrade.upgrade_pmg.alpha = 1; } private function CreateWinScreen():void{ winMC = new WinScreen(); winMC.x = 0; winMC.y = 0; winMC.name = "winMC"; addChild(winMC); } private function UUpMe5(_arg1:Event):void{ UpgradeClick(5); } private function UUpMe6(_arg1:Event):void{ UpgradeClick(6); } private function ActivatePower(_arg1:Number):void{ if (_arg1 == 1){ p1Count = 100; blnPower1 = true; CreatePUNotify(3); } else { if (_arg1 == 2){ bars.ChangeBaseRule(400); p2Count = 200; blnPower2 = true; bars.powerBar.gotoAndStop("on"); CreatePUNotify(2); } else { if (_arg1 == 3){ ActivateShield(); bDistance = (eDistance = 111); p3Count = 200; blnPower3 = true; CreatePUNotify(1); }; }; }; } public function GreenMile():void{ base.basebase.gotoAndStop("dead"); gState = 6; DestroyAfterLose(); } private function KillAllFAILs():void{ var _local1:Number = 0; while (_local1 < arrFail.length) { removeChild(arrFail[_local1]); arrFail.splice(_local1, 1); _local1--; _local1++; }; } private function CleanEverything():void{ startCount = 0; blnFAIL_time = false; RemoveShield(); KillAllFAILs(); arrDrags.length = 0; arrBullets.length = 0; arrEnemies.length = 0; tankerRetest.length = 0; arrPower.length = 0; arrABullets.length = 0; arrFail.length = 0; arrDrags = new Array(); arrBullets = new Array(); arrEnemies = new Array(); tankerRetest = new Array(); arrPower = new Array(); arrABullets = new Array(); arrFail = new Array(); var _local1:Number = 0; while (_local1 < MovieClip(root).numChildren) { if (((!((MovieClip(root).getChildAt(_local1).name == "newgroundsAPIconnector"))) && (!((MovieClip(root).getChildAt(_local1).name == "medal_popup"))))){ MovieClip(root).removeChildAt(_local1); _local1--; }; _local1++; }; } private function CreatePowerUp(_arg1:Number, _arg2:Number):void{ var _local3:Number = RandNum(1, 3); if (_local3 == 1){ power = new PowerUp1(); } else { if (_local3 == 2){ power = new PowerUp2(); } else { if (_local3 == 3){ power = new PowerUp3(); }; }; }; power.x = _arg1; power.y = _arg2; power.name = ("power" + Indexer); addChild(power); arrPower.push({mc:power, type:_local3}); } public function UpdateWaveText(_arg1:Number):void{ WAVE = _arg1; if (GAMEMODE == 2){ waveNotify.wTXT.text = _arg1; }; } private function AttachCluster(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number=1):void{ var _local8:LineVector; var _local9:MovieClip; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; while (_local7 < _arg2) { _local8 = new LineVector(); if (_arg4 == 1){ _local8.VecToAngle(RandNum(0, 360), RandNum(10, _arg3)); _local5 = (_arg1.x + _local8.x); _local6 = (_arg1.y + _local8.y); } else { if (_arg4 == 2){ if (_arg1.y < stage.stageHeight){ _local5 = _arg1.x; _local6 = RandNum((_arg1.y - _arg3), (_arg1.y + _arg3)); } else { _local5 = RandNum((_arg1.x - _arg3), (_arg1.x + _arg3)); _local6 = _arg1.y; }; }; }; _local9 = AttachEnemy(_arg1.type, _local5, _local6); if (_arg1.type == 4){ if (_arg1.probeDirection == 1){ _local8.x = ((stage.stageWidth + 50) - _local9.x); _local8.y = (RandNum(50, stage.stageHeight) - _local9.y); _local9.rotation = _local8.GetAngle(); } else { _local8.x = (-50 - _local9.x); _local8.y = (RandNum(50, stage.stageHeight) - _local9.y); _local9.rotation = _local8.GetAngle(); }; } else { _local8.x = ((base.x + (base.width / 2)) - _local9.x); _local8.y = ((base.y + (base.height / 2)) - _local9.y); _local9.rotation = _local8.GetAngle(); }; _local9.name = ("enemy" + Indexer); Indexer++; if (Indexer > 20000){ Indexer = 0; }; addChild(_local9); arrEnemies.push(_local9); if (_local9.type != 4){ _local9.SetTarget(MovieClip(root).base); }; _local9.SetRefs(this); _local9.Setup(); _local9.Start(); _local7++; }; } private function Pause():void{ gState = 8; CreatePauseNotify(); } private function ShootInvisibleTankerFixBullet(_arg1:Object, _arg2:Number):void{ bullet = new MBullet(); bullet.x = _arg1.x; bullet.y = _arg1.y; bullet.alpha = 0; bullet.name = "main_bullet_tanker"; addChild(bullet); arrBullets.push(bullet); bullet.SetTarget(_arg1); bullet.SetRadius(_arg2); bullet.Setup(); bullet.Start(); } private function q3Over(_arg1:Event):void{ numUShow = 3; blnUShow = true; upgrade[("q" + "_3")].buttonMode = (this.useHandCursor = true); } public function RemoveFail(_arg1:MovieClip):void{ var _local2:Number = 0; while (_local2 < arrFail.length) { if (arrFail[_local2] == _arg1){ removeChild(_arg1); arrFail.splice(_local2, 1); break; }; _local2++; }; } public function RemoveAd():void{ try { removeChild(adBox); } catch(e:Error) { }; } private function b_out(_arg1:Event):void{ tutorial[("back_" + "btn")].buttonMode = (this.useHandCursor = false); tutorial[("back_" + "btn")].gotoAndStop("off"); } public function CreateMainMenu():void{ blnFirstOut = false; gData.DeathAdjustReset(); mPlayer.PlayMusic(new TitleMusic()); menu = new M_Menu(); menu.x = 49; menu.y = 188; menu.name = "menu"; addChild(menu); menu.Setup(stage); ChangeState(3); } public function FinishWinScreen():void{ removeChild(winMC); BackToMenu(); } private function n_out(_arg1:Event):void{ tutorial[("next_" + "btn")].buttonMode = (this.useHandCursor = false); tutorial[("next_" + "btn")].gotoAndStop("off"); } } }//package
Section 132
//MainMenu (MainMenu) package { import flash.events.*; import flash.display.*; import flash.text.*; public class MainMenu extends MovieClip { public var survival_mode:MovieClip; public var main_menu_1:SimpleButton; public var main_menu_2:SimpleButton; public var main_menu_3:SimpleButton; public var settings:MovieClip; public var pmg_btn:PMGBTN; public var description_txt:TextField; public var settings_btn:SettingsBTN; public var credits_btn:CreditsBTN; public var play_btn:PlayBTN; public var title:MovieClip; public var free:MovieClip; public var main_menu_M:SimpleButton; public var normal_mode:MovieClip; public function MainMenu():void{ } public function PlayFinish():void{ Main(root).ContinueToGame(); Main(root).StartTallyOver(); DeleteMainMenu(); } private function SettingsOut(_arg1:Event):void{ this.settings_btn.buttonMode = (this.useHandCursor = false); this.settings_btn.gotoAndStop("off"); } private function mOffUp(_arg1:Event):void{ Main(root).MusicMode(false); SetSelectors(); } private function Menu2Up(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("settingsOut"); } private function nmOut(_arg1:Event):void{ this.description_txt.text = ""; this.normal_mode.buttonMode = (this.useHandCursor = false); this.normal_mode.gotoAndStop("off"); } private function MediumUp(_arg1:Event):void{ stage.quality = StageQuality.MEDIUM; SetSelectors(); } private function PMGOut(_arg1:Event):void{ this.pmg_btn.buttonMode = (this.useHandCursor = false); this.pmg_btn.gotoAndStop("off"); } private function smOut(_arg1:Event):void{ this.description_txt.text = ""; this.survival_mode.buttonMode = (this.useHandCursor = false); this.survival_mode.gotoAndStop("off"); } private function smUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); Main(root).SetGameMode(2); Main(root).blnSurvive = true; this.play(); } private function PlayUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("playIt"); } private function PMGUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); Main(root).URL_OPEN(1); } private function CreateFreeGamesBTN():void{ free = new FreeGames(); free.x = (this.x - 90); free.y = (this.y + 99); free.name = "free"; this.addChild(free); free.addEventListener(MouseEvent.MOUSE_OVER, freeOver); free.addEventListener(MouseEvent.MOUSE_OUT, freeOut); free.addEventListener(MouseEvent.MOUSE_UP, freeUp); } private function CreditsUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("credits"); } private function freeUp(_arg1:Event):void{ Main(root).web.GetURL("http://www.herointeractive.com/rp/", "_blank"); } private function SettingsOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.settings_btn.buttonMode = (this.useHandCursor = true); this.settings_btn.gotoAndStop("on"); } private function nmUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); Main(root).SetGameMode(1); this.play(); } public function DeleteMainMenu():void{ free.removeEventListener(MouseEvent.MOUSE_OVER, freeOver); free.removeEventListener(MouseEvent.MOUSE_OUT, freeOut); free.removeEventListener(MouseEvent.MOUSE_UP, freeUp); MovieClip(root).removeChild(this); } private function SettingsUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("settings"); } private function freeOut(_arg1:Event):void{ this.free.buttonMode = (this.useHandCursor = false); free.gotoAndStop("off"); } private function PlayOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.play_btn.buttonMode = (this.useHandCursor = true); this.play_btn.gotoAndStop("on"); } private function nmOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.description_txt.text = "10 levels with upgrade options in between!"; this.normal_mode.buttonMode = (this.useHandCursor = true); this.normal_mode.gotoAndStop("on"); } private function Menu1Up(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("creditsOut"); } public function SetSelectors():void{ if (stage.quality == "HIGH"){ this.settings.g1.x = 63.5; } else { if (stage.quality == "MEDIUM"){ this.settings.g1.x = 121; } else { if (stage.quality == "LOW"){ this.settings.g1.x = 177.9; }; }; }; if (Main(root).GetSound() == true){ this.settings.s1.x = 63.5; } else { this.settings.s1.x = 121; }; if (Main(root).GetMusic() == true){ this.settings.m1.x = 63.5; } else { this.settings.m1.x = 121; }; } private function smOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.description_txt.text = "Stay alive as long as you can!"; this.survival_mode.buttonMode = (this.useHandCursor = true); this.survival_mode.gotoAndStop("on"); } private function Menu3Up(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("playBACK"); } private function sOffUp(_arg1:Event):void{ Main(root).SoundMode(false); SetSelectors(); } public function Setup(_arg1:Stage):void{ this.play_btn.addEventListener(MouseEvent.MOUSE_OVER, PlayOver); this.play_btn.addEventListener(MouseEvent.MOUSE_OUT, PlayOut); this.play_btn.addEventListener(MouseEvent.MOUSE_UP, PlayUp); this.settings_btn.addEventListener(MouseEvent.MOUSE_OVER, SettingsOver); this.settings_btn.addEventListener(MouseEvent.MOUSE_OUT, SettingsOut); this.settings_btn.addEventListener(MouseEvent.MOUSE_UP, SettingsUp); this.credits_btn.addEventListener(MouseEvent.MOUSE_OVER, CreditsOver); this.credits_btn.addEventListener(MouseEvent.MOUSE_OUT, CreditsOut); this.credits_btn.addEventListener(MouseEvent.MOUSE_UP, CreditsUp); this.pmg_btn.addEventListener(MouseEvent.MOUSE_OVER, PMGOver); this.pmg_btn.addEventListener(MouseEvent.MOUSE_OUT, PMGOut); this.pmg_btn.addEventListener(MouseEvent.MOUSE_UP, PMGUp); this.main_menu_1.addEventListener(MouseEvent.MOUSE_UP, Menu1Up); this.main_menu_2.addEventListener(MouseEvent.MOUSE_UP, Menu2Up); this.main_menu_3.addEventListener(MouseEvent.MOUSE_UP, Menu3Up); this.main_menu_M.addEventListener(MouseEvent.MOUSE_UP, MenuMUp); this.settings.high.addEventListener(MouseEvent.MOUSE_UP, HighUp); this.settings.medium.addEventListener(MouseEvent.MOUSE_UP, MediumUp); this.settings.low.addEventListener(MouseEvent.MOUSE_UP, LowUp); this.settings.on_music.addEventListener(MouseEvent.MOUSE_UP, mOnUp); this.settings.off_music.addEventListener(MouseEvent.MOUSE_UP, mOffUp); this.settings.on_sounds.addEventListener(MouseEvent.MOUSE_UP, sOnUp); this.settings.off_sounds.addEventListener(MouseEvent.MOUSE_UP, sOffUp); this.normal_mode.addEventListener(MouseEvent.MOUSE_OVER, nmOver); this.normal_mode.addEventListener(MouseEvent.MOUSE_OUT, nmOut); this.normal_mode.addEventListener(MouseEvent.MOUSE_UP, nmUp); this.survival_mode.addEventListener(MouseEvent.MOUSE_OVER, smOver); this.survival_mode.addEventListener(MouseEvent.MOUSE_OUT, smOut); this.survival_mode.addEventListener(MouseEvent.MOUSE_UP, smUp); CreateFreeGamesBTN(); } private function PMGOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.pmg_btn.buttonMode = (this.useHandCursor = true); this.pmg_btn.gotoAndStop("on"); } private function freeOver(_arg1:Event):void{ this.free.buttonMode = (this.useHandCursor = true); free.gotoAndStop("on"); } private function PlayOut(_arg1:Event):void{ this.play_btn.buttonMode = (this.useHandCursor = false); this.play_btn.gotoAndStop("off"); } private function mOnUp(_arg1:Event):void{ Main(root).MusicMode(true); SetSelectors(); } private function MenuMUp(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_up(), 0.6); this.gotoAndPlay("modeBack"); } private function sOnUp(_arg1:Event):void{ Main(root).SoundMode(true); SetSelectors(); } private function LowUp(_arg1:Event):void{ stage.quality = StageQuality.LOW; SetSelectors(); } private function CreditsOut(_arg1:Event):void{ this.credits_btn.buttonMode = (this.useHandCursor = false); this.credits_btn.gotoAndStop("off"); } private function CreditsOver(_arg1:Event):void{ Main(root).sPlayer.PlaySound(new button_over()); this.credits_btn.buttonMode = (this.useHandCursor = true); this.credits_btn.gotoAndStop("on"); } private function HighUp(_arg1:Event):void{ stage.quality = StageQuality.HIGH; SetSelectors(); } } }//package
Section 133
//MBullet (MBullet) package { public dynamic class MBullet extends Bullet1 { } }//package
Section 134
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var self:MochiBot; var server:String; var lv:URLVariables; var url:String; var req:URLRequest; var loader:Loader; var parent = _arg1; var tag = _arg2; try { if (Security.sandboxType == "localWithFile"){ return (null); }; self = new (MochiBot); parent.addChild(self); Security.allowDomain("*"); Security.allowInsecureDomain("*"); server = "http://core.mochibot.com/my/core.swf"; lv = new URLVariables(); lv["sb"] = Security.sandboxType; lv["v"] = Capabilities.version; lv["swfid"] = tag; lv["mv"] = "8"; lv["fv"] = "9"; url = self.root.loaderInfo.loaderURL; if (url.indexOf("http") == 0){ lv["url"] = url; } else { lv["url"] = "local"; }; req = new URLRequest(server); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader = new Loader(); self.addChild(loader); loader.load(req); } catch(e:Error) { }; return (self); } } }//package
Section 135
//MusicPlayer (MusicPlayer) package { import flash.media.*; import flash.events.*; import flash.display.*; public class MusicPlayer { private var numMasterVolume:Number; private var strDefaultTransition:String; private var blnMusicOn:Boolean; private var intTransitionCounterCurrent:int; var chnMusicChannel0:SoundChannel; var chnMusicChannel1:SoundChannel; var arrChannelData:Array; private var intMode:int; private var intTransitionCounterTotal:int; private var intDefaultTransitionTime:int; public function MusicPlayer(_arg1:Stage){ blnMusicOn = true; numMasterVolume = 1; strDefaultTransition = "FadeOutFadeIn"; intDefaultTransitionTime = 120; _arg1.addEventListener(Event.ENTER_FRAME, Run); arrChannelData = new Array(); arrChannelData.push({sndMusic:null, dblVolume:1, blnLoop:true, strTransitionEffect:"", intTransitionTime:2}); arrChannelData.push({sndMusic:null, dblVolume:1, blnLoop:true, strTransitionEffect:"", intTransitionTime:2}); } public function Channel0Complete(_arg1:Event):void{ var _local2:SoundTransform; if (arrChannelData[0].blnLoop == true){ _local2 = new SoundTransform(); chnMusicChannel0 = arrChannelData[0].sndMusic.play(0, 1); _local2.volume = (numMasterVolume * arrChannelData[0].dblVolume); chnMusicChannel0.soundTransform = _local2; chnMusicChannel0.addEventListener(Event.SOUND_COMPLETE, Channel0Complete); } else { intMode = 0; }; } public function Channel1Complete(_arg1:Event):void{ var _local2:SoundTransform; if (arrChannelData[1].blnLoop == true){ _local2 = new SoundTransform(); chnMusicChannel1 = arrChannelData[1].sndMusic.play(0, 1); _local2.volume = (numMasterVolume * arrChannelData[1].dblVolume); chnMusicChannel1.soundTransform = _local2; chnMusicChannel1.addEventListener(Event.SOUND_COMPLETE, Channel1Complete); } else { intMode = 0; }; } public function set musicOn(_arg1:Boolean):void{ var _local2:* = blnMusicOn; blnMusicOn = _arg1; if (_local2 == _arg1){ return; }; if (blnMusicOn == true){ RestartMusic(); } else { HaltMusic(); }; } private function HaltMusic():void{ switch (intMode){ case 0: break; case 1: case 2: chnMusicChannel0.stop(); break; case 3: chnMusicChannel0.stop(); arrChannelData[0].sndMusic = null; break; case 4: try { chnMusicChannel0.stop(); } catch(e:Error) { }; try { chnMusicChannel1.stop(); } catch(e:Error) { }; arrChannelData[0].sndMusic = arrChannelData[1].sndMusic; arrChannelData[0].dblVolume = arrChannelData[1].dblVolume; arrChannelData[0].blnLoop = arrChannelData[1].blnLoop; arrChannelData[0].strTransitionEffect = arrChannelData[1].strTransitionEffect; arrChannelData[0].intTransitionTime = arrChannelData[1].intTransitionTime; break; case 5: case 6: chnMusicChannel1.stop(); arrChannelData[0].sndMusic = arrChannelData[1].sndMusic; arrChannelData[0].dblVolume = arrChannelData[1].dblVolume; arrChannelData[0].blnLoop = arrChannelData[1].blnLoop; arrChannelData[0].strTransitionEffect = arrChannelData[1].strTransitionEffect; arrChannelData[0].intTransitionTime = arrChannelData[1].intTransitionTime; break; case 7: chnMusicChannel1.stop(); arrChannelData[0].sndMusic = null; break; case 8: try { chnMusicChannel0.stop(); } catch(e:Error) { }; try { chnMusicChannel1.stop(); } catch(e:Error) { }; break; }; } private function FadeOut(_arg1:int, _arg2:Boolean=false):void{ var _local3:Number = (numMasterVolume * arrChannelData[_arg1].dblVolume); if (intTransitionCounterTotal == 0){ if (_arg1 == 0){ chnMusicChannel0.stop(); } else { chnMusicChannel1.stop(); }; intMode = 0; return; }; intTransitionCounterCurrent++; var _local4:int = intTransitionCounterTotal; if (_arg2 == true){ _local4 = Math.round((intTransitionCounterTotal / 2)); }; var _local5:Number = (intTransitionCounterCurrent / intTransitionCounterTotal); if (_local5 > 1){ _local5 = 1; }; var _local6:Number = (_local3 * (1 - _local5)); var _local7:SoundTransform = new SoundTransform(); _local7.volume = _local6; if (_arg1 == 0){ chnMusicChannel0.soundTransform = _local7; } else { chnMusicChannel1.soundTransform = _local7; }; _local7 = new SoundTransform(); if (_local5 == 1){ if (_arg1 == 0){ if (_arg2 == true){ intTransitionCounterTotal = Math.round((intTransitionCounterTotal / 2)); intTransitionCounterCurrent = 0; intMode = 5; chnMusicChannel0.stop(); chnMusicChannel1 = arrChannelData[1].sndMusic.play(0, 1); _local7.volume = 0; chnMusicChannel1.soundTransform = _local7; chnMusicChannel1.addEventListener(Event.SOUND_COMPLETE, Channel1Complete); } else { chnMusicChannel0.stop(); intMode = 0; }; } else { if (_arg1 == 1){ if (_arg2 == true){ intTransitionCounterTotal = Math.round((intTransitionCounterTotal / 2)); intTransitionCounterCurrent = 0; intMode = 1; chnMusicChannel1.stop(); chnMusicChannel0 = arrChannelData[0].sndMusic.play(0, 1); _local7.volume = 0; chnMusicChannel0.soundTransform = _local7; chnMusicChannel0.addEventListener(Event.SOUND_COMPLETE, Channel0Complete); } else { chnMusicChannel1.stop(); intMode = 0; }; }; }; }; } public function Run(_arg1:Event):void{ if (blnMusicOn == false){ return; }; switch (intMode){ case 1: if ((arrChannelData[0].strTransitionEffect == "FadeOutFadeIn")){ FadeIn(0); }; break; case 4: if ((arrChannelData[1].strTransitionEffect == "FadeOutFadeIn")){ FadeOut(0, true); }; break; case 5: if ((arrChannelData[1].strTransitionEffect == "FadeOutFadeIn")){ FadeIn(1); }; break; case 8: if ((arrChannelData[0].strTransitionEffect == "FadeOutFadeIn")){ FadeOut(1, true); }; break; }; } private function FadeIn(_arg1:int):void{ var _local2:Number = (numMasterVolume * arrChannelData[_arg1].dblVolume); if (intTransitionCounterTotal == 0){ if (_arg1 == 0){ intMode = 2; } else { intMode = 6; }; return; }; intTransitionCounterCurrent++; var _local3:Number = (intTransitionCounterCurrent / intTransitionCounterTotal); if (_local3 > 1){ _local3 = 1; }; var _local4:Number = (_local2 * _local3); if (_local3 == 1){ if (_arg1 == 0){ intMode = 2; } else { intMode = 6; }; }; var _local5:SoundTransform = new SoundTransform(); _local5.volume = _local4; if (_arg1 == 0){ chnMusicChannel0.soundTransform = _local5; } else { chnMusicChannel1.soundTransform = _local5; }; } public function PlayMusic(_arg1:Sound, _arg2:Number=1, _arg3:Boolean=true, _arg4:String="%%%", _arg5:int=-1):void{ if (_arg2 < 0){ _arg2 = 0; } else { if (_arg2 > 1){ _arg2 = 1; }; }; if (_arg4 == "%%%"){ _arg4 = strDefaultTransition; }; if (_arg5 == -1){ _arg5 = intDefaultTransitionTime; }; if (_arg5 < 0){ _arg5 = 0; }; if (_arg5 == 0){ _arg4 = "None"; }; if (_arg4 != "FadeOutFadeIn"){ _arg4 = strDefaultTransition; }; if (blnMusicOn == false){ arrChannelData[0].sndMusic = _arg1; arrChannelData[0].dblVolume = _arg2; arrChannelData[0].blnLoop = _arg3; return; }; var _local6:SoundTransform = new SoundTransform(); switch (intMode){ case 0: chnMusicChannel0 = _arg1.play(0, 1); _local6.volume = 0; chnMusicChannel0.soundTransform = _local6; chnMusicChannel0.addEventListener(Event.SOUND_COMPLETE, Channel0Complete); intMode = 1; arrChannelData[0].sndMusic = _arg1; arrChannelData[0].dblVolume = _arg2; arrChannelData[0].blnLoop = _arg3; arrChannelData[0].strTransitionEffect = _arg4; arrChannelData[0].intTransitionTime = _arg5; intTransitionCounterTotal = _arg5; intTransitionCounterCurrent = 0; break; case 2: intMode = 4; arrChannelData[1].sndMusic = _arg1; arrChannelData[1].dblVolume = _arg2; arrChannelData[1].blnLoop = _arg3; arrChannelData[1].strTransitionEffect = _arg4; arrChannelData[1].intTransitionTime = _arg5; intTransitionCounterTotal = _arg5; intTransitionCounterCurrent = 0; break; case 6: intMode = 8; arrChannelData[0].sndMusic = _arg1; arrChannelData[0].dblVolume = _arg2; arrChannelData[0].blnLoop = _arg3; arrChannelData[0].strTransitionEffect = _arg4; arrChannelData[0].intTransitionTime = _arg5; intTransitionCounterTotal = _arg5; intTransitionCounterCurrent = 0; break; }; } private function RestartMusic():void{ if (arrChannelData[0].sndMusic == null){ return; }; var _local1:SoundTransform = new SoundTransform(); chnMusicChannel0 = arrChannelData[0].sndMusic.play(0, 1); _local1.volume = (numMasterVolume * arrChannelData[0].dblVolume); chnMusicChannel0.soundTransform = _local1; chnMusicChannel0.addEventListener(Event.SOUND_COMPLETE, Channel0Complete); } public function get musicOn():Boolean{ return (blnMusicOn); } } }//package
Section 136
//PauseN (PauseN) package { import flash.display.*; public dynamic class PauseN extends MovieClip { public var pmg_button:MovieClip; } }//package
Section 137
//PlayBTN (PlayBTN) package { import flash.display.*; public dynamic class PlayBTN extends MovieClip { public function PlayBTN(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 138
//PMGBTN (PMGBTN) package { import flash.display.*; public dynamic class PMGBTN extends MovieClip { public function PMGBTN(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 139
//PowerUp1 (PowerUp1) package { import flash.display.*; public dynamic class PowerUp1 extends MovieClip { public function PowerUp1(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package
Section 140
//PowerUp2 (PowerUp2) package { import flash.display.*; public dynamic class PowerUp2 extends MovieClip { public function PowerUp2(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package
Section 141
//PowerUp3 (PowerUp3) package { import flash.display.*; public dynamic class PowerUp3 extends MovieClip { public function PowerUp3(){ addFrameScript(30, frame31); } function frame31(){ stop(); } } }//package
Section 142
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.text.*; public class Preloader extends MovieClip { private var cTimer:Number; public var preloader_txt:TextField; private var refMain:Main; private var cont_btn:MovieClip; public var bar:MovieClip; private var blnPreloaderFlag:Boolean; public function Preloader():void{ cTimer = -1; } private function contUp(_arg1:Event):void{ if (refMain.SHOWADS == true){ refMain.RemoveAd(); }; refMain.removeChild(this.cont_btn); refMain.Setup(); RemovePreloader(); } public function PL_Listeners():void{ refMain.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PLProgress); refMain.loaderInfo.addEventListener(Event.COMPLETE, PLComplete); } private function contOver(_arg1:Event):void{ this.cont_btn.buttonMode = (this.useHandCursor = true); this.cont_btn.gotoAndStop("on"); } public function PLProgress(_arg1:ProgressEvent):void{ if (blnPreloaderFlag == false){ refMain.gotoAndStop("load"); }; var _local2:Number = _arg1.target.bytesLoaded; var _local3:Number = _arg1.target.bytesTotal; var _local4:Number = Math.round(((_local2 / _local3) * 100)); this.preloader_txt.text = (_local4 + "%"); this.bar.gotoAndStop(_local4); } private function Run(_arg1:Event):void{ ContinueTimer(); } private function ContinueTimer():void{ if (cTimer > 0){ cTimer--; } else { if (cTimer == 0){ CreateContinueButton(); cTimer = -1; }; }; } private function RemovePreloader():void{ refMain.removeEventListener(Event.ENTER_FRAME, Run); refMain.removeChild(this); } private function contOut(_arg1:Event):void{ this.cont_btn.buttonMode = (this.useHandCursor = true); this.cont_btn.gotoAndStop("off"); } public function PLComplete(_arg1:Event):void{ this.preloader_txt.text = "100%"; this.bar.gotoAndStop(100); cTimer = 55; } private function CreateContinueButton():void{ cont_btn = new ContBTN(); if (refMain.SHOWADS == false){ cont_btn.x = (((refMain.stage.stageWidth / 2) - cont_btn.width) + 58); cont_btn.y = (((refMain.stage.stageHeight / 2) - cont_btn.height) + 50); } else { cont_btn.x = (((refMain.stage.stageWidth / 2) - cont_btn.width) + 60); cont_btn.y = (((refMain.stage.stageHeight / 2) - cont_btn.height) + 100); }; cont_btn.name = "cont_btn"; refMain.addChild(cont_btn); cont_btn.addEventListener(MouseEvent.MOUSE_OVER, contOver); cont_btn.addEventListener(MouseEvent.MOUSE_OUT, contOut); cont_btn.addEventListener(MouseEvent.MOUSE_UP, contUp); } public function SetFlag():void{ blnPreloaderFlag = true; } public function SetMainRef(_arg1:Main):void{ refMain = _arg1; refMain.addEventListener(Event.ENTER_FRAME, Run); } } }//package
Section 143
//PreloaderMC (PreloaderMC) package { public dynamic class PreloaderMC extends Preloader { } }//package
Section 144
//PUNotice (PUNotice) package { import flash.display.*; public dynamic class PUNotice extends MovieClip { public function PUNotice(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 145
//radius_destroy (radius_destroy) package { import flash.media.*; public dynamic class radius_destroy extends Sound { } }//package
Section 146
//radius_explode_2 (radius_explode_2) package { import flash.media.*; public dynamic class radius_explode_2 extends Sound { } }//package
Section 147
//radius_explode_3 (radius_explode_3) package { import flash.media.*; public dynamic class radius_explode_3 extends Sound { } }//package
Section 148
//RainFail (RainFail) package { public dynamic class RainFail extends FAIL { } }//package
Section 149
//ScoreMC (ScoreMC) package { import flash.display.*; import flash.text.*; public dynamic class ScoreMC extends MovieClip { public var score_txt:TextField; } }//package
Section 150
//ScreenEffects (ScreenEffects) package { import flash.events.*; import flash.display.*; class ScreenEffects { private var blnShakeMode:Boolean; private var intShakeDuration:Number; private var intShakeStart:Number; private var arrScreenEffects:Array; private var mainRef:Main; private var vecScreenCoords:LineVector; private var intShakeCounter:Number; private var stageRef:Stage; private var vecPreScreenCoords:LineVector; public var sFlash:MovieClip; function ScreenEffects(_arg1:Main, _arg2:Stage):void{ intShakeDuration = 0; blnShakeMode = true; mainRef = _arg1; stageRef = _arg2; mainRef.addEventListener(Event.ENTER_FRAME, Run); arrScreenEffects = new Array(); intShakeDuration = 0; intShakeCounter = 0; intShakeStart = 0; ShakeSetup(); } private function RandNum(_arg1:Number, _arg2:Number):Number{ return ((Math.round((Math.random() * (_arg2 - _arg1))) + _arg1)); } public function Off():void{ blnShakeMode = false; HaltShaking(); } public function FLASH():void{ try { sFlash = new ScreenFlash(); sFlash.x = ((mainRef.stage.stageWidth / 2) - (sFlash.width / 2)); sFlash.y = ((mainRef.stage.stageHeight / 2) - (sFlash.height / 2)); sFlash.name = "sFlash"; mainRef.addChild(sFlash); arrScreenEffects.push(sFlash); } catch(e:Error) { }; } public function DeleteMainRefEventListener():void{ mainRef.removeEventListener(Event.ENTER_FRAME, Run); } private function MoveWorld(_arg1:LineVector):void{ _arg1.x = Math.round(_arg1.x); _arg1.y = Math.round(_arg1.y); mainRef.x = (mainRef.x + _arg1.x); mainRef.y = (mainRef.y + _arg1.y); } public function HaltShaking():void{ var _local1:Number; var _local2:Number; var _local3:LineVector; if (((!((mainRef.x == vecPreScreenCoords.x))) || (!((mainRef.y == vecPreScreenCoords.y))))){ intShakeDuration = 0; _local1 = (vecPreScreenCoords.x - mainRef.x); _local2 = (vecPreScreenCoords.y - mainRef.y); mainRef.x = vecPreScreenCoords.x; mainRef.y = vecPreScreenCoords.y; _local3 = new LineVector(); _local3.x = _local1; _local3.y = _local2; MoveWorld(vecPreScreenCoords); }; } public function SHAKE(_arg1:Number):void{ if (mainRef.startCount > 2){ if (mainRef.RetrieveGameState() == 5){ if (intShakeDuration == 0){ intShakeDuration = _arg1; intShakeStart = _arg1; intShakeCounter = 3; vecPreScreenCoords.x = mainRef.x; vecPreScreenCoords.y = mainRef.y; }; }; }; } private function Run(_arg1:Event):void{ if (blnShakeMode == true){ ManageShaking(); }; } public function KillMe(_arg1:MovieClip):void{ var flashSucks:MovieClip; var i:Number; var effectName = _arg1; try { flashSucks = effectName; i = 0; while (i < arrScreenEffects.length) { if (arrScreenEffects[i] == flashSucks){ mainRef.removeChild(flashSucks); }; arrScreenEffects.splice(i, 1); break; i = (i + 1); }; } catch(e:Error) { }; } public function ShakeSetup():void{ intShakeDuration = 0; blnShakeMode = true; arrScreenEffects = new Array(); vecScreenCoords = (vecPreScreenCoords = new LineVector()); vecScreenCoords.x = (vecPreScreenCoords.x = mainRef.x); vecScreenCoords.y = (vecPreScreenCoords.y = mainRef.y); HaltShaking(); } private function ManageShaking():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:LineVector; if (mainRef.RetrieveGameState() == 5){ if (intShakeDuration > 0){ intShakeDuration--; if (intShakeDuration == 0){ HaltShaking(); } else { intShakeCounter--; if (intShakeCounter == 0){ intShakeCounter = 3; _local1 = (intShakeDuration / intShakeStart); _local2 = 2; if (intShakeStart > 45){ _local2 = 4; }; _local3 = (vecPreScreenCoords.x + (RandNum((-1 * _local2), _local2) * _local1)); _local4 = (vecPreScreenCoords.y + (RandNum((-1 * _local2), _local2) * _local1)); _local5 = (_local3 - mainRef.x); _local6 = (_local4 - mainRef.y); mainRef.x = _local3; mainRef.y = _local4; _local7 = new LineVector(); _local7.x = _local5; _local7.y = _local6; MoveWorld(_local7); }; }; }; }; } public function On():void{ blnShakeMode = true; } } }//package
Section 151
//ScreenFlash (ScreenFlash) package { import flash.display.*; public dynamic class ScreenFlash extends MovieClip { public function ScreenFlash(){ addFrameScript(5, frame6); } function frame6(){ stop(); Main(root).sEffects.KillMe(MovieClip(this)); } } }//package
Section 152
//SettingsBTN (SettingsBTN) package { import flash.display.*; public dynamic class SettingsBTN extends MovieClip { public function SettingsBTN(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 153
//Shield1 (Shield1) package { import flash.display.*; public dynamic class Shield1 extends MovieClip { } }//package
Section 154
//SoundPlayer (SoundPlayer) package { import flash.media.*; import flash.events.*; public class SoundPlayer { private var numMasterVolume:Number; private var blnSoundOn:Boolean; var arrChannelOriginalVolume:Array; var chnSoundChannel1:SoundChannel; var chnSoundChannel2:SoundChannel; var chnSoundChannel3:SoundChannel; var chnSoundChannel4:SoundChannel; var chnSoundChannel5:SoundChannel; var chnSoundChannel6:SoundChannel; var chnSoundChannel7:SoundChannel; var arrChannelInUse:Array; public function SoundPlayer(){ blnSoundOn = true; numMasterVolume = 1; arrChannelInUse = new Array(false, false, false, false, false, false, false, false); arrChannelOriginalVolume = new Array(1, 1, 1, 1, 1, 1, 1, 1); } public function StopAllSounds():void{ if (arrChannelInUse[1]){ chnSoundChannel1.stop(); }; if (arrChannelInUse[2]){ chnSoundChannel2.stop(); }; if (arrChannelInUse[3]){ chnSoundChannel3.stop(); }; if (arrChannelInUse[4]){ chnSoundChannel4.stop(); }; if (arrChannelInUse[5]){ chnSoundChannel5.stop(); }; if (arrChannelInUse[6]){ chnSoundChannel6.stop(); }; if (arrChannelInUse[7]){ chnSoundChannel7.stop(); }; var _local1:int; while (_local1 < arrChannelInUse.length) { arrChannelInUse[_local1] = false; _local1++; }; } public function Channel1Complete(_arg1:Event):void{ arrChannelInUse[1] = false; } public function Channel2Complete(_arg1:Event):void{ arrChannelInUse[2] = false; } public function Channel3Complete(_arg1:Event):void{ arrChannelInUse[3] = false; } public function Channel5Complete(_arg1:Event):void{ arrChannelInUse[5] = false; } public function Channel6Complete(_arg1:Event):void{ arrChannelInUse[6] = false; } public function get soundOn():Boolean{ return (blnSoundOn); } public function StopSoundLoop():void{ arrChannelInUse[7] = false; chnSoundChannel7.stop(); } public function set soundOn(_arg1:Boolean):void{ blnSoundOn = _arg1; if (_arg1 == false){ StopAllSounds(); }; } public function PlaySoundLoop(_arg1:Sound, _arg2:Number=1, _arg3:Number=0):void{ if (arrChannelInUse[7] == true){ return; }; if (_arg2 > 1){ _arg2 = 1; } else { if (_arg2 < 0){ _arg2 = 0; }; }; if (_arg3 > 1){ _arg3 = 1; } else { if (_arg3 < -1){ _arg3 = 1; }; }; arrChannelInUse[7] = true; var _local4:SoundTransform = new SoundTransform(); chnSoundChannel7 = _arg1.play(0, 99999); _local4.volume = (_arg2 * numMasterVolume); _local4.pan = _arg3; chnSoundChannel7.soundTransform = _local4; } public function PlaySound(_arg1:Sound, _arg2:Number=1, _arg3:Number=0):void{ if (blnSoundOn == false){ return; }; var _local4 = -1; var _local5:Number = 1; while (_local5 < 7) { if (arrChannelInUse[_local5] == false){ _local4 = _local5; break; }; _local5++; }; if (_local4 == -1){ return; }; if (_arg2 > 1){ _arg2 = 1; } else { if (_arg2 < 0){ _arg2 = 0; }; }; if (_arg3 > 1){ _arg3 = 1; } else { if (_arg3 < -1){ _arg3 = 1; }; }; arrChannelInUse[_local4] = true; arrChannelOriginalVolume[_local4] = _arg2; var _local6:SoundTransform = new SoundTransform(); switch (_local4){ case 1: chnSoundChannel1 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel1.soundTransform = _local6; chnSoundChannel1.addEventListener(Event.SOUND_COMPLETE, Channel1Complete); break; case 2: chnSoundChannel2 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel2.soundTransform = _local6; chnSoundChannel2.addEventListener(Event.SOUND_COMPLETE, Channel2Complete); break; case 3: chnSoundChannel3 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel3.soundTransform = _local6; chnSoundChannel3.addEventListener(Event.SOUND_COMPLETE, Channel3Complete); break; case 4: chnSoundChannel4 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel4.soundTransform = _local6; chnSoundChannel4.addEventListener(Event.SOUND_COMPLETE, Channel4Complete); break; case 5: chnSoundChannel5 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel5.soundTransform = _local6; chnSoundChannel5.addEventListener(Event.SOUND_COMPLETE, Channel5Complete); break; case 6: chnSoundChannel6 = _arg1.play(0, 1); _local6.volume = (_arg2 * numMasterVolume); _local6.pan = _arg3; chnSoundChannel6.soundTransform = _local6; chnSoundChannel6.addEventListener(Event.SOUND_COMPLETE, Channel6Complete); break; }; } public function get masterVolume():Number{ return (numMasterVolume); } public function Channel4Complete(_arg1:Event):void{ arrChannelInUse[4] = false; } public function set masterVolume(_arg1:Number):void{ var _local2:SoundTransform; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < 0){ _arg1 = 0; }; }; numMasterVolume = _arg1; if (arrChannelInUse[1]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[1] * numMasterVolume); chnSoundChannel1.soundTransform = _local2; }; if (arrChannelInUse[2]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[2] * numMasterVolume); chnSoundChannel2.soundTransform = _local2; }; if (arrChannelInUse[3]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[3] * numMasterVolume); chnSoundChannel3.soundTransform = _local2; }; if (arrChannelInUse[4]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[4] * numMasterVolume); chnSoundChannel4.soundTransform = _local2; }; if (arrChannelInUse[5]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[5] * numMasterVolume); chnSoundChannel5.soundTransform = _local2; }; if (arrChannelInUse[6]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[6] * numMasterVolume); chnSoundChannel6.soundTransform = _local2; }; if (arrChannelInUse[7]){ _local2 = new SoundTransform(); _local2.volume = (arrChannelOriginalVolume[7] * numMasterVolume); chnSoundChannel7.soundTransform = _local2; }; } } }//package
Section 155
//SplashIntro (SplashIntro) package { public dynamic class SplashIntro extends Intro { public function SplashIntro(){ addFrameScript(0, frame1, 222, frame223, 365, frame366); } function frame1(){ if (Main.gData.blnShowArmorIntro == false){ gotoAndPlay("armorSkip"); }; } function frame366(){ stop(); IntroComplete(); } function frame223(){ url_mode = 2; if (Main.gData.blnShowHeroIntro == false){ gotoAndPlay("heroSkip"); }; } } }//package
Section 156
//StageComplete (StageComplete) package { import flash.display.*; public dynamic class StageComplete extends MovieClip { public function StageComplete(){ addFrameScript(164, frame165); } function frame165(){ stop(); Main(root).KillsComplete(); } } }//package
Section 157
//tanker_explosion (tanker_explosion) package { import flash.media.*; public dynamic class tanker_explosion extends Sound { } }//package
Section 158
//TBars (TBars) package { public dynamic class TBars extends TopBars { } }//package
Section 159
//teleport (teleport) package { import flash.display.*; public dynamic class teleport extends MovieClip { public function teleport(){ addFrameScript(16, frame17); } function frame17(){ stop(); Main(root).EffectKillSelf(MovieClip(this)); } } }//package
Section 160
//teleport_sound (teleport_sound) package { import flash.media.*; public dynamic class teleport_sound extends Sound { } }//package
Section 161
//teleportAppear (teleportAppear) package { import flash.display.*; public dynamic class teleportAppear extends MovieClip { public function teleportAppear(){ addFrameScript(7, frame8); } function frame8(){ stop(); Main(root).EffectKillSelf(MovieClip(this)); } } }//package
Section 162
//TitleMusic (TitleMusic) package { import flash.media.*; public dynamic class TitleMusic extends Sound { } }//package
Section 163
//TopBars (TopBars) package { import flash.display.*; public class TopBars extends MovieClip { public var mult2:Number; private var power:Number; public var currentBaseRule:Number; private var blnShown:Boolean; public var powerBar:MovieClip; public var healthLose:MovieClip; public var healthBar:MovieClip; private var health:Number; public var rechargeRate:Number; private var blnDead:Boolean; private var fullBarWidth:Number; public var mult:Number; public var powerLose:MovieClip; public function TopBars():void{ blnShown = false; blnDead = false; health = 100; power = 100; } private function LoseBarFaders():void{ if (this.powerLose.alpha > 0){ this.powerLose.alpha = (this.powerLose.alpha - 0.05); if (this.powerLose.alpha < 0){ this.powerLose.alpha = 0; }; }; if (this.healthLose.alpha > 0){ this.healthLose.alpha = (this.healthLose.alpha - 0.02); if (this.healthLose.alpha < 0){ this.healthLose.alpha = 0; }; }; } private function FadeMeIn():void{ if (blnShown == false){ this.alpha = (this.alpha + 0.1); if (this.alpha >= 1){ this.alpha = 1; blnShown = true; }; }; } public function SwitchRechargeRate(_arg1:Number):void{ rechargeRate = _arg1; } public function Setup():void{ rechargeRate = Main(root).GrabRechargeRate(); fullBarWidth = this.powerBar.width; currentBaseRule = Main(root).GetBaseRuleStart(); mult = (fullBarWidth / currentBaseRule); mult2 = (currentBaseRule / 100); this.powerLose.alpha = 0; CalculateAndAdjust(); } public function PoweredUp():void{ power = 100; CalculateAndAdjust(); } public function ChangeBaseRule(_arg1:Number):void{ currentBaseRule = _arg1; mult = (fullBarWidth / currentBaseRule); mult2 = (currentBaseRule / 100); } private function RemoveBars():void{ MovieClip(root).removeChild(this); } public function Run():void{ FadeMeIn(); PowerRecharge(); LoseBarFaders(); } public function RetrieveBR():Number{ return (currentBaseRule); } private function CalculateAndAdjust():void{ this.healthBar.width = ((health * mult) * mult2); this.powerBar.width = ((power * mult) * mult2); } public function GetHOrPMult(_arg1:Number):Number{ if (_arg1 == 1){ return ((health * mult)); }; if (_arg1 == 2){ return ((power * mult)); }; return (0); } public function GetPower():Number{ return (power); } private function PowerRecharge():void{ if (power < 100){ power = (power + rechargeRate); CalculateAndAdjust(); }; } public function AddOrSubtract(_arg1:Number, _arg2:String):void{ if (blnDead == false){ _arg1 = (_arg1 / mult2); mult = (fullBarWidth / currentBaseRule); mult2 = (currentBaseRule / 100); this.powerLose.width = ((power * mult) * mult2); this.healthLose.width = ((health * mult) * mult2); if (_arg2 == "power"){ power = (power + _arg1); if (power < 0){ power = 0; }; if (power > 100){ power = 100; }; this.powerLose.alpha = 1; } else { if (_arg2 == "health"){ health = (health - ((_arg1 * Main(root).GiveMeMultiplier()) / 3)); if (health <= 0){ blnDead = true; health = 0; Main(root).GreenMile(); }; if (health > 100){ health = 100; }; this.healthLose.alpha = 1; }; }; CalculateAndAdjust(); }; } } }//package
Section 164
//TutVid (TutVid) package { import flash.display.*; public dynamic class TutVid extends MovieClip { public var play_btn:MovieClip; public var back_btn:MovieClip; public var next_btn:MovieClip; public function TutVid(){ addFrameScript(0, frame1, 1, frame2); } function frame2(){ stop(); } function frame1(){ stop(); } } }//package
Section 165
//UBase (UBase) package { public dynamic class UBase extends Base { public function UBase(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 166
//UpgradeMenu (UpgradeMenu) package { import flash.display.*; import flash.text.*; public dynamic class UpgradeMenu extends MovieClip { public var bar_1:MovieClip; public var bar_2:MovieClip; public var bar_3:MovieClip; public var bar_4:MovieClip; public var bar_5:MovieClip; public var bstage_txt:TextField; public var up_2:MovieClip; public var up_3:MovieClip; public var up_4:MovieClip; public var up_5:MovieClip; public var up_6:MovieClip; public var dStrength_cost:TextField; public var description_text:TextField; public var s1:TextField; public var s2:TextField; public var s4:TextField; public var bar_6:MovieClip; public var stage_txt:TextField; public var menu_base:UBase; public var class_cost:TextField; public var level_txt:TextField; public var points_txt:TextField; public var continue_game:MovieClip; public var s3:TextField; public var specHead:TextField; public var dArea_cost:TextField; public var turret_cost:TextField; public var h3:TextField; public var armor_cost:TextField; public var h4:TextField; public var h1:TextField; public var h2:TextField; public var q_1:MovieClip; public var q_2:MovieClip; public var recharge_cost:TextField; public var q_4:MovieClip; public var upgrade_pmg:MovieClip; public var q_6:MovieClip; public var uHeader:TextField; public var cash_txt:TextField; public var q_3:MovieClip; public var q_5:MovieClip; public var slot1:TextField; public var slot2:TextField; public var slot3:TextField; public var slot4:TextField; public var slot5:TextField; public var slot6:TextField; public function UpgradeMenu(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 167
//UrlLocking (UrlLocking) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class UrlLocking { private var stgRef:Stage; private var arrDomains:Array; private var blnAllowAllSites:Boolean; private var blnLoadedXML:Boolean; private var arrAdFreeDomains:Array; private var lodUrlLoader:URLLoader; private var blnShowNoAdsEver:Boolean; private var blnExceptionFound:Boolean; private var blnXMLException:Boolean; public function UrlLocking(_arg1:Stage, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean=true):void{ stgRef = _arg1; blnXMLException = _arg4; blnAllowAllSites = _arg2; blnShowNoAdsEver = _arg3; arrDomains = new Array(); arrAdFreeDomains = new Array(); blnLoadedXML = false; blnExceptionFound = false; if (blnXMLException == true){ if (Capabilities.playerType == "External"){ SearchForXMLException(); } else { blnLoadedXML = true; }; }; } public function AddAllowableDomain(_arg1:String):void{ arrDomains.push(_arg1); } private function XmlListener(_arg1:Event):void{ var _local2:XML = new XML(lodUrlLoader.data); if (_local2.name() == "GAMEEXCEPTIONS"){ if (_local2.children()[0].name() == "GAMEALLOWURLACCESS"){ if (_local2.children()[0].attribute("ALLOWACCESS").toString() == "True"){ blnLoadedXML = true; blnExceptionFound = true; } else { blnLoadedXML = true; blnExceptionFound = false; }; } else { blnLoadedXML = true; blnExceptionFound = false; }; } else { blnLoadedXML = true; blnExceptionFound = false; }; } public function GetShowAds():Boolean{ if (blnShowNoAdsEver == true){ return (false); }; var _local1:String = stgRef.loaderInfo.url; var _local2:Number = 0; while (_local2 < arrAdFreeDomains.length) { if (_local1.indexOf(arrAdFreeDomains[_local2]) != -1){ return (false); }; _local2++; }; return (true); } public function GetLocked():Boolean{ var _local1:String; var _local2:Number; if (blnAllowAllSites == true){ return (false); }; if ((((blnXMLException == true)) && ((blnLoadedXML == false)))){ }; if (blnExceptionFound == true){ return (false); }; _local1 = stgRef.loaderInfo.url; _local2 = 0; while (_local2 < arrDomains.length) { if (_local1.indexOf(arrDomains[_local2]) != -1){ return (false); }; _local2++; }; return (true); } public function AddAdFreeDomain(_arg1:String):void{ arrAdFreeDomains.push(_arg1); } private function XmlFail(_arg1:Event):void{ blnLoadedXML = true; blnExceptionFound = false; } private function SearchForXMLException():void{ var _local1:URLRequest = new URLRequest("AllowGameURLAccess.xml"); lodUrlLoader = new URLLoader(); lodUrlLoader.addEventListener(Event.COMPLETE, XmlListener); lodUrlLoader.addEventListener(IOErrorEvent.IO_ERROR, XmlFail); lodUrlLoader.load(_local1); } } }//package
Section 168
//WaveEngine (WaveEngine) package { public class WaveEngine { private var arrSurvive1:Array; private var arrSurvive2:Array; private var arrSurvive4:Array; private var arrSurvive6:Array; private var arrPosTypes:Array; private var arrSurvive3:Array; private var arrSurvive5:Array; private var arrSurvive8:Array; private var arrSurvive9:Array; private var OAFrameCount:Number; private var arrSurvive7:Array; private var mainRef:Main; private var gMode:Number; private var mult:Number; private var arrSurvive11:Array; private var arrSurvive13:Array; private var arrSurvive15:Array; private var arrSurvive16:Array; private var arrSurvive10:Array; private var arrSurvive18:Array; private var arrSurvive12:Array; private var arrSurvive14:Array; private var arrSurvive17:Array; private var arrWaves:Array; private var IFrameCount:Number; private var arrSurvive20:Array; private var arrSurvive19:Array; private var frameInterval:Number; private var waveIndex:Number; private var blnSurvivalDone:Boolean; private var i:Number; private var blnGo:Boolean; public function WaveEngine(_arg1:Main):void{ mainRef = _arg1; OAFrameCount = 0; IFrameCount = 0; waveIndex = 0; mult = 1; blnSurvivalDone = false; frameInterval = 10; i = 1; blnGo = true; arrWaves = new Array(); arrPosTypes = new Array(); SetWaves(); } private function ClusterList(_arg1:Number=-1, _arg2:Number=-1, _arg3:Number=-1):Array{ var _local4:Array = new Array(); if (_arg1 != -1){ _local4.push(_arg1); }; if (_arg2 != -1){ _local4.push(_arg2); }; if (_arg3 != -1){ _local4.push(_arg3); }; return (_local4); } private function RandNum(_arg1:Number, _arg2:Number):Number{ return ((Math.round((Math.random() * (_arg2 - _arg1))) + _arg1)); } private function WavesFinished():void{ blnGo = false; mainRef.WavesDone(); } private function PositionList(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0):Array{ var _local7:Array = new Array(); if (_arg1 != 0){ _local7.push(_arg1); }; if (_arg2 != 0){ _local7.push(_arg2); }; if (_arg3 != 0){ _local7.push(_arg3); }; if (_arg4 != 0){ _local7.push(_arg4); }; if (_arg5 != 0){ _local7.push(_arg5); }; if (_arg6 != 0){ _local7.push(_arg6); }; return (_local7); } private function CRadiusList(_arg1:Boolean, _arg2:Number=-1, _arg3:Number=-1, _arg4:Number=-1, _arg5:Number=-1, _arg6:Number=-1, _arg7:Number=-1, _arg8:Number=-1, _arg9:Number=-1, _arg10:Number=-1, _arg11:Number=-1):Array{ var _local13:Number; var _local12:Array = new Array(); if (_arg1 == false){ if (_arg2 != -1){ _local12.push(_arg2); }; if (_arg3 != -1){ _local12.push(_arg3); }; if (_arg4 != -1){ _local12.push(_arg4); }; if (_arg5 != -1){ _local12.push(_arg5); }; if (_arg6 != -1){ _local12.push(_arg6); }; if (_arg7 != -1){ _local12.push(_arg7); }; if (_arg8 != -1){ _local12.push(_arg8); }; if (_arg9 != -1){ _local12.push(_arg9); }; if (_arg10 != -1){ _local12.push(_arg10); }; if (_arg11 != -1){ _local12.push(_arg11); }; } else { _local13 = _arg2; while (_local13 <= _arg3) { _local12.push(_local13); _local13++; }; }; return (_local12); } public function Stop():void{ blnGo = false; } private function BetweenList(_arg1:Boolean, _arg2:Number=-1, _arg3:Number=-1, _arg4:Number=-1, _arg5:Number=-1, _arg6:Number=-1, _arg7:Number=-1, _arg8:Number=-1, _arg9:Number=-1, _arg10:Number=-1, _arg11:Number=-1):Array{ var _local13:Number; var _local12:Array = new Array(); if (_arg1 == false){ if (_arg2 != -1){ _local12.push(_arg2); }; if (_arg3 != -1){ _local12.push(_arg3); }; if (_arg4 != -1){ _local12.push(_arg4); }; if (_arg5 != -1){ _local12.push(_arg5); }; if (_arg6 != -1){ _local12.push(_arg6); }; if (_arg7 != -1){ _local12.push(_arg7); }; if (_arg8 != -1){ _local12.push(_arg8); }; if (_arg9 != -1){ _local12.push(_arg9); }; if (_arg10 != -1){ _local12.push(_arg10); }; if (_arg11 != -1){ _local12.push(_arg11); }; } else { _local13 = _arg2; while (_local13 <= _arg3) { _local12.push(_local13); _local13++; }; }; return (_local12); } public function ReturnCurrentWave():Number{ return (waveIndex); } private function NextWave():void{ var _local1:Number; if (gMode == 1){ if (waveIndex < arrWaves.length){ mainRef.PlaceEnemy(arrWaves[waveIndex].enemyType, arrWaves[waveIndex].positioningType[(RandNum(1, arrWaves[waveIndex].positioningType.length) - 1)], arrWaves[waveIndex].clusterType, arrWaves[waveIndex].clusterAmount, arrWaves[waveIndex].clusterRadius); frameInterval = (arrWaves[waveIndex].inBetween + mainRef.ReturnFAddition()); waveIndex++; } else { WavesFinished(); }; } else { _local1 = 0; if ((((((((this[("arrSurvive" + i)].length > 0)) && (!((this[("arrSurvive" + i)] == null))))) && (!((this[("arrSurvive" + (i + 1))] == null))))) && ((blnSurvivalDone == false)))){ i = (int((waveIndex / 10)) + 1); _local1 = RandNum(0, (this[("arrSurvive" + i)].length - 1)); if ((((((this[("arrSurvive" + i)].length > 0)) && (!((this[("arrSurvive" + i)] == null))))) && (!((this[("arrSurvive" + (i + 1))] == null))))){ mainRef.PlaceEnemy(this[("arrSurvive" + i)][_local1].enemyType, this[("arrSurvive" + i)][_local1].positioningType[RandNum(0, (this[("arrSurvive" + i)][_local1].positioningType.length - 1))], this[("arrSurvive" + i)][_local1].clusterType[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterType.length - 1))], this[("arrSurvive" + i)][_local1].clusterAmount[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterAmount.length - 1))], this[("arrSurvive" + i)][_local1].clusterRadius[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterRadius.length - 1))]); frameInterval = (int(this[("arrSurvive" + i)][_local1].inBetween[RandNum(0, (this[("arrSurvive" + i)][_local1].inBetween.length - 1))]) + mainRef.ReturnFAddition()); }; waveIndex++; } else { if (blnSurvivalDone == false){ i--; blnSurvivalDone = true; }; _local1 = RandNum(0, (this[("arrSurvive" + i)].length - 1)); mainRef.PlaceEnemy(this[("arrSurvive" + i)][_local1].enemyType, this[("arrSurvive" + i)][_local1].positioningType[RandNum(0, (this[("arrSurvive" + i)][_local1].positioningType.length - 1))], this[("arrSurvive" + i)][_local1].clusterType[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterType.length - 1))], this[("arrSurvive" + i)][_local1].clusterAmount[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterAmount.length - 1))], this[("arrSurvive" + i)][_local1].clusterRadius[RandNum(0, (this[("arrSurvive" + i)][_local1].clusterRadius.length - 1))]); if ((mult - 0.01) >= 0.3){ mult = (mult - 0.01); }; frameInterval = (int(this[("arrSurvive" + i)][_local1].inBetween[RandNum(0, (this[("arrSurvive" + i)][_local1].inBetween.length - 1))]) + mainRef.ReturnFAddition()); waveIndex++; }; }; mainRef.UpdateWaveText(waveIndex); } public function Reset():void{ OAFrameCount = 0; frameInterval = 0; } public function Start():void{ gMode = mainRef.GAMEMODE; blnGo = true; } private function CAmountList(_arg1:Boolean, _arg2:Number=-1, _arg3:Number=-1, _arg4:Number=-1, _arg5:Number=-1, _arg6:Number=-1, _arg7:Number=-1, _arg8:Number=-1, _arg9:Number=-1, _arg10:Number=-1, _arg11:Number=-1):Array{ var _local13:Number; var _local12:Array = new Array(); if (_arg1 == false){ if (_arg2 != -1){ _local12.push(_arg2); }; if (_arg3 != -1){ _local12.push(_arg3); }; if (_arg4 != -1){ _local12.push(_arg4); }; if (_arg5 != -1){ _local12.push(_arg5); }; if (_arg6 != -1){ _local12.push(_arg6); }; if (_arg7 != -1){ _local12.push(_arg7); }; if (_arg8 != -1){ _local12.push(_arg8); }; if (_arg9 != -1){ _local12.push(_arg9); }; if (_arg10 != -1){ _local12.push(_arg10); }; if (_arg11 != -1){ _local12.push(_arg11); }; } else { _local13 = _arg2; while (_local13 <= _arg3) { _local12.push(_local13); _local13++; }; }; return (_local12); } private function SetWaves():void{ gMode = mainRef.GAMEMODE; var _local1:Number = 0; var _local2:Number = 0; if (gMode == 1){ if (mainRef.LEVEL == 1){ arrWaves.push({enemyType:1, positioningType:PositionList(4), clusterType:2, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:2, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:2, clusterAmount:8, clusterRadius:RandNum(75, 150), inBetween:150}); arrWaves.push({enemyType:1, positioningType:PositionList(4), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:1, clusterAmount:5, clusterRadius:RandNum(50, 100), inBetween:125}); arrWaves.push({enemyType:1, positioningType:PositionList(2), clusterType:2, clusterAmount:15, clusterRadius:125, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:2, clusterAmount:6, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:2, clusterAmount:2, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:2, clusterAmount:8, clusterRadius:75, inBetween:80}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:2, clusterAmount:5, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:12, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(4), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:2, clusterAmount:25, clusterRadius:200, inBetween:100}); } else { if (mainRef.LEVEL == 2){ arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:12, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(4), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:5, positioningType:PositionList(2), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:250}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(4), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(4), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:150}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(4), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(5), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(4), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:350}); arrWaves.push({enemyType:4, positioningType:PositionList(4), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:250}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:150}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:75, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:75, inBetween:50}); } else { if (mainRef.LEVEL == 3){ arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(4), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:250}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:30}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:100, inBetween:200}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:200}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:8, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:150}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:14, clusterRadius:200, inBetween:60}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:75, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); } else { if (mainRef.LEVEL == 4){ arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:250}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:8, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:150}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:300}); arrWaves.push({enemyType:6, positioningType:PositionList(2), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:250}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(2), clusterType:2, clusterAmount:10, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:1, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(2), clusterType:2, clusterAmount:10, clusterRadius:100, inBetween:250}); } else { if (mainRef.LEVEL == 5){ arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:250}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:300}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:9, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(2), clusterType:2, clusterAmount:10, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:20, clusterRadius:125, inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:250}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:9, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(2), clusterType:2, clusterAmount:10, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:20}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:350}); arrWaves.push({enemyType:5, positioningType:PositionList(2), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(3), clusterType:1, clusterAmount:0, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(4), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:200}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:350}); } else { if (mainRef.LEVEL == 6){ arrWaves.push({enemyType:6, positioningType:PositionList(2), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:250}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:9, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:1, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(2), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(2), clusterType:2, clusterAmount:10, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(3), clusterType:1, clusterAmount:0, clusterRadius:75, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:75, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:25}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(5), clusterType:1, clusterAmount:1, clusterRadius:75, inBetween:125}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:6, clusterRadius:75, inBetween:300}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:2, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:2, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:9, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:250}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:25, clusterRadius:250, inBetween:40}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:125}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); } else { if (mainRef.LEVEL == 7){ arrWaves.push({enemyType:7, positioningType:PositionList(3), clusterType:1, clusterAmount:8, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:200}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:150}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:7, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:7, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:75, inBetween:150}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:8, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:200}); arrWaves.push({enemyType:7, positioningType:PositionList(3), clusterType:1, clusterAmount:8, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:200}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:9, positioningType:PositionList(2), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); } else { if (mainRef.LEVEL == 8){ arrWaves.push({enemyType:9, positioningType:PositionList(2), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:7, positioningType:PositionList(1), clusterType:1, clusterAmount:7, clusterRadius:75, inBetween:60}); arrWaves.push({enemyType:7, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:75, inBetween:150}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(3), clusterType:1, clusterAmount:8, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:200}); arrWaves.push({enemyType:6, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:7, positioningType:PositionList(5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:40}); arrWaves.push({enemyType:7, positioningType:PositionList(4), clusterType:2, clusterAmount:4, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1), clusterType:1, clusterAmount:4, clusterRadius:100, inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:150}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(4), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:9, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:9, positioningType:PositionList(5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:100}); } else { if (mainRef.LEVEL == 9){ arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:70}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:8, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:14, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:70}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:1, clusterAmount:50, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:0}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:1, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:125}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:1, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:60}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:200, inBetween:350}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:5, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:5, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:2, positioningType:PositionList(3), clusterType:2, clusterAmount:17, clusterRadius:150, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:5, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:5, clusterRadius:100, inBetween:300}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:100}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:70}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:20}); arrWaves.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:75, inBetween:300}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:60}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:60}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:100}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:250}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:250}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:70}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:24, clusterRadius:RandNum(50, 125), inBetween:350}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:0, clusterRadius:200, inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:200, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:3, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:2, clusterRadius:100, inBetween:60}); arrWaves.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:2, clusterAmount:5, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:50}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:3, clusterRadius:RandNum(50, 100), inBetween:75}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:3, clusterAmount:4, clusterRadius:RandNum(50, 100), inBetween:30}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:1, clusterAmount:2, clusterRadius:RandNum(50, 100), inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:15}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:10}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:75}); } else { if (mainRef.LEVEL == 10){ arrWaves.push({enemyType:11, positioningType:PositionList(6), clusterType:0, clusterAmount:0, clusterRadius:0, inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:0, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:6, clusterRadius:RandNum(50, 125), inBetween:50}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:75}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:0}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:4, clusterRadius:RandNum(50, 125), inBetween:100}); arrWaves.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:150}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:0}); arrWaves.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:0, clusterAmount:0, clusterRadius:100, inBetween:350}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:1, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:2, clusterRadius:RandNum(50, 125), inBetween:25}); arrWaves.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:RandNum(1, 2), clusterAmount:3, clusterRadius:RandNum(50, 125), inBetween:100}); }; }; }; }; }; }; }; }; }; }; } else { if (gMode == 2){ arrSurvive1 = new Array(); arrSurvive1.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 4), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 40, 100)}); arrSurvive2 = new Array(); arrSurvive2.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 40, 100)}); arrSurvive2.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 4), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 20, 70)}); arrSurvive2.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 4), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 40)}); arrSurvive2.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive3 = new Array(); arrSurvive3.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 60, 125)}); arrSurvive3.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 4), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 60)}); arrSurvive3.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive3.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 2, 7), clusterRadius:CRadiusList(true, 50, 160), inBetween:BetweenList(true, 25, 75)}); arrSurvive4 = new Array(); arrSurvive4.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 60, 125)}); arrSurvive4.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 4), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 60)}); arrSurvive4.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive4.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 160), inBetween:BetweenList(true, 25, 75)}); arrSurvive4.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 2, 6), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 125)}); arrSurvive4.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive5 = new Array(); arrSurvive5.push({enemyType:1, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(true, 60, 125)}); arrSurvive5.push({enemyType:1, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(true, 30, 60)}); arrSurvive5.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive5.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 160), inBetween:BetweenList(true, 25, 75)}); arrSurvive5.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 2, 6), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 125)}); arrSurvive5.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive5.push({enemyType:6, positioningType:PositionList(2), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 150)}); arrSurvive6 = new Array(); arrSurvive6.push({enemyType:1, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 11, 19), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(true, 60, 125)}); arrSurvive6.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive6.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 160), inBetween:BetweenList(true, 25, 75)}); arrSurvive6.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 2, 6), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 125)}); arrSurvive6.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive6.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive7 = new Array(); arrSurvive7.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive7.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 25, 75)}); arrSurvive7.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive7.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive7.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive7.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 2, 5), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive8 = new Array(); arrSurvive8.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive8.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 25, 75)}); arrSurvive8.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive8.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive8.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive8.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive9 = new Array(); arrSurvive9.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive9.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive9.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive9.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive9.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive9.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 100, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive10 = new Array(); arrSurvive10.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive10.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive10.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive10.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive10.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive10.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive11 = new Array(); arrSurvive11.push({enemyType:5, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive11.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive11.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive11.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive11.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive11.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive11.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 2, 5), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive12 = new Array(); arrSurvive12.push({enemyType:5, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 0, 2), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 0, 60)}); arrSurvive12.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 400), inBetween:BetweenList(true, 30, 125)}); arrSurvive12.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive12.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive12.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive12.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive12.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive13 = new Array(); arrSurvive13.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive13.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive13.push({enemyType:3, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 30, 90), inBetween:BetweenList(true, 25, 75)}); arrSurvive13.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive13.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive13.push({enemyType:9, positioningType:PositionList(2), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 150)}); arrSurvive14 = new Array(); arrSurvive14.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive14.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive14.push({enemyType:3, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive14.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive14.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive14.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive15 = new Array(); arrSurvive15.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive15.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive15.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive15.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive15.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive16 = new Array(); arrSurvive16.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive16.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive16.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 100)}); arrSurvive16.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive16.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive16.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive17 = new Array(); arrSurvive17.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive17.push({enemyType:6, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 150, 250), inBetween:BetweenList(false, 150)}); arrSurvive17.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive17.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive17.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 150)}); arrSurvive17.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive18 = new Array(); arrSurvive18.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive18.push({enemyType:7, positioningType:PositionList(1, 3, 4, 5), clusterType:ClusterList(1, 2), clusterAmount:CAmountList(true, 5, 9), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 25, 75)}); arrSurvive18.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 125)}); arrSurvive18.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 150)}); arrSurvive18.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(false, 100)}); arrSurvive19 = new Array(); arrSurvive19.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 125)}); arrSurvive19.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive19.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 9, 17), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 25, 125)}); arrSurvive19.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 11), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 30, 50)}); arrSurvive19.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 75, 200), inBetween:BetweenList(false, 150)}); arrSurvive19.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 75, 200), inBetween:BetweenList(false, 100)}); arrSurvive20 = new Array(); arrSurvive19.push({enemyType:5, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 1, 2), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 0, 60)}); arrSurvive19.push({enemyType:2, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 5, 14), clusterRadius:CRadiusList(true, 50, 100), inBetween:BetweenList(true, 30, 125)}); arrSurvive19.push({enemyType:4, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(0), clusterAmount:CAmountList(false, 0), clusterRadius:CRadiusList(false, 75), inBetween:BetweenList(true, 30, 60)}); arrSurvive19.push({enemyType:7, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 9, 17), clusterRadius:CRadiusList(true, 200, 300), inBetween:BetweenList(true, 25, 125)}); arrSurvive19.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 75, 200), inBetween:BetweenList(false, 100)}); arrSurvive19.push({enemyType:9, positioningType:PositionList(3, 4, 5), clusterType:ClusterList(2), clusterAmount:CAmountList(true, 0, 1), clusterRadius:CRadiusList(true, 75, 200), inBetween:BetweenList(false, 50)}); }; }; } public function Run():void{ if (blnGo == true){ OAFrameCount++; IFrameCount++; if (IFrameCount >= frameInterval){ NextWave(); IFrameCount = 0; }; }; } } }//package
Section 169
//WaveText (WaveText) package { import flash.display.*; import flash.text.*; public dynamic class WaveText extends MovieClip { public var wTXT:TextField; } }//package
Section 170
//Web (Web) package { import flash.display.*; import flash.net.*; import flash.external.*; public dynamic class Web extends MovieClip { protected static const WINDOW_OPEN_FUNCTION:String = "window.open"; public function Web():void{ } public function GetURL(_arg1:String, _arg2:String=null):void{ var url = _arg1; var window = _arg2; var req:URLRequest = new URLRequest(url); try { navigateToURL(req, window); } catch(e:Error) { }; } public function OpenWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{ ExternalInterface.call(WINDOW_OPEN_FUNCTION, _arg1, _arg2, _arg3); } } }//package
Section 171
//WinScreen (WinScreen) package { import flash.display.*; import flash.text.*; public dynamic class WinScreen extends MovieClip { public var score_txt:TextField; public function WinScreen(){ addFrameScript(382, frame383, 546, frame547); } function frame383(){ this.score_txt.text = Main(root).FillWinScore(); } function frame547(){ stop(); Main(root).FinishWinScreen(); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:4
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip {ScreenFlash}Uses:2 3
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClip {BGround11}Uses:6
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:10
Symbol 10 MovieClip {BGround2}Uses:9
Symbol 11 Bitmap {GLORIOUS}
Symbol 12 Bitmap {INDESTRUCTIBLE}
Symbol 13 GraphicUsed by:28
Symbol 14 GraphicUsed by:28
Symbol 15 GraphicUsed by:28
Symbol 16 SoundUsed by:28
Symbol 17 SoundUsed by:28
Symbol 18 GraphicUsed by:28
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClipUses:19Used by:28
Symbol 21 SoundUsed by:28
Symbol 22 SoundUsed by:28
Symbol 23 SoundUsed by:28
Symbol 24 GraphicUsed by:25
Symbol 25 ButtonUses:24Used by:28
Symbol 26 SoundUsed by:28
Symbol 27 SoundUsed by:28
Symbol 28 MovieClip {vector_boom_fla.ag_intro_mc_181}Uses:13 14 15 16 17 18 20 21 22 23 25 26 27Used by:33
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:31
Symbol 31 MovieClipUses:30Used by:32
Symbol 32 MovieClipUses:31Used by:33
Symbol 33 MovieClip {SplashIntro}Uses:28 32
Symbol 34 GraphicUsed by:36
Symbol 35 GraphicUsed by:36
Symbol 36 MovieClip {vector_boom_fla.bar_179}Uses:34 35Used by:39
Symbol 37 FontUsed by:38
Symbol 38 EditableTextUses:37Used by:39
Symbol 39 MovieClip {PreloaderMC}Uses:36 38
Symbol 40 GraphicUsed by:119 652  Timeline
Symbol 41 FontUsed by:42 452 453 519 520
Symbol 42 EditableTextUses:41Used by:Timeline
Symbol 43 GraphicUsed by:44 152
Symbol 44 MovieClipUses:43Used by:Timeline
Symbol 45 GraphicUsed by:56
Symbol 46 GraphicUsed by:47
Symbol 47 ButtonUses:46Used by:56
Symbol 48 FontUsed by:49 52 54 146 456 457 458 460 468 469 470 471 472 473 474 476 477 478 479 480 482 485 486 514
Symbol 49 TextUses:48Used by:56
Symbol 50 FontUsed by:51 53 55 63
Symbol 51 TextUses:50Used by:56
Symbol 52 TextUses:48Used by:56
Symbol 53 TextUses:50Used by:56
Symbol 54 TextUses:48Used by:56
Symbol 55 TextUses:50Used by:56
Symbol 56 MovieClip {vector_boom_fla.NewgroundsAPI_Connector_2}Uses:45 47 49 51 52 53 54 55Used by:Timeline
Symbol 57 GraphicUsed by:69
Symbol 58 FontUsed by:60
Symbol 59 FontUsed by:60
Symbol 60 TextUses:58 59Used by:69
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:69
Symbol 63 EditableTextUses:50Used by:69
Symbol 64 FontUsed by:65 66
Symbol 65 TextUses:64Used by:69
Symbol 66 EditableTextUses:64Used by:69
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:69
Symbol 69 MovieClip {vector_boom_fla.NewgroundsAPI_Medal_Popup_4}Uses:57 60 62 63 65 66 68Used by:Timeline
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClip {BGround5}Uses:71Used by:Timeline
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClip {BGround6}Uses:74Used by:Timeline
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:78
Symbol 78 MovieClip {BGround7}Uses:77Used by:Timeline
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:81
Symbol 81 MovieClip {BGround8}Uses:80Used by:Timeline
Symbol 82 BitmapUsed by:83
Symbol 83 GraphicUses:82Used by:84
Symbol 84 MovieClip {BGround9}Uses:83Used by:Timeline
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:87
Symbol 87 MovieClip {BGround10}Uses:86Used by:Timeline
Symbol 88 GraphicUsed by:91
Symbol 89 FontUsed by:90 110 111 112 116 117 118 632 650 651
Symbol 90 EditableTextUses:89Used by:91
Symbol 91 MovieClipUses:88 90Used by:109
Symbol 92 FontUsed by:93 94 95 96 98 99 126 129 130 132 133 146 147 148 459 466 467 475 508 509 510 511 512 515 516
Symbol 93 EditableTextUses:92Used by:109
Symbol 94 EditableTextUses:92Used by:109
Symbol 95 EditableTextUses:92Used by:109
Symbol 96 EditableTextUses:92Used by:109
Symbol 97 GraphicUsed by:100 108 131 134 223 517 643 649
Symbol 98 TextUses:92Used by:100
Symbol 99 TextUses:92Used by:100
Symbol 100 MovieClip {vector_boom_fla.pmg_fail_15}Uses:97 98 99Used by:109
Symbol 101 FontUsed by:102 103 106 107 162 165 166 167 168 169 172 173 175 176 178 179 181 182 186 187 188 190 191 193 194 196 197 199 200 202 203 205 206 221 222
Symbol 102 TextUses:101Used by:105 122
Symbol 103 TextUses:101Used by:105 122
Symbol 104 GraphicUsed by:105
Symbol 105 ButtonUses:102 103 104Used by:109 217
Symbol 106 TextUses:101Used by:108
Symbol 107 TextUses:101Used by:108
Symbol 108 ButtonUses:106 107 97Used by:109
Symbol 109 MovieClip {FailScreen}Uses:91 93 94 95 96 100 105 108Used by:Timeline
Symbol 110 TextUses:89Used by:119
Symbol 111 TextUses:89Used by:119
Symbol 112 TextUses:89Used by:119
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:115
Symbol 115 MovieClipUses:114Used by:119 152 217
Symbol 116 TextUses:89Used by:119
Symbol 117 EditableTextUses:89Used by:119
Symbol 118 TextUses:89Used by:119
Symbol 119 MovieClip {WinScreen}Uses:40 110 111 112 115 116 117 118Used by:Timeline
Symbol 120 GraphicUsed by:152
Symbol 121 GraphicUsed by:122 204 207 441
Symbol 122 MovieClip {vector_boom_fla.back_btn_21}Uses:121 102 103Used by:152
Symbol 123 VideoUsed by:124
Symbol 124 MovieClipUses:123 SS1Used by:152
Symbol 125 GraphicUsed by:152
Symbol 126 TextUses:92Used by:152
Symbol 127 FontUsed by:128 137 149 150 151
Symbol 128 TextUses:127Used by:152
Symbol 129 TextUses:92Used by:131
Symbol 130 TextUses:92Used by:131
Symbol 131 MovieClip {vector_boom_fla.tut_play_btn_23}Uses:97 129 130Used by:152
Symbol 132 TextUses:92Used by:134
Symbol 133 TextUses:92Used by:134
Symbol 134 MovieClip {vector_boom_fla.tut_next_btn_24}Uses:97 132 133Used by:152
Symbol 135 GraphicUsed by:152
Symbol 136 GraphicUsed by:152
Symbol 137 TextUses:127Used by:152
Symbol 138 GraphicUsed by:152
Symbol 139 GraphicUsed by:152 553 555 557
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClipUses:140Used by:152 553 555 557
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:142Used by:152 553 555 557
Symbol 144 GraphicUsed by:152
Symbol 145 GraphicUsed by:152
Symbol 146 TextUses:92 48Used by:152
Symbol 147 TextUses:92Used by:152
Symbol 148 TextUses:92Used by:152
Symbol 149 TextUses:127Used by:152
Symbol 150 TextUses:127Used by:152
Symbol 151 TextUses:127Used by:152
Symbol 152 MovieClip {TutVid}Uses:115 120 122 43 124 125 126 128 131 134 135 136 137 138 139 141 143 144 145 146 147 148 149 150 151Used by:Timeline
Symbol 153 BitmapUsed by:154 455
Symbol 154 GraphicUses:153Used by:Timeline
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:157
Symbol 157 MovieClip {BGround3}Uses:156Used by:Timeline
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:160
Symbol 160 MovieClip {BGround1}Uses:159Used by:Timeline
Symbol 161 GraphicUsed by:184
Symbol 162 TextUses:101Used by:184
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClipUses:163Used by:184
Symbol 165 TextUses:101Used by:184
Symbol 166 TextUses:101Used by:184
Symbol 167 TextUses:101Used by:184
Symbol 168 TextUses:101Used by:171
Symbol 169 TextUses:101Used by:171
Symbol 170 GraphicUsed by:171 174 177 180 183 518
Symbol 171 ButtonUses:168 169 170Used by:184
Symbol 172 TextUses:101Used by:174
Symbol 173 TextUses:101Used by:174
Symbol 174 ButtonUses:172 173 170Used by:184
Symbol 175 TextUses:101Used by:177
Symbol 176 TextUses:101Used by:177
Symbol 177 ButtonUses:175 176 170Used by:184
Symbol 178 TextUses:101Used by:180
Symbol 179 TextUses:101Used by:180
Symbol 180 ButtonUses:178 179 170Used by:184
Symbol 181 TextUses:101Used by:183
Symbol 182 TextUses:101Used by:183
Symbol 183 ButtonUses:181 182 170Used by:184
Symbol 184 MovieClipUses:161 162 164 165 166 167 171 174 177 180 183Used by:217
Symbol 185 GraphicUsed by:217
Symbol 186 TextUses:101Used by:217
Symbol 187 TextUses:101Used by:217
Symbol 188 EditableTextUses:101 646Used by:217
Symbol 189 GraphicUsed by:192 195 198 201
Symbol 190 TextUses:101Used by:192
Symbol 191 TextUses:101Used by:192
Symbol 192 MovieClip {PMGBTN}Uses:189 190 191Used by:217  Timeline
Symbol 193 TextUses:101Used by:195
Symbol 194 TextUses:101Used by:195
Symbol 195 MovieClip {CreditsBTN}Uses:189 193 194Used by:217  Timeline
Symbol 196 TextUses:101Used by:198
Symbol 197 TextUses:101Used by:198
Symbol 198 MovieClip {SettingsBTN}Uses:189 196 197Used by:217  Timeline
Symbol 199 TextUses:101Used by:201
Symbol 200 TextUses:101Used by:201
Symbol 201 MovieClip {PlayBTN}Uses:189 199 200Used by:217  Timeline
Symbol 202 TextUses:101Used by:204
Symbol 203 TextUses:101Used by:204
Symbol 204 MovieClip {vector_boom_fla.normal_mode_btn_41}Uses:121 202 203Used by:217
Symbol 205 TextUses:101Used by:207
Symbol 206 TextUses:101Used by:207
Symbol 207 MovieClip {vector_boom_fla.survival_mode_btn_42}Uses:121 205 206Used by:217
Symbol 208 FontUsed by:209 216
Symbol 209 EditableTextUses:208Used by:217
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClipUses:210Used by:214
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:214
Symbol 214 MovieClipUses:211 213Used by:215
Symbol 215 MovieClipUses:214Used by:217
Symbol 216 EditableTextUses:208Used by:217
Symbol 217 MovieClip {M_Menu}Uses:115 184 185 186 187 188 105 192 195 198 201 204 207 209 215 216Used by:Timeline
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:220
Symbol 220 MovieClip {BGround4}Uses:219Used by:Timeline
Symbol 221 TextUses:101Used by:223
Symbol 222 TextUses:101Used by:223
Symbol 223 MovieClip {ContBTN}Uses:97 221 222Used by:Timeline
Symbol 224 GraphicUsed by:227
Symbol 225 GraphicUsed by:226
Symbol 226 MovieClipUses:225Used by:227
Symbol 227 MovieClipUses:224 226Used by:305 327 331
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:228Used by:245 315 329
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:245 315 329
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClipUses:232Used by:245 315 329
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClipUses:234Used by:245 315 329
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClipUses:236Used by:245 315 329
Symbol 238 GraphicUsed by:239
Symbol 239 MovieClipUses:238Used by:245 315 329
Symbol 240 GraphicUsed by:245
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClipUses:241Used by:245 315 329
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClipUses:243Used by:245 315 329 549
Symbol 245 MovieClipUses:229 231 233 235 237 239 240 242 244Used by:305
Symbol 246 GraphicUsed by:305
Symbol 247 GraphicUsed by:263
Symbol 248 GraphicUsed by:263
Symbol 249 GraphicUsed by:263 325 576 589
Symbol 250 GraphicUsed by:263 325 589
Symbol 251 GraphicUsed by:263
Symbol 252 GraphicUsed by:263
Symbol 253 GraphicUsed by:263
Symbol 254 GraphicUsed by:263 589
Symbol 255 GraphicUsed by:263 589
Symbol 256 GraphicUsed by:263
Symbol 257 GraphicUsed by:263 325 576 589
Symbol 258 GraphicUsed by:263 325 576 589
Symbol 259 GraphicUsed by:263 325 576 589
Symbol 260 GraphicUsed by:263 325 576 589
Symbol 261 GraphicUsed by:263 325 576 589
Symbol 262 GraphicUsed by:263 325 576 589
Symbol 263 MovieClip {vector_boom_fla.animatedparticles1_63}Uses:247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262Used by:264 434 626
Symbol 264 MovieClip {vector_boom_fla.Explosion_Boss1_62}Uses:263Used by:305 327 331
Symbol 265 GraphicUsed by:277 303
Symbol 266 GraphicUsed by:277
Symbol 267 GraphicUsed by:277
Symbol 268 GraphicUsed by:277
Symbol 269 GraphicUsed by:277
Symbol 270 GraphicUsed by:277
Symbol 271 GraphicUsed by:277
Symbol 272 GraphicUsed by:277
Symbol 273 GraphicUsed by:277
Symbol 274 GraphicUsed by:277
Symbol 275 GraphicUsed by:277
Symbol 276 GraphicUsed by:277
Symbol 277 MovieClip {vector_boom_fla.animatedparticles2_65}Uses:265 266 267 268 269 270 271 272 273 274 275 276Used by:278 435 626
Symbol 278 MovieClip {vector_boom_fla.Explosion_Boss2_64}Uses:277Used by:305 327 331
Symbol 279 GraphicUsed by:303
Symbol 280 GraphicUsed by:303
Symbol 281 GraphicUsed by:303
Symbol 282 GraphicUsed by:303
Symbol 283 GraphicUsed by:303
Symbol 284 GraphicUsed by:303
Symbol 285 GraphicUsed by:303
Symbol 286 GraphicUsed by:303
Symbol 287 GraphicUsed by:303
Symbol 288 GraphicUsed by:303
Symbol 289 GraphicUsed by:303
Symbol 290 GraphicUsed by:303
Symbol 291 GraphicUsed by:303
Symbol 292 GraphicUsed by:303
Symbol 293 GraphicUsed by:303
Symbol 294 GraphicUsed by:303
Symbol 295 GraphicUsed by:303
Symbol 296 GraphicUsed by:303
Symbol 297 GraphicUsed by:303
Symbol 298 GraphicUsed by:303
Symbol 299 GraphicUsed by:303
Symbol 300 GraphicUsed by:303
Symbol 301 GraphicUsed by:303
Symbol 302 GraphicUsed by:303
Symbol 303 MovieClip {vector_boom_fla.animatedparticles3_67}Uses:265 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302Used by:304 436 626
Symbol 304 MovieClip {vector_boom_fla.Explosion_Boss3_66}Uses:303Used by:305 327 331
Symbol 305 MovieClip {vector_boom_fla.stage1_50}Uses:227 245 246 264 278 304Used by:332
Symbol 306 GraphicUsed by:309
Symbol 307 GraphicUsed by:308
Symbol 308 MovieClipUses:307Used by:309 332 374 375 380 394 430 549 592 627
Symbol 309 MovieClipUses:306 308Used by:332
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:310Used by:315 329 618
Symbol 312 GraphicUsed by:315
Symbol 313 GraphicUsed by:315
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClipUses:235 229 237 231 239 311 233 312 313 314 244 242Used by:327
Symbol 316 GraphicUsed by:327
Symbol 317 GraphicUsed by:325
Symbol 318 GraphicUsed by:325
Symbol 319 GraphicUsed by:325
Symbol 320 GraphicUsed by:325
Symbol 321 GraphicUsed by:325
Symbol 322 GraphicUsed by:325
Symbol 323 GraphicUsed by:325
Symbol 324 GraphicUsed by:325
Symbol 325 MovieClip {vector_boom_fla.animatedparticles4_74}Uses:317 318 249 250 319 320 321 322 323 324 257 258 259 260 261 262Used by:326 566 626
Symbol 326 MovieClip {vector_boom_fla.Explosion_Boss4_73}Uses:325Used by:327 331
Symbol 327 MovieClip {vector_boom_fla.stage2_70}Uses:227 315 316 264 304 326 278Used by:332
Symbol 328 GraphicUsed by:329
Symbol 329 MovieClipUses:231 237 229 311 233 239 235 328 244 242Used by:331
Symbol 330 GraphicUsed by:331
Symbol 331 MovieClip {vector_boom_fla.stage3_75}Uses:227 329 330 264 304 278 326Used by:332
Symbol 332 MovieClip {UBase}Uses:305 309 308 327 331Used by:518  Timeline
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClip {BShield}Uses:333Used by:Timeline
Symbol 335 GraphicUsed by:340
Symbol 336 GraphicUsed by:340
Symbol 337 GraphicUsed by:340
Symbol 338 GraphicUsed by:340
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClipUses:335 336 337 338 339Used by:341 342 355
Symbol 341 MovieClip {E5Bullet}Uses:340Used by:Timeline
Symbol 342 MovieClip {MBullet}Uses:340Used by:Timeline
Symbol 343 GraphicUsed by:352
Symbol 344 GraphicUsed by:352
Symbol 345 GraphicUsed by:352
Symbol 346 GraphicUsed by:352
Symbol 347 GraphicUsed by:352
Symbol 348 GraphicUsed by:352
Symbol 349 GraphicUsed by:352
Symbol 350 GraphicUsed by:352
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:343 344 345 346 347 348 349 350 351Used by:354 433 628
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClip {E2Bullet}Uses:352 353Used by:Timeline
Symbol 355 MovieClip {E4Bullet}Uses:340Used by:Timeline
Symbol 356 GraphicUsed by:361
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:361
Symbol 359 GraphicUsed by:361
Symbol 360 GraphicUsed by:361
Symbol 361 MovieClip {BigBoom}Uses:356 358 359 360Used by:Timeline
Symbol 362 GraphicUsed by:368
Symbol 363 GraphicUsed by:368
Symbol 364 GraphicUsed by:368
Symbol 365 GraphicUsed by:368
Symbol 366 GraphicUsed by:368
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClipUses:362 363 364 365 366 367Used by:371 375 380 389 394 430 584
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClipUses:369Used by:371 619
Symbol 371 MovieClip {E1}Uses:368 370Used by:Timeline
Symbol 372 GraphicUsed by:374
Symbol 373 GraphicUsed by:374
Symbol 374 MovieClipUses:372 308 373Used by:375
Symbol 375 MovieClip {E2}Uses:368 374 308Used by:Timeline
Symbol 376 GraphicUsed by:377
Symbol 377 MovieClipUses:376Used by:380
Symbol 378 GraphicUsed by:379
Symbol 379 MovieClipUses:378Used by:380
Symbol 380 MovieClip {E3}Uses:368 308 377 379Used by:Timeline
Symbol 381 GraphicUsed by:382
Symbol 382 MovieClipUses:381Used by:386
Symbol 383 GraphicUsed by:385
Symbol 384 GraphicUsed by:385
Symbol 385 MovieClipUses:383 384Used by:386
Symbol 386 MovieClip {E4}Uses:382 385Used by:Timeline
Symbol 387 GraphicUsed by:388
Symbol 388 MovieClipUses:387Used by:389
Symbol 389 MovieClip {E5}Uses:368 388Used by:Timeline
Symbol 390 GraphicUsed by:393
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClipUses:391Used by:393
Symbol 393 MovieClipUses:390 392Used by:394
Symbol 394 MovieClip {E6}Uses:368 393 308Used by:Timeline
Symbol 395 GraphicUsed by:396
Symbol 396 MovieClipUses:395Used by:430
Symbol 397 GraphicUsed by:429
Symbol 398 GraphicUsed by:429
Symbol 399 GraphicUsed by:429
Symbol 400 GraphicUsed by:429
Symbol 401 GraphicUsed by:429
Symbol 402 GraphicUsed by:429
Symbol 403 GraphicUsed by:429
Symbol 404 GraphicUsed by:429
Symbol 405 GraphicUsed by:429
Symbol 406 GraphicUsed by:429
Symbol 407 GraphicUsed by:429
Symbol 408 GraphicUsed by:429
Symbol 409 GraphicUsed by:429
Symbol 410 GraphicUsed by:429
Symbol 411 GraphicUsed by:429
Symbol 412 GraphicUsed by:429
Symbol 413 GraphicUsed by:429
Symbol 414 GraphicUsed by:429
Symbol 415 GraphicUsed by:429
Symbol 416 GraphicUsed by:429
Symbol 417 GraphicUsed by:429
Symbol 418 GraphicUsed by:429
Symbol 419 GraphicUsed by:429
Symbol 420 GraphicUsed by:429
Symbol 421 GraphicUsed by:429
Symbol 422 GraphicUsed by:429
Symbol 423 GraphicUsed by:429
Symbol 424 GraphicUsed by:429
Symbol 425 GraphicUsed by:429
Symbol 426 GraphicUsed by:429
Symbol 427 GraphicUsed by:429
Symbol 428 GraphicUsed by:429
Symbol 429 MovieClip {vector_boom_fla.Teleport_Anim_Phase1_104}Uses:397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428Used by:430  Timeline
Symbol 430 MovieClip {E7}Uses:368 396 429 308Used by:Timeline
Symbol 431 GraphicUsed by:432
Symbol 432 MovieClipUses:431Used by:433 606 628
Symbol 433 MovieClip {E8}Uses:352 432Used by:Timeline
Symbol 434 MovieClip {Explode1}Uses:263Used by:Timeline
Symbol 435 MovieClip {Explode2}Uses:277Used by:Timeline
Symbol 436 MovieClip {Explode3}Uses:303Used by:Timeline
Symbol 437 FontUsed by:438 439 440 634 637 640 644
Symbol 438 TextUses:437Used by:442
Symbol 439 TextUses:437Used by:441
Symbol 440 TextUses:437Used by:441
Symbol 441 MovieClip {vector_boom_fla.pmg_button_111}Uses:121 439 440Used by:442
Symbol 442 MovieClip {PauseN}Uses:438 441Used by:Timeline
Symbol 443 GraphicUsed by:454
Symbol 444 GraphicUsed by:445
Symbol 445 MovieClipUses:444Used by:454
Symbol 446 GraphicUsed by:449
Symbol 447 GraphicUsed by:448
Symbol 448 MovieClipUses:447Used by:449
Symbol 449 MovieClip {vector_boom_fla.power_bar_114}Uses:446 448Used by:454
Symbol 450 GraphicUsed by:451
Symbol 451 MovieClipUses:450Used by:454
Symbol 452 TextUses:41Used by:454
Symbol 453 TextUses:41Used by:454
Symbol 454 MovieClip {TBars}Uses:443 445 449 451 452 453Used by:Timeline
Symbol 455 GraphicUses:153Used by:518
Symbol 456 EditableTextUses:48Used by:518
Symbol 457 EditableTextUses:48Used by:518
Symbol 458 EditableTextUses:48Used by:518
Symbol 459 EditableTextUses:92Used by:518
Symbol 460 EditableTextUses:48Used by:518
Symbol 461 FontUsed by:462 463 464 465
Symbol 462 EditableTextUses:461Used by:518
Symbol 463 EditableTextUses:461Used by:518
Symbol 464 EditableTextUses:461Used by:518
Symbol 465 EditableTextUses:461Used by:518
Symbol 466 EditableTextUses:92Used by:518
Symbol 467 EditableTextUses:92Used by:518
Symbol 468 EditableTextUses:48Used by:518
Symbol 469 EditableTextUses:48Used by:518
Symbol 470 EditableTextUses:48Used by:518
Symbol 471 EditableTextUses:48Used by:518
Symbol 472 EditableTextUses:48Used by:518
Symbol 473 EditableTextUses:48Used by:518
Symbol 474 EditableTextUses:48Used by:518
Symbol 475 EditableTextUses:92Used by:518
Symbol 476 EditableTextUses:48Used by:518
Symbol 477 EditableTextUses:48Used by:518
Symbol 478 EditableTextUses:48Used by:518
Symbol 479 EditableTextUses:48Used by:518
Symbol 480 EditableTextUses:48Used by:518
Symbol 481 GraphicUsed by:483
Symbol 482 TextUses:48Used by:483
Symbol 483 MovieClipUses:481 482Used by:518
Symbol 484 GraphicUsed by:487
Symbol 485 TextUses:48Used by:487
Symbol 486 TextUses:48Used by:487
Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}Uses:484 485 486Used by:518
Symbol 488 GraphicUsed by:496
Symbol 489 GraphicUsed by:496
Symbol 490 GraphicUsed by:496
Symbol 491 GraphicUsed by:496
Symbol 492 GraphicUsed by:496
Symbol 493 GraphicUsed by:496
Symbol 494 GraphicUsed by:496
Symbol 495 GraphicUsed by:496
Symbol 496 MovieClip {vector_boom_fla.max_stop_black_121}Uses:488 489 490 491 492 493 494 495Used by:507
Symbol 497 GraphicUsed by:507
Symbol 498 GraphicUsed by:506
Symbol 499 GraphicUsed by:506
Symbol 500 GraphicUsed by:506
Symbol 501 GraphicUsed by:506
Symbol 502 GraphicUsed by:506
Symbol 503 GraphicUsed by:506
Symbol 504 GraphicUsed by:506
Symbol 505 GraphicUsed by:506
Symbol 506 MovieClip {vector_boom_fla.max_stop_122}Uses:498 499 500 501 502 503 504 505Used by:507
Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}Uses:496 497 506Used by:518
Symbol 508 EditableTextUses:92Used by:518
Symbol 509 EditableTextUses:92Used by:518
Symbol 510 EditableTextUses:92Used by:518
Symbol 511 TextUses:92Used by:513
Symbol 512 TextUses:92Used by:513
Symbol 513 MovieClip {vector_boom_fla.continue_game_123}Uses:511 512Used by:518
Symbol 514 EditableTextUses:48Used by:518
Symbol 515 TextUses:92Used by:517
Symbol 516 TextUses:92Used by:517
Symbol 517 MovieClip {vector_boom_fla.upgrade_pmg_124}Uses:97 515 516Used by:518
Symbol 518 MovieClip {UpgradeMenu}Uses:455 456 457 458 459 460 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 483 487 507 508 509 510 513 514 517 170 332Used by:Timeline
Symbol 519 TextUses:41Used by:521
Symbol 520 EditableTextUses:41Used by:521
Symbol 521 MovieClip {ScoreMC}Uses:519 520Used by:Timeline
Symbol 522 GraphicUsed by:529
Symbol 523 GraphicUsed by:529
Symbol 524 GraphicUsed by:529
Symbol 525 GraphicUsed by:529
Symbol 526 GraphicUsed by:529
Symbol 527 GraphicUsed by:529
Symbol 528 GraphicUsed by:529
Symbol 529 MovieClip {E3Bullet}Uses:522 523 524 525 526 527 528Used by:Timeline
Symbol 530 GraphicUsed by:536
Symbol 531 GraphicUsed by:536
Symbol 532 GraphicUsed by:536
Symbol 533 GraphicUsed by:536
Symbol 534 GraphicUsed by:536
Symbol 535 GraphicUsed by:536
Symbol 536 MovieClipUses:530 531 532 533 534 535Used by:545 549
Symbol 537 GraphicUsed by:538
Symbol 538 MovieClipUses:537Used by:549
Symbol 539 GraphicUsed by:542
Symbol 540 GraphicUsed by:542
Symbol 541 GraphicUsed by:542
Symbol 542 MovieClip {vector_boom_fla.MothershipBayDoors_130}Uses:539 540 541Used by:549
Symbol 543 GraphicUsed by:544
Symbol 544 MovieClipUses:543Used by:545
Symbol 545 MovieClipUses:536 544Used by:549 550
Symbol 546 GraphicUsed by:549
Symbol 547 GraphicUsed by:548
Symbol 548 MovieClipUses:547Used by:549
Symbol 549 MovieClip {E9}Uses:536 538 542 545 244 546 548 308Used by:Timeline
Symbol 550 MovieClip {E10}Uses:545Used by:Timeline
Symbol 551 GraphicUsed by:553 555 557
Symbol 552 GraphicUsed by:553
Symbol 553 MovieClip {PowerUp1}Uses:551 552 139 141 143Used by:Timeline
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClip {PowerUp2}Uses:551 554 139 141 143Used by:Timeline
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClip {PowerUp3}Uses:551 556 139 141 143Used by:Timeline
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClip {Shield1}Uses:558Used by:Timeline
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClipUses:560Used by:562
Symbol 562 MovieClip {teleport}Uses:561Used by:Timeline
Symbol 563 GraphicUsed by:564
Symbol 564 MovieClipUses:563Used by:565
Symbol 565 MovieClip {teleportAppear}Uses:564Used by:Timeline
Symbol 566 MovieClip {Explode4}Uses:325Used by:Timeline
Symbol 567 GraphicUsed by:576 589
Symbol 568 GraphicUsed by:576
Symbol 569 GraphicUsed by:576 589
Symbol 570 GraphicUsed by:576
Symbol 571 GraphicUsed by:576 589
Symbol 572 GraphicUsed by:576 589
Symbol 573 GraphicUsed by:576
Symbol 574 GraphicUsed by:576 589
Symbol 575 GraphicUsed by:576 589
Symbol 576 MovieClip {vector_boom_fla.animatedparticles5_145}Uses:567 568 249 569 570 571 572 573 574 575 257 258 259 260 261 262Used by:577 626
Symbol 577 MovieClip {Explode5}Uses:576Used by:Timeline
Symbol 578 GraphicUsed by:589
Symbol 579 GraphicUsed by:589
Symbol 580 GraphicUsed by:589
Symbol 581 GraphicUsed by:589
Symbol 582 GraphicUsed by:589
Symbol 583 GraphicUsed by:584
Symbol 584 MovieClipUses:368 583Used by:589
Symbol 585 GraphicUsed by:589
Symbol 586 GraphicUsed by:589
Symbol 587 GraphicUsed by:589
Symbol 588 GraphicUsed by:589
Symbol 589 MovieClip {vector_boom_fla.animatedparticles6_147}Uses:578 579 249 250 580 581 582 584 254 255 585 257 258 259 260 261 262 567 586 569 587 571 572 588 574 575Used by:590
Symbol 590 MovieClip {Explode6}Uses:589Used by:Timeline
Symbol 591 GraphicUsed by:592
Symbol 592 MovieClip {BAutoT}Uses:591 308Used by:Timeline
Symbol 593 GraphicUsed by:594
Symbol 594 MovieClip {ATBullet}Uses:593Used by:Timeline
Symbol 595 GraphicUsed by:619
Symbol 596 GraphicUsed by:599
Symbol 597 GraphicUsed by:598
Symbol 598 MovieClipUses:597Used by:599 602 614 618
Symbol 599 MovieClipUses:596 598Used by:619
Symbol 600 GraphicUsed by:602
Symbol 601 GraphicUsed by:602
Symbol 602 MovieClipUses:600 598 601Used by:619
Symbol 603 GraphicUsed by:608
Symbol 604 GraphicUsed by:606
Symbol 605 GraphicUsed by:606
Symbol 606 MovieClipUses:604 432 605Used by:608
Symbol 607 GraphicUsed by:608
Symbol 608 MovieClipUses:603 606 607Used by:619
Symbol 609 GraphicUsed by:614
Symbol 610 GraphicUsed by:614
Symbol 611 GraphicUsed by:614
Symbol 612 GraphicUsed by:614
Symbol 613 GraphicUsed by:614
Symbol 614 MovieClipUses:609 598 610 611 612 613Used by:619
Symbol 615 GraphicUsed by:618
Symbol 616 GraphicUsed by:618
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClipUses:615 311 616 617 598Used by:619
Symbol 619 MovieClipUses:595 599 602 608 614 618 370Used by:627
Symbol 620 GraphicUsed by:621
Symbol 621 MovieClipUses:620Used by:623
Symbol 622 GraphicUsed by:623
Symbol 623 MovieClipUses:621 622Used by:627
Symbol 624 GraphicUsed by:625
Symbol 625 MovieClipUses:624Used by:626
Symbol 626 MovieClip {vector_boom_fla.BossDestroyed_162}Uses:625 325 576 277 263 303Used by:627
Symbol 627 MovieClip {E11}Uses:619 308 623 626Used by:Timeline
Symbol 628 MovieClip {EBBullet}Uses:352 432Used by:Timeline
Symbol 629 FontUsed by:630
Symbol 630 EditableTextUses:629Used by:631
Symbol 631 MovieClip {WaveText}Uses:630Used by:Timeline
Symbol 632 TextUses:89Used by:633
Symbol 633 MovieClip {RainFail}Uses:632Used by:Timeline
Symbol 634 TextUses:437Used by:635
Symbol 635 MovieClipUses:634Used by:636
Symbol 636 MovieClip {vector_boom_fla.shield_pu_168}Uses:635Used by:643
Symbol 637 TextUses:437Used by:638
Symbol 638 MovieClipUses:637Used by:639
Symbol 639 MovieClip {vector_boom_fla.maxPower_pu_170}Uses:638Used by:643
Symbol 640 TextUses:437Used by:641
Symbol 641 MovieClipUses:640Used by:642
Symbol 642 MovieClip {vector_boom_fla.magnet_pu_172}Uses:641Used by:643
Symbol 643 MovieClip {PUNotice}Uses:97 636 639 642Used by:Timeline
Symbol 644 TextUses:437Used by:645
Symbol 645 MovieClip {StageComplete}Uses:644Used by:Timeline
Symbol 646 FontUsed by:188 647 648
Symbol 647 TextUses:646Used by:649
Symbol 648 TextUses:646Used by:649
Symbol 649 MovieClip {FreeGames}Uses:97 647 648Used by:Timeline
Symbol 650 EditableTextUses:89Used by:652
Symbol 651 EditableTextUses:89Used by:652
Symbol 652 MovieClip {LockedScreen}Uses:40 650 651Used by:Timeline
Symbol 653 Sound {GameMusic}Used by:664
Symbol 654 Sound {TitleMusic}Used by:664
Symbol 655 Sound {radius_explode_3}Used by:664
Symbol 656 Sound {tanker_explosion}Used by:664
Symbol 657 Sound {radius_explode_2}Used by:664
Symbol 658 Sound {radius_destroy}Used by:664
Symbol 659 Sound {base_shoot}Used by:664
Symbol 660 Sound {auto_turret_shoot}Used by:664
Symbol 661 Sound {teleport_sound}Used by:664
Symbol 662 Sound {button_up}Used by:664
Symbol 663 Sound {button_over}Used by:664
Symbol 664 MovieClip {vector_boom_fla.soundBuffer_177}Uses:653 654 655 656 657 658 659 660 661 662 663Used by:Timeline
Streaming Sound 1Used by:Symbol 124 MovieClip

Instance Names

"version_txt"Frame 1Symbol 42 EditableText
"adBox"Frame 1Symbol 44 MovieClip
"newgroundsAPIconnector"Frame 1Symbol 56 MovieClip {vector_boom_fla.NewgroundsAPI_Connector_2}
"medal_popup"Frame 1Symbol 69 MovieClip {vector_boom_fla.NewgroundsAPI_Medal_Popup_4}
"bar"Symbol 39 MovieClip {PreloaderMC} Frame 1Symbol 36 MovieClip {vector_boom_fla.bar_179}
"preloader_txt"Symbol 39 MovieClip {PreloaderMC} Frame 1Symbol 38 EditableText
"closeButton"Symbol 56 MovieClip {vector_boom_fla.NewgroundsAPI_Connector_2} Frame 1Symbol 47 Button
"medalNameText"Symbol 69 MovieClip {vector_boom_fla.NewgroundsAPI_Medal_Popup_4} Frame 10Symbol 63 EditableText
"medalValueText"Symbol 69 MovieClip {vector_boom_fla.NewgroundsAPI_Medal_Popup_4} Frame 10Symbol 66 EditableText
"medal_icon"Symbol 69 MovieClip {vector_boom_fla.NewgroundsAPI_Medal_Popup_4} Frame 10Symbol 68 MovieClip
"end_txt"Symbol 91 MovieClip Frame 1Symbol 90 EditableText
"loser"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 91 MovieClip
"score_txt"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 93 EditableText
"wave_txt"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 94 EditableText
"scoreTitle"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 95 EditableText
"waveTitle"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 96 EditableText
"fail_pmg"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 100 MovieClip {vector_boom_fla.pmg_fail_15}
"fail_main"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 105 Button
"fail_retry"Symbol 109 MovieClip {FailScreen} Frame 1Symbol 108 Button
"score_txt"Symbol 119 MovieClip {WinScreen} Frame 383Symbol 117 EditableText
"back_btn"Symbol 152 MovieClip {TutVid} Frame 1Symbol 122 MovieClip {vector_boom_fla.back_btn_21}
"play_btn"Symbol 152 MovieClip {TutVid} Frame 1Symbol 131 MovieClip {vector_boom_fla.tut_play_btn_23}
"next_btn"Symbol 152 MovieClip {TutVid} Frame 1Symbol 134 MovieClip {vector_boom_fla.tut_next_btn_24}
"g1"Symbol 184 MovieClip Frame 1Symbol 164 MovieClip
"m1"Symbol 184 MovieClip Frame 1Symbol 164 MovieClip
"s1"Symbol 184 MovieClip Frame 1Symbol 164 MovieClip
"on_music"Symbol 184 MovieClip Frame 1Symbol 171 Button
"off_music"Symbol 184 MovieClip Frame 1Symbol 174 Button
"off_sounds"Symbol 184 MovieClip Frame 1Symbol 174 Button
"on_sounds"Symbol 184 MovieClip Frame 1Symbol 171 Button
"high"Symbol 184 MovieClip Frame 1Symbol 177 Button
"medium"Symbol 184 MovieClip Frame 1Symbol 180 Button
"low"Symbol 184 MovieClip Frame 1Symbol 183 Button
"settings"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 184 MovieClip
"main_menu_3"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 105 Button
"main_menu_2"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 105 Button
"main_menu_M"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 105 Button
"main_menu_1"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 105 Button
"pmg_btn"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 192 MovieClip {PMGBTN}
"credits_btn"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 195 MovieClip {CreditsBTN}
"settings_btn"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 198 MovieClip {SettingsBTN}
"play_btn"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 201 MovieClip {PlayBTN}
"normal_mode"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 204 MovieClip {vector_boom_fla.normal_mode_btn_41}
"survival_mode"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 207 MovieClip {vector_boom_fla.survival_mode_btn_42}
"description_txt"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 209 EditableText
"title"Symbol 217 MovieClip {M_Menu} Frame 1Symbol 215 MovieClip
"description_txt"Symbol 217 MovieClip {M_Menu} Frame 240Symbol 216 EditableText
"inside"Symbol 264 MovieClip {vector_boom_fla.Explosion_Boss1_62} Frame 1Symbol 263 MovieClip {vector_boom_fla.animatedparticles1_63}
"inside"Symbol 278 MovieClip {vector_boom_fla.Explosion_Boss2_64} Frame 1Symbol 277 MovieClip {vector_boom_fla.animatedparticles2_65}
"inside"Symbol 304 MovieClip {vector_boom_fla.Explosion_Boss3_66} Frame 1Symbol 303 MovieClip {vector_boom_fla.animatedparticles3_67}
"emitter"Symbol 309 MovieClip Frame 1Symbol 308 MovieClip
"inside"Symbol 326 MovieClip {vector_boom_fla.Explosion_Boss4_73} Frame 1Symbol 325 MovieClip {vector_boom_fla.animatedparticles4_74}
"basebase"Symbol 332 MovieClip {UBase} Frame 1Symbol 305 MovieClip {vector_boom_fla.stage1_50}
"gun1"Symbol 332 MovieClip {UBase} Frame 1Symbol 309 MovieClip
"at2"Symbol 332 MovieClip {UBase} Frame 1Symbol 308 MovieClip
"at1"Symbol 332 MovieClip {UBase} Frame 1Symbol 308 MovieClip
"at3"Symbol 332 MovieClip {UBase} Frame 1Symbol 308 MovieClip
"at4"Symbol 332 MovieClip {UBase} Frame 1Symbol 308 MovieClip
"basebase"Symbol 332 MovieClip {UBase} Frame 2Symbol 327 MovieClip {vector_boom_fla.stage2_70}
"basebase"Symbol 332 MovieClip {UBase} Frame 3Symbol 331 MovieClip {vector_boom_fla.stage3_75}
"cache"Symbol 371 MovieClip {E1} Frame 1Symbol 370 MovieClip
"emitter"Symbol 374 MovieClip Frame 1Symbol 308 MovieClip
"cache"Symbol 375 MovieClip {E2} Frame 1Symbol 374 MovieClip
"emitter"Symbol 375 MovieClip {E2} Frame 1Symbol 308 MovieClip
"emitter"Symbol 380 MovieClip {E3} Frame 1Symbol 308 MovieClip
"emitter2"Symbol 380 MovieClip {E3} Frame 1Symbol 308 MovieClip
"cache"Symbol 380 MovieClip {E3} Frame 1Symbol 377 MovieClip
"cache"Symbol 380 MovieClip {E3} Frame 2Symbol 379 MovieClip
"cache"Symbol 386 MovieClip {E4} Frame 1Symbol 382 MovieClip
"cache"Symbol 389 MovieClip {E5} Frame 1Symbol 388 MovieClip
"cache"Symbol 394 MovieClip {E6} Frame 1Symbol 393 MovieClip
"emitter"Symbol 394 MovieClip {E6} Frame 1Symbol 308 MovieClip
"cache"Symbol 430 MovieClip {E7} Frame 1Symbol 396 MovieClip
"tAnimation"Symbol 430 MovieClip {E7} Frame 1Symbol 429 MovieClip {vector_boom_fla.Teleport_Anim_Phase1_104}
"emitter"Symbol 430 MovieClip {E7} Frame 1Symbol 308 MovieClip
"cache"Symbol 433 MovieClip {E8} Frame 1Symbol 432 MovieClip
"inside"Symbol 434 MovieClip {Explode1} Frame 1Symbol 263 MovieClip {vector_boom_fla.animatedparticles1_63}
"inside"Symbol 435 MovieClip {Explode2} Frame 1Symbol 277 MovieClip {vector_boom_fla.animatedparticles2_65}
"inside"Symbol 436 MovieClip {Explode3} Frame 1Symbol 303 MovieClip {vector_boom_fla.animatedparticles3_67}
"pmg_button"Symbol 442 MovieClip {PauseN} Frame 1Symbol 441 MovieClip {vector_boom_fla.pmg_button_111}
"powerLose"Symbol 454 MovieClip {TBars} Frame 1Symbol 445 MovieClip
"healthLose"Symbol 454 MovieClip {TBars} Frame 1Symbol 445 MovieClip
"powerBar"Symbol 454 MovieClip {TBars} Frame 1Symbol 449 MovieClip {vector_boom_fla.power_bar_114}
"healthBar"Symbol 454 MovieClip {TBars} Frame 1Symbol 451 MovieClip
"max_stop_black"Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120} Frame 1Symbol 496 MovieClip {vector_boom_fla.max_stop_black_121}
"max_stop"Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120} Frame 1Symbol 506 MovieClip {vector_boom_fla.max_stop_122}
"s1"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 456 EditableText
"s3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 457 EditableText
"s4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 458 EditableText
"specHead"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 459 EditableText
"s2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 460 EditableText
"cash_txt"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 462 EditableText
"level_txt"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 463 EditableText
"stage_txt"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 464 EditableText
"points_txt"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 465 EditableText
"uHeader"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 466 EditableText
"h1"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 467 EditableText
"slot1"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 468 EditableText
"slot2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 469 EditableText
"slot3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 470 EditableText
"slot5"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 471 EditableText
"slot6"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 472 EditableText
"slot4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 473 EditableText
"class_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 474 EditableText
"h2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 475 EditableText
"armor_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 476 EditableText
"dArea_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 477 EditableText
"dStrength_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 478 EditableText
"recharge_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 479 EditableText
"turret_cost"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 480 EditableText
"q_1"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"q_2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"q_3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"q_4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"q_5"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"q_6"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 483 MovieClip
"up_2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}
"up_3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}
"up_4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}
"up_5"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}
"up_6"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119}
"bar_1"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"bar_2"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"bar_3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"bar_4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"bar_5"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"bar_6"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120}
"h3"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 508 EditableText
"h4"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 509 EditableText
"description_text"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 510 EditableText
"continue_game"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 513 MovieClip {vector_boom_fla.continue_game_123}
"bstage_txt"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 514 EditableText
"upgrade_pmg"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 517 MovieClip {vector_boom_fla.upgrade_pmg_124}
"menu_base"Symbol 518 MovieClip {UpgradeMenu} Frame 1Symbol 332 MovieClip {UBase}
"score_txt"Symbol 521 MovieClip {ScoreMC} Frame 1Symbol 520 EditableText
"cache"Symbol 545 MovieClip Frame 1Symbol 544 MovieClip
"cache"Symbol 549 MovieClip {E9} Frame 1Symbol 538 MovieClip
"hatch"Symbol 549 MovieClip {E9} Frame 1Symbol 542 MovieClip {vector_boom_fla.MothershipBayDoors_130}
"cache2"Symbol 549 MovieClip {E9} Frame 1Symbol 548 MovieClip
"emitter"Symbol 549 MovieClip {E9} Frame 1Symbol 308 MovieClip
"spawner"Symbol 549 MovieClip {E9} Frame 1Symbol 308 MovieClip
"mSpawn1"Symbol 549 MovieClip {E9} Frame 1Symbol 308 MovieClip
"mSpawn2"Symbol 549 MovieClip {E9} Frame 1Symbol 308 MovieClip
"cache"Symbol 550 MovieClip {E10} Frame 1Symbol 545 MovieClip
"inside"Symbol 566 MovieClip {Explode4} Frame 1Symbol 325 MovieClip {vector_boom_fla.animatedparticles4_74}
"inside"Symbol 577 MovieClip {Explode5} Frame 1Symbol 576 MovieClip {vector_boom_fla.animatedparticles5_145}
"inside"Symbol 590 MovieClip {Explode6} Frame 1Symbol 589 MovieClip {vector_boom_fla.animatedparticles6_147}
"emitter"Symbol 592 MovieClip {BAutoT} Frame 1Symbol 308 MovieClip
"cache"Symbol 606 MovieClip Frame 1Symbol 432 MovieClip
"cache"Symbol 606 MovieClip Frame 1Symbol 432 MovieClip
"cache"Symbol 606 MovieClip Frame 1Symbol 432 MovieClip
"e1"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e2"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e3"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e4"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e5"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e6"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e7"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e8"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e9"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e10"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e11"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e12"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e13"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"e14"Symbol 627 MovieClip {E11} Frame 1Symbol 308 MovieClip
"weak3"Symbol 627 MovieClip {E11} Frame 1Symbol 623 MovieClip
"weak2"Symbol 627 MovieClip {E11} Frame 1Symbol 623 MovieClip
"weak1"Symbol 627 MovieClip {E11} Frame 1Symbol 623 MovieClip
"cache"Symbol 628 MovieClip {EBBullet} Frame 1Symbol 432 MovieClip
"wTXT"Symbol 631 MovieClip {WaveText} Frame 1Symbol 630 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$lk$UgAfFOKr0BB4.MtxTZCRG.."

Labels

"main"Frame 1
"load"Frame 2
"armorSkip"Symbol 33 MovieClip {SplashIntro} Frame 223
"heroSkip"Symbol 33 MovieClip {SplashIntro} Frame 365
"off"Symbol 100 MovieClip {vector_boom_fla.pmg_fail_15} Frame 1
"on"Symbol 100 MovieClip {vector_boom_fla.pmg_fail_15} Frame 2
"off"Symbol 122 MovieClip {vector_boom_fla.back_btn_21} Frame 1
"on"Symbol 122 MovieClip {vector_boom_fla.back_btn_21} Frame 2
"off"Symbol 131 MovieClip {vector_boom_fla.tut_play_btn_23} Frame 1
"on"Symbol 131 MovieClip {vector_boom_fla.tut_play_btn_23} Frame 2
"off"Symbol 134 MovieClip {vector_boom_fla.tut_next_btn_24} Frame 1
"on"Symbol 134 MovieClip {vector_boom_fla.tut_next_btn_24} Frame 2
"power"Symbol 152 MovieClip {TutVid} Frame 2
"off"Symbol 192 MovieClip {PMGBTN} Frame 1
"on"Symbol 192 MovieClip {PMGBTN} Frame 2
"off"Symbol 195 MovieClip {CreditsBTN} Frame 1
"on"Symbol 195 MovieClip {CreditsBTN} Frame 2
"off"Symbol 198 MovieClip {SettingsBTN} Frame 1
"on"Symbol 198 MovieClip {SettingsBTN} Frame 2
"off"Symbol 201 MovieClip {PlayBTN} Frame 1
"on"Symbol 201 MovieClip {PlayBTN} Frame 2
"off"Symbol 204 MovieClip {vector_boom_fla.normal_mode_btn_41} Frame 1
"on"Symbol 204 MovieClip {vector_boom_fla.normal_mode_btn_41} Frame 2
"off"Symbol 207 MovieClip {vector_boom_fla.survival_mode_btn_42} Frame 1
"on"Symbol 207 MovieClip {vector_boom_fla.survival_mode_btn_42} Frame 2
"start"Symbol 217 MovieClip {M_Menu} Frame 1
"main"Symbol 217 MovieClip {M_Menu} Frame 75
"credits"Symbol 217 MovieClip {M_Menu} Frame 76
"creditsOut"Symbol 217 MovieClip {M_Menu} Frame 121
"menuIn"Symbol 217 MovieClip {M_Menu} Frame 141
"settings"Symbol 217 MovieClip {M_Menu} Frame 156
"settingsOut"Symbol 217 MovieClip {M_Menu} Frame 191
"playIt"Symbol 217 MovieClip {M_Menu} Frame 206
"modeBack"Symbol 217 MovieClip {M_Menu} Frame 268
"off"Symbol 223 MovieClip {ContBTN} Frame 1
"on"Symbol 223 MovieClip {ContBTN} Frame 2
"dead"Symbol 305 MovieClip {vector_boom_fla.stage1_50} Frame 2
"dead"Symbol 327 MovieClip {vector_boom_fla.stage2_70} Frame 2
"dead"Symbol 331 MovieClip {vector_boom_fla.stage3_75} Frame 2
"before"Symbol 380 MovieClip {E3} Frame 1
"after"Symbol 380 MovieClip {E3} Frame 2
"off"Symbol 441 MovieClip {vector_boom_fla.pmg_button_111} Frame 1
"on"Symbol 441 MovieClip {vector_boom_fla.pmg_button_111} Frame 2
"off"Symbol 449 MovieClip {vector_boom_fla.power_bar_114} Frame 2
"on"Symbol 449 MovieClip {vector_boom_fla.power_bar_114} Frame 3
"off"Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119} Frame 1
"on"Symbol 487 MovieClip {vector_boom_fla.upgrade_me_119} Frame 2
"blank"Symbol 496 MovieClip {vector_boom_fla.max_stop_black_121} Frame 9
"blank"Symbol 506 MovieClip {vector_boom_fla.max_stop_122} Frame 9
"blank"Symbol 507 MovieClip {vector_boom_fla.upgrade_bar_120} Frame 9
"off"Symbol 513 MovieClip {vector_boom_fla.continue_game_123} Frame 1
"on"Symbol 513 MovieClip {vector_boom_fla.continue_game_123} Frame 2
"off"Symbol 517 MovieClip {vector_boom_fla.upgrade_pmg_124} Frame 1
"on"Symbol 517 MovieClip {vector_boom_fla.upgrade_pmg_124} Frame 2
"off"Symbol 542 MovieClip {vector_boom_fla.MothershipBayDoors_130} Frame 1
"open"Symbol 542 MovieClip {vector_boom_fla.MothershipBayDoors_130} Frame 2
"close"Symbol 542 MovieClip {vector_boom_fla.MothershipBayDoors_130} Frame 17
"dead"Symbol 627 MovieClip {E11} Frame 2
"shield"Symbol 643 MovieClip {PUNotice} Frame 1
"maxPower"Symbol 643 MovieClip {PUNotice} Frame 2
"magnet"Symbol 643 MovieClip {PUNotice} Frame 3
"blank"Symbol 643 MovieClip {PUNotice} Frame 4
"off"Symbol 649 MovieClip {FreeGames} Frame 1
"on"Symbol 649 MovieClip {FreeGames} Frame 2
"buffed"Symbol 664 MovieClip {vector_boom_fla.soundBuffer_177} Frame 30




http://swfchan.com/24/119084/info.shtml
Created: 6/3 -2019 03:16:45 Last modified: 6/3 -2019 03:16:45 Server time: 25/04 -2024 12:17:44