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

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

Wild n Free - EX.swf

This is the info page for
Flash #70275

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


Text
options

options

controls

controls

START

START

loading...

play more
games

play more
games

gaming
news

gaming
news

developed by

developed by

back

back

move

controls

pause

esc

on

on

off

off

sound

options

detail

medium

medium

low

low

high

high

paused

quit

quit

<p align="center"></p><p align="center"><font face="Badonk-a-donk" size="78" color="#ffffff" letterSpacing="0.000000" kerning="1">1,243,564,832</font></p>

game over

to menu

to menu

retry

retry

<p align="center"></p><p align="center"><font face="Badonk-a-donk" size="36" color="#ffffff" letterSpacing="-2.000000" kerning="0">I&apos;m fiving you until you bleed!</font></p>

<p align="center"><font face="Badonk-a-donk" size="56" color="#ffffff" letterSpacing="-2.000000" kerning="0">+5000</font></p>

<p align="right"><font face="Badonk-a-donk" size="24" color="#00eafb" letterSpacing="-2.000000" kerning="0">50,2031</font></p>

<p align="center"></p><p align="center"><font face="Badonk-a-donk" size="36" color="#00eafb" letterSpacing="-3.000000" kerning="0">5x</font></p>

ActionScript [AS3]

Section 1
//wav (barrelHit.wav) package barrelHit { import flash.media.*; public dynamic class wav extends Sound { } }//package barrelHit
Section 2
//wav (botoEat.wav) package botoEat { import flash.media.*; public dynamic class wav extends Sound { } }//package botoEat
Section 3
//wav (depthCharge.wav) package depthCharge { import flash.media.*; public dynamic class wav extends Sound { } }//package depthCharge
Section 4
//wav (fishImpact.wav) package fishImpact { import flash.media.*; public dynamic class wav extends Sound { } }//package fishImpact
Section 5
//wav (flap.wav) package flap { import flash.media.*; public dynamic class wav extends Sound { } }//package flap
Section 6
//FpsCounter (General.FpsCounter) package General { import flash.display.*; import flash.system.*; import flash.utils.*; import flash.text.*; public class FpsCounter extends Sprite { private var oldT:uint; private var mfpsCount:int;// = 0 private var avgCount:int;// = 30 private var avgCount2:int;// = 30 private var textBox:TextField; private var mfpsCount2:int;// = 0 private var textBox3:TextField; private var textBox2:TextField; public function FpsCounter(){ mfpsCount = 0; mfpsCount2 = 0; avgCount = 30; avgCount2 = 30; super(); textBox = new TextField(); textBox.text = "..."; textBox.textColor = 11145540; textBox.selectable = false; textBox2 = new TextField(); textBox2.text = "..."; textBox2.width = 150; textBox2.textColor = 11145540; textBox2.selectable = false; textBox2.y = 15; textBox3 = new TextField(); textBox3.text = "..."; textBox3.textColor = 11145540; textBox3.selectable = false; textBox3.y = 30; oldT = getTimer(); addChild(textBox); addChild(textBox2); addChild(textBox3); } public function updateEnd():void{ } public function updatePhys(_arg1:uint):void{ var _local2:uint; var _local3:uint; _local2 = getTimer(); _local3 = (_local2 - _arg1); mfpsCount2 = (mfpsCount2 + _local3); if (avgCount2 < 1){ textBox2.text = String((((("Physics step: " + Math.round((mfpsCount2 / 30))) + " ms (") + Math.round((1000 / (mfpsCount2 / 30)))) + " fps)")); avgCount2 = 30; mfpsCount2 = 0; }; avgCount2--; } public function update():void{ var _local1:uint; var _local2:uint; _local1 = getTimer(); _local2 = (_local1 - oldT); mfpsCount = (mfpsCount + _local2); if (avgCount < 1){ textBox.text = String((Math.round((1000 / (mfpsCount / 30))) + " fps average")); avgCount = 30; mfpsCount = 0; }; avgCount--; oldT = getTimer(); textBox3.text = (Math.round((System.totalMemory / (0x0400 * 0x0400))) + " MB used"); } } }//package General
Section 7
//Input (General.Input) package General { import flash.display.*; import flash.events.*; public class Input { private static var keyBuffer:Array; private static var keyArr:Array; public static var mouseReleased:Boolean = false; public static var mouseDragY:Number = 0; public static var mouseOver:Boolean = false; public static var mouse:Sprite = new Sprite(); public static var timeSinceLastKey = 0; public static var mousePressed:Boolean = false; public static var mouseOffsetX:Number = 0; public static var mouseOffsetY:Number = 0; public static var ascii:Array; public static var mouseX:Number = 0; public static var mouseY:Number = 0; private static var bufferSize:int; public static var m_stageMc:Sprite; public static var mouseDown:Boolean = false; public static var lastKey:int = 0; private static var keyState:Array; public static var keys:Array; public static var mouseDragX:Number = 0; public function Input(_arg1:Sprite){ var _local2:int; var _local3:int; super(); m_stageMc = _arg1; ascii = new Array(222); fillAscii(); keyState = new Array(222); keyArr = new Array(); _local2 = 0; while (_local2 < 222) { keyState[_local2] = new int(0); if (ascii[_local2] != undefined){ keyArr.push(_local2); }; _local2++; }; bufferSize = 5; keyBuffer = new Array(bufferSize); _local3 = 0; while (_local3 < bufferSize) { keyBuffer[_local3] = new Array(0, 0); _local3++; }; _arg1.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPress, false, 0, true); _arg1.stage.addEventListener(KeyboardEvent.KEY_UP, keyRelease, false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePress, false, 0, true); _arg1.stage.addEventListener(MouseEvent.CLICK, mouseRelease, false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove, false, 0, true); _arg1.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave, false, 0, true); mouse.graphics.lineStyle(0.1, 0, 100); mouse.graphics.moveTo(0, 0); mouse.graphics.lineTo(0, 0.1); } public function mouseRelease(_arg1:MouseEvent){ mouseDown = false; mouseReleased = true; } public function keyPress(_arg1:KeyboardEvent){ keyState[_arg1.keyCode] = Math.max(keyState[_arg1.keyCode], 1); lastKey = _arg1.keyCode; } private function fillAscii(){ ascii[65] = "A"; ascii[66] = "B"; ascii[67] = "C"; ascii[68] = "D"; ascii[69] = "E"; ascii[70] = "F"; ascii[71] = "G"; ascii[72] = "H"; ascii[73] = "I"; ascii[74] = "J"; ascii[75] = "K"; ascii[76] = "L"; ascii[77] = "M"; ascii[78] = "N"; ascii[79] = "O"; ascii[80] = "P"; ascii[81] = "Q"; ascii[82] = "R"; ascii[83] = "S"; ascii[84] = "T"; ascii[85] = "U"; ascii[86] = "V"; ascii[87] = "W"; ascii[88] = "X"; ascii[89] = "Y"; ascii[90] = "Z"; ascii[48] = "0"; ascii[49] = "1"; ascii[50] = "2"; ascii[51] = "3"; ascii[52] = "4"; ascii[53] = "5"; ascii[54] = "6"; ascii[55] = "7"; ascii[56] = "8"; ascii[57] = "9"; ascii[32] = "Spacebar"; ascii[17] = "Ctrl"; ascii[16] = "Shift"; ascii[192] = "~"; ascii[38] = "up"; ascii[40] = "down"; ascii[37] = "left"; ascii[39] = "right"; ascii[96] = "Numpad 0"; ascii[97] = "Numpad 1"; ascii[98] = "Numpad 2"; ascii[99] = "Numpad 3"; ascii[100] = "Numpad 4"; ascii[101] = "Numpad 5"; ascii[102] = "Numpad 6"; ascii[103] = "Numpad 7"; ascii[104] = "Numpad 8"; ascii[105] = "Numpad 9"; ascii[111] = "Numpad /"; ascii[106] = "Numpad *"; ascii[109] = "Numpad -"; ascii[107] = "Numpad +"; ascii[110] = "Numpad ."; ascii[45] = "Insert"; ascii[46] = "Delete"; ascii[33] = "Page Up"; ascii[34] = "Page Down"; ascii[35] = "End"; ascii[36] = "Home"; ascii[112] = "F1"; ascii[113] = "F2"; ascii[114] = "F3"; ascii[115] = "F4"; ascii[116] = "F5"; ascii[117] = "F6"; ascii[118] = "F7"; ascii[119] = "F8"; ascii[188] = ","; ascii[190] = "."; ascii[186] = ";"; ascii[222] = "'"; ascii[219] = "["; ascii[221] = "]"; ascii[189] = "-"; ascii[187] = "+"; ascii[220] = "\\"; ascii[191] = "/"; ascii[9] = "TAB"; ascii[8] = "Backspace"; } public function mouseMove(_arg1:MouseEvent){ if (mouseDown != _arg1.buttonDown){ mouseDown = _arg1.buttonDown; mouseReleased = !(_arg1.buttonDown); mousePressed = _arg1.buttonDown; mouseDragX = 0; mouseDragY = 0; }; mouseX = (_arg1.stageX - m_stageMc.x); mouseY = (_arg1.stageY - m_stageMc.y); mouseOffsetX = (mouseX - mouse.x); mouseOffsetY = (mouseY - mouse.y); if (mouseDown){ mouseDragX = (mouseDragX + mouseOffsetX); mouseDragY = (mouseDragY + mouseOffsetY); }; mouse.x = mouseX; mouse.y = mouseY; } public function keyRelease(_arg1:KeyboardEvent){ var _local2:int; keyState[_arg1.keyCode] = -1; _local2 = (bufferSize - 1); while (_local2 > 0) { keyBuffer[_local2] = keyBuffer[(_local2 - 1)]; _local2--; }; keyBuffer[0] = [_arg1.keyCode, 0]; } public function mouseLeave(_arg1:Event){ mouseReleased = mouseDown; mouseDown = false; } public function mousePress(_arg1:MouseEvent){ mousePressed = true; mouseDown = true; mouseDragX = 0; mouseDragY = 0; } public static function isKeysDown(_arg1:Array):int{ var _local2:int; var _local3:*; _local2 = 0; for each (_local3 in _arg1) { if ((_local3 is int)){ if (isKeyDown(int(_local3))){ _local2++; }; } else { if ((_local3 is String)){ if (isKeyDownS(String(_local3))){ _local2++; }; }; }; }; return (_local2); } public static function getKeyHold(_arg1:int):int{ return (Math.max(0, keyState[_arg1])); } public static function isKeyPressed(_arg1:int):Boolean{ timeSinceLastKey = 0; return ((keyState[_arg1] == 1)); } public static function isKeyDown(_arg1:int):Boolean{ return ((keyState[_arg1] > 0)); } public static function getKeyString(_arg1:uint):String{ return (ascii[_arg1]); } public static function isKeyDownS(_arg1:String):Boolean{ return (isKeyDown(getStringKey(_arg1))); } private static function fillKeys(){ keys = new Array(); keys["A"] = 65; keys["B"] = 66; keys["C"] = 67; keys["D"] = 68; keys["E"] = 69; keys["F"] = 70; keys["G"] = 71; keys["H"] = 72; keys["I"] = 73; keys["J"] = 74; keys["K"] = 75; keys["L"] = 76; keys["M"] = 77; keys["N"] = 78; keys["O"] = 79; keys["P"] = 80; keys["Q"] = 81; keys["R"] = 82; keys["S"] = 83; keys["T"] = 84; keys["U"] = 85; keys["V"] = 86; keys["W"] = 87; keys["X"] = 88; keys["Y"] = 89; keys["Z"] = 90; keys["0"] = 48; keys["1"] = 49; keys["2"] = 50; keys["3"] = 51; keys["4"] = 52; keys["5"] = 53; keys["6"] = 54; keys["7"] = 55; keys["8"] = 56; keys["9"] = 57; keys["Spacebar"] = 32; keys["Ctrl"] = 17; keys["Shift"] = 16; keys["~"] = 192; keys["up"] = 38; keys["down"] = 40; keys["left"] = 37; keys["right"] = 39; keys["Numpad 0"] = 96; keys["Numpad 1"] = 97; keys["Numpad 2"] = 98; keys["Numpad 3"] = 99; keys["Numpad 4"] = 100; keys["Numpad 5"] = 101; keys["Numpad 6"] = 102; keys["Numpad 7"] = 103; keys["Numpad 8"] = 104; keys["Numpad 9"] = 105; keys["Numpad /"] = 111; keys["Numpad *"] = 106; keys["Numpad -"] = 109; keys["Numpad +"] = 107; keys["Numpad ."] = 110; keys["Insert"] = 45; keys["Delete"] = 46; keys["Page Up"] = 33; keys["Page Down"] = 34; keys["End"] = 35; keys["Home"] = 36; keys["F1"] = 112; keys["F2"] = 113; keys["F3"] = 114; keys["F4"] = 115; keys["F5"] = 116; keys["F6"] = 117; keys["F7"] = 118; keys["F8"] = 119; keys[","] = 188; keys["."] = 190; keys[";"] = 186; keys["'"] = 222; keys["["] = 219; keys["]"] = 221; keys["-"] = 189; keys["+"] = 187; keys["\\"] = 220; keys["/"] = 191; keys["TAB"] = 9; keys["Backspace"] = 8; } public static function isKeyReleased(_arg1:int):Boolean{ return ((keyState[_arg1] == -1)); } public static function isKeyInBuffer(_arg1:int, _arg2:int, _arg3:int){ return ((((keyBuffer[_arg2][0] == _arg1)) && ((keyBuffer[_arg2][1] <= _arg3)))); } public static function update(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < keyArr.length) { if (keyState[keyArr[_local1]] != 0){ var _local3 = keyState; var _local4 = keyArr[_local1]; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; }; _local1++; }; _local2 = 0; while (_local2 < bufferSize) { _local3 = keyBuffer[_local2]; _local4 = 1; _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; _local2++; }; mouseReleased = false; mousePressed = false; mouseOver = false; } public static function getStringKey(_arg1:String):int{ if (keys == null){ fillKeys(); }; return (keys[_arg1]); } } }//package General
Section 8
//KongAPI (General.KongAPI) package General { import flash.display.*; import flash.events.*; import flash.net.*; public class KongAPI { public var kongregate; public function KongAPI(_arg1:Stage){ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:Loader; super(); _local2 = LoaderInfo(_arg1.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ _local3 = "http://www.kongregate.com/flash/API_AS3_Local.swf"; }; trace(("API path: " + _local3)); _local4 = new URLRequest(_local3); _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); _local5.load(_local4); _arg1.addChild(_local5); } public function submitScore(_arg1:Number):void{ kongregate.scores.submit(_arg1); } public function submitStat(_arg1:Number, _arg2:String):void{ kongregate.stats.submit(_arg2, _arg1); } public function loadComplete(_arg1:Event):void{ kongregate = _arg1.target.content; kongregate.services.connect(); trace(("\n" + kongregate.services)); trace(("\n" + kongregate.user)); trace(("\n" + kongregate.scores)); trace(("\n" + kongregate.stats)); } } }//package General
Section 9
//Util (General.Util) package General { import flash.display.*; import flash.geom.*; public class Util { public static function ArrayRemoveItem(_arg1, _arg2:Array):Array{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ if (_local3 == (_arg2.length - 1)){ _arg2.pop(); } else { _arg2[_local3] = _arg2.pop(); _local3--; }; }; _local3++; }; return (_arg2); } public static function ClosestDObj(_arg1:DisplayObject, _arg2:Array):DisplayObject{ var _local3:int; var _local4:DisplayObject; var _local5:DisplayObject; _local3 = int.MAX_VALUE; for each (_local5 in _arg2) { if (Dist(_arg1, _local5) < _local3){ _local3 = Dist(_arg1, _local5); _local4 = _local5; }; }; return (_local4); } public static function RayCircleIntersect(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Number):Boolean{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Point; _local9 = new Point(); _local9.x = (_arg2.x - _arg1.x); _local9.y = (_arg2.y - _arg1.y); _local5 = ((_local9.x * _local9.x) + (_local9.y * _local9.y)); _local6 = (2 * ((_local9.x * (_arg1.x - _arg3.x)) + (_local9.y * (_arg1.y - _arg3.y)))); _local7 = ((_arg3.x * _arg3.x) + (_arg3.y * _arg3.y)); _local7 = (_local7 + ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y))); _local7 = (_local7 - (2 * ((_arg3.x * _arg1.x) + (_arg3.y * _arg1.y)))); _local7 = (_local7 - (_arg4 * _arg4)); _local8 = ((_local6 * _local6) - ((4 * _local5) * _local7)); if (_local8 < 0){ return (false); }; return (true); } public static function Dist(_arg1:DisplayObject, _arg2:DisplayObject):Number{ return (new Point((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)).length); } } }//package General
Section 10
//PropTween (gs.core.tween.PropTween) package gs.core.tween { public class PropTween { public var start:Number; public var name:String; public var prevNode:PropTween; public var change:Number; public var target:Object; public var property:String; public var nextNode:PropTween; public var isPlugin:Boolean; public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; this.nextNode = _arg7; } } }//package gs.core.tween
Section 11
//SimpleTimeline (gs.core.tween.SimpleTimeline) package gs.core.tween { public class SimpleTimeline extends Tweenable { protected var _lastChild:Tweenable; public var autoRemoveChildren:Boolean; protected var _firstChild:Tweenable; public function SimpleTimeline(_arg1:Object=null){ super(0, _arg1); } override public function renderTime(_arg1:Number):void{ var _local2:Tweenable; this.cachedTotalTime = (this.cachedTime = _arg1); _local2 = _firstChild; while (_local2 != null) { if (((_local2.active) || ((((_arg1 >= _local2.startTime)) && (!(_local2.cachedPaused)))))){ _local2.renderTime(((_arg1 - _local2.startTime) * _local2.cachedTimeScale)); }; _local2 = _local2.nextNode; }; } public function addChild(_arg1:Tweenable):void{ if (((!((_arg1.timeline == null))) && (!(_arg1.gc)))){ _arg1.timeline.remove(_arg1); }; if (_firstChild != null){ _firstChild.prevNode = _arg1; _arg1.nextNode = _firstChild; } else { _arg1.nextNode = null; }; _firstChild = _arg1; _arg1.prevNode = null; _arg1.timeline = this; _arg1.gc = false; } public function remove(_arg1:Tweenable):void{ if (_arg1.nextNode != null){ _arg1.nextNode.prevNode = _arg1.prevNode; } else { if (_lastChild == _arg1){ _lastChild = _arg1.prevNode; }; }; if (_arg1.prevNode != null){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (_firstChild == _arg1){ _firstChild = _arg1.nextNode; }; }; _arg1.gc = true; _arg1.active = false; } } }//package gs.core.tween
Section 12
//Tweenable (gs.core.tween.Tweenable) package gs.core.tween { import gs.*; public class Tweenable { public var initted:Boolean; protected var _hasUpdate:Boolean; public var active:Boolean; public var cachedTimeScale:Number; protected var _delay:Number; public var startTime:Number; public var timeline:SimpleTimeline; public var nextNode:Tweenable; public var cachedTime:Number; public var gc:Boolean; public var cachedDuration:Number; public var prevNode:Tweenable; public var cacheIsDirty:Boolean; public var vars:Object; public var cachedTotalTime:Number; public var cachedPaused:Boolean; public var cachedTotalDuration:Number; public var data; public static const version:Number = 0.1; protected static var _classInitted:Boolean; public function Tweenable(_arg1:Number=0, _arg2:Object=null){ var _local3:SimpleTimeline; super(); this.vars = ((_arg2) || ({})); this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0))); _delay = ((this.vars.delay) || (0)); this.cachedTimeScale = ((this.vars.timeScale) || (1)); this.active = Boolean((((_arg1 == 0)) && ((_delay == 0)))); this.cachedTotalTime = (this.cachedTime = 0); this.data = this.vars.data; if (!_classInitted){ if (isNaN(TweenLite.rootFrame)){ TweenLite.initClass(); _classInitted = true; } else { return; }; }; _local3 = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline; this.startTime = (_local3.cachedTotalTime + _delay); _local3.addChild(this); } public function complete(_arg1:Boolean=false):void{ } public function set enabled(_arg1:Boolean):void{ var _local2:Object; if (_arg1 == this.gc){ if (_arg1){ if ((this is TweenLite)){ _local2 = (this as TweenLite).target; if (!(_local2 in TweenLite.masterList)){ TweenLite.masterList[_local2] = [this]; } else { TweenLite.masterList[_local2].push(this); }; }; this.timeline.addChild(this); } else { this.timeline.remove(this); }; }; } public function renderTime(_arg1:Number):void{ } public function get enabled():Boolean{ return (!(this.gc)); } public function get delay():Number{ return (_delay); } public function get duration():Number{ return (this.cachedDuration); } public function set delay(_arg1:Number):void{ this.startTime = (this.startTime + (_arg1 - _delay)); _delay = _arg1; } public function set totalDuration(_arg1:Number):void{ this.duration = _arg1; } public function set duration(_arg1:Number):void{ this.cachedDuration = (this.cachedTotalDuration = _arg1); } public function get totalDuration():Number{ return (this.cachedTotalDuration); } } }//package gs.core.tween
Section 13
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import flash.display.*; import gs.*; public class AutoAlphaPlugin extends VisiblePlugin { protected var _ignoreVisible:Boolean; public static const VERSION:Number = 2; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ init(_arg1, Boolean(!((_arg2 == 0))), _arg3); addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _ignoreVisible = Boolean(("visible" in _arg1)); } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (!_ignoreVisible){ super.changeFactor = _arg1; }; } } }//package gs.plugins
Section 14
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import gs.*; public class EndArrayPlugin extends TweenPlugin { protected var _info:Array; protected var _a:Array; public static const VERSION:Number = 1.5; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:ArrayTweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _a[_local3.index] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function init(_arg1:Array, _arg2:Array):void{ var _local3:int; _a = _arg1; _local3 = (_arg2.length - 1); while (_local3 > -1) { if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){ _info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3])); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (false); }; init((_arg1 as Array), _arg2); return (true); } } }//package gs.plugins class ArrayTweenInfo { public var change:Number; public var index:uint; public var start:Number; private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){ this.index = _arg1; this.start = _arg2; this.change = _arg3; } }
Section 15
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import flash.display.*; import gs.*; public class FramePlugin extends TweenPlugin { public var frame:int; protected var _target:MovieClip; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ this.propName = "frame"; this.overwriteProps = ["frame", "frameLabel"]; this.round = true; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.gotoAndStop(this.frame); } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){ return (false); }; _target = (_arg1 as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, _arg2, "frame"); return (true); } } }//package gs.plugins
Section 16
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ this.propName = "removeTint"; } } }//package gs.plugins
Section 17
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import flash.display.*; import flash.geom.*; import gs.core.tween.*; import gs.*; public class TintPlugin extends TweenPlugin { protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; protected var _target:DisplayObject; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ this.propName = "tint"; this.overwriteProps = ["tint"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:ColorTransform; updateTweens(_arg1); if (_ignoreAlpha){ _local2 = _target.transform.colorTransform; _ct.alphaMultiplier = _local2.alphaMultiplier; _ct.alphaOffset = _local2.alphaOffset; }; _target.transform.colorTransform = _ct; } public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{ var _local3:int; var _local4:String; _target = _arg1; _ct = _target.transform.colorTransform; _local3 = (_props.length - 1); while (_local3 > -1) { _local4 = _props[_local3]; if (_ct[_local4] != _arg2[_local4]){ _tweens[_tweens.length] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:ColorTransform; if (!(_arg1 is DisplayObject)){ return (false); }; _local4 = new ColorTransform(); if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){ _local4.color = uint(_arg2); }; _ignoreAlpha = true; init((_arg1 as DisplayObject), _local4); return (true); } } }//package gs.plugins
Section 18
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.core.tween.*; import gs.*; public class TweenPlugin { public var overwriteProps:Array; protected var _tweens:Array; public var round:Boolean; public var onComplete:Function; public var propName:String; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; _changeFactor = 0; super(); } protected function updateTweens(_arg1:Number):void{ var _local2:int; var _local3:PropTween; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (this.overwriteProps.length - 1); while (_local2 > -1) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; _local2--; }; _local2 = (_tweens.length - 1); while (_local2 > -1) { if ((_tweens[_local2].name in _arg1)){ _tweens.splice(_local2, 1); }; _local2--; }; } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate(_arg1:Array):Boolean{ var _local2:int; var _local3:Object; _local2 = (_arg1.length - 1); while (_local2 > -1) { _local3 = new (_arg1[_local2]); TweenLite.plugins[_local3.propName] = _arg1[_local2]; _local2--; }; return (true); } } }//package gs.plugins
Section 19
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import flash.display.*; import gs.*; public class VisiblePlugin extends TweenPlugin { protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; protected var _hideAtStart:Boolean; public static const VERSION:Number = 1.51; public static const API:Number = 1; public function VisiblePlugin(){ this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ if (((_hideAtStart) && ((_tween.cachedTotalTime == 0)))){ _target.visible = false; } else { if (_target.visible != true){ _target.visible = true; }; }; } protected function init(_arg1:Object, _arg2:Boolean, _arg3:TweenLite):void{ _target = _arg1; _tween = _arg3; _visible = _arg2; if ((((((_tween.vars.runBackwards == true)) && (!((_tween.vars.renderOnStart == false))))) && ((_arg2 == false)))){ _hideAtStart = true; }; } public function onCompleteTween():void{ if (((!(_hideAtStart)) && (((!((_tween.cachedTime == 0))) || ((_tween.duration == 0)))))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ init(_arg1, Boolean(_arg2), _arg3); return (true); } } }//package gs.plugins
Section 20
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _st:SoundTransform; protected var _target:Object; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.soundTransform = _st; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){ return (false); }; _target = _arg1; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, _arg2, "volume"); return (true); } } }//package gs.plugins
Section 21
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.events.*; import gs.core.tween.*; import gs.plugins.*; import flash.utils.*; public class TweenLite extends Tweenable { public var target:Object; protected var _firstPropTween:PropTween; protected var _hasPlugins:Boolean; protected var _overwrittenProps:Object; public var propTweenLookup:Object; public var ease:Function; public static const version:Number = 11.07; public static var rootTimeline:SimpleTimeline; public static var rootFramesTimeline:SimpleTimeline; public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var masterList:Dictionary = new Dictionary(false); public static var overwriteManager:Object; public static var rootFrame:Number; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, persist:1, timeScale:1, forceImmediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1}; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:int; var _local5:Array; var _local6:TweenLite; super(_arg2, _arg3); if (_arg1 == null){ return; }; this.target = _arg1; this.ease = ((typeof(this.vars.ease))!="function") ? defaultEase : this.vars.ease; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.ease; this.ease = easeProxy; }; propTweenLookup = {}; if (!(_arg1 in masterList)){ masterList[_arg1] = [this]; } else { _local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if (_local4 == 1){ _local5 = masterList[_arg1]; for each (_local6 in _local5) { if (!_local6.gc){ _local6.timeline.remove(_local6); }; }; masterList[_arg1] = [this]; } else { masterList[_arg1].push(this); }; }; if (((this.active) || (this.vars.forceImmediateRender))){ renderTime(0); }; } override public function renderTime(_arg1:Number):void{ var _local2:Number; var _local3:Boolean; var _local4:Number; var _local5:PropTween; _local4 = this.cachedTime; if (_arg1 >= this.cachedDuration){ this.cachedTotalTime = (this.cachedTime = this.cachedDuration); _local2 = 1; _local3 = true; } else { if (_arg1 <= 0){ _local2 = 0; this.cachedTotalTime = (this.cachedTime = _local2); if (_arg1 < 0){ this.active = false; }; } else { this.cachedTotalTime = (this.cachedTime = _arg1); _local2 = this.ease(_arg1, 0, 1, this.cachedDuration); }; }; if (!this.initted){ init(); this.active = true; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; } else { if (this.cachedTime == _local4){ return; }; }; _local5 = _firstPropTween; while (_local5 != null) { _local5.target[_local5.property] = (_local5.start + (_local2 * _local5.change)); _local5 = _local5.nextNode; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local3){ complete(true); }; } protected function init():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:Object; var _local5:PropTween; _local4 = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; propTweenLookup = {}; if (((!((_local4.timeScale == undefined))) && ((this.target is Tweenable)))){ _firstPropTween = insertPropTween(this.target, "timeScale", this.target.timeScale, _local4.timeScale, "timeScale", false, _firstPropTween); }; for (_local1 in _local4) { if ((_local1 in _reservedProps)){ } else { if ((_local1 in plugins)){ _local3 = new (plugins[_local1]); if (_local3.onInitTween(this.target, _local4[_local1], this) == false){ _firstPropTween = insertPropTween(this.target, _local1, this.target[_local1], _local4[_local1], _local1, false, _firstPropTween); } else { _firstPropTween = insertPropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, _firstPropTween); _hasPlugins = true; }; } else { _firstPropTween = insertPropTween(this.target, _local1, this.target[_local1], _local4[_local1], _local1, false, _firstPropTween); }; }; }; if (this.vars.runBackwards == true){ _local5 = _firstPropTween; while (_local5 != null) { _local5.start = (_local5.start + _local5.change); _local5.change = -(_local5.change); _local5 = _local5.nextNode; }; }; _hasUpdate = Boolean(!((this.vars.onUpdate == null))); if (_overwrittenProps != null){ killVars(_overwrittenProps); }; if (((((TweenLite.overwriteManager.enabled) && (!((this._firstPropTween == null))))) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, propTweenLookup, masterList[this.target]); }; this.initted = true; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } protected function removePropTween(_arg1:PropTween):void{ if (_arg1.nextNode != null){ _arg1.nextNode.prevNode = _arg1.prevNode; }; if (_arg1.prevNode != null){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (_firstPropTween == _arg1){ _firstPropTween = _arg1.nextNode; }; }; } protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{ var _local8:PropTween; var _local9:Array; var _local10:int; _local8 = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7); if (_arg7 != null){ _arg7.prevNode = _local8; }; if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){ _local9 = _arg1.overwriteProps; _local10 = (_local9.length - 1); while (_local10 > -1) { propTweenLookup[_local9[_local10]] = _local8; _local10--; }; } else { propTweenLookup[_arg5] = _local8; }; return (_local8); } override public function complete(_arg1:Boolean=false):void{ var _local2:PropTween; if (!_arg1){ renderTime(this.cachedTotalDuration); return; }; if (_hasPlugins){ _local2 = _firstPropTween; while (_local2 != null) { if (((_local2.isPlugin) && (!((_local2.target.onComplete == null))))){ _local2.target.onComplete(); }; _local2 = _local2.nextNode; }; }; if (this.timeline.autoRemoveChildren){ this.timeline.remove(this); } else { this.active = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public function killVars(_arg1:Object, _arg2:Boolean=true):void{ var _local3:String; var _local4:PropTween; if (_overwrittenProps == null){ _overwrittenProps = {}; }; for (_local3 in _arg1) { if ((_local3 in propTweenLookup)){ _local4 = propTweenLookup[_local3]; if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){ _local4.target.killProps(_arg1); if (_local4.target.overwriteProps.length == 0){ removePropTween(_local4); delete propTweenLookup[_local3]; }; } else { removePropTween(_local4); delete propTweenLookup[_local3]; }; }; if (_arg2){ _overwrittenProps[_local3] = 1; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, useFrames:_arg4, overwrite:0})); } public static function initClass():void{ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); rootFrame = 0; rootTimeline = new SimpleTimeline(null); rootFramesTimeline = new SimpleTimeline(null); rootTimeline.startTime = (getTimer() * 0.001); rootFramesTimeline.startTime = rootFrame; rootTimeline.autoRemoveChildren = (rootFramesTimeline.autoRemoveChildren = true); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; } public static function removeTween(_arg1:TweenLite):void{ if (_arg1 != null){ _arg1.timeline.remove(_arg1); }; } public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; if (((!((_arg1 == null))) && ((_arg1 in masterList)))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { if (!_local3[_local4].gc){ if (_arg2){ _local3[_local4].complete(false); } else { _local3[_local4].timeline.remove((_local3[_local4] as Tweenable)); }; }; _local4--; }; delete masterList[_arg1]; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; if (_arg3.renderOnStart != true){ _arg3.forceImmediateRender = true; }; return (new TweenLite(_arg1, _arg2, _arg3)); } protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } protected static function updateAll(_arg1:Event=null):void{ var _local2:Dictionary; var _local3:Object; var _local4:Array; var _local5:int; rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.startTime) * rootTimeline.cachedTimeScale)); rootFrame++; rootFramesTimeline.renderTime((rootFrame * rootFramesTimeline.cachedTimeScale)); if (!(rootFrame % 30)){ _local2 = masterList; for (_local3 in _local2) { _local4 = _local2[_local3]; _local5 = (_local4.length - 1); while (_local5 > -1) { if (_local4[_local5].gc){ _local4.splice(_local5, 1); }; _local5--; }; if (_local4.length == 0){ delete _local2[_local3]; }; }; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 22
//wav (laserLoop.wav) package laserLoop { import flash.media.*; public dynamic class wav extends Sound { } }//package laserLoop
Section 23
//wav (machineGunLoop.wav) package machineGunLoop { import flash.media.*; public dynamic class wav extends Sound { } }//package machineGunLoop
Section 24
//assetHolder_3 (release_build_fla.assetHolder_3) package release_build_fla { import flash.display.*; public dynamic class assetHolder_3 extends MovieClip { public function assetHolder_3(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 25
//bonusAni_32 (release_build_fla.bonusAni_32) package release_build_fla { import flash.display.*; import flash.text.*; public dynamic class bonusAni_32 extends MovieClip { public var bonus_text:TextField; } }//package release_build_fla
Section 26
//health_FX_112 (release_build_fla.health_FX_112) package release_build_fla { import flash.display.*; public dynamic class health_FX_112 extends MovieClip { public function health_FX_112(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 27
//health_meter_111 (release_build_fla.health_meter_111) package release_build_fla { import flash.display.*; import flash.text.*; public dynamic class health_meter_111 extends MovieClip { public var healthAnimation:MovieClip; public var scoreText:TextField; public function health_meter_111(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 28
//laserboat_93 (release_build_fla.laserboat_93) package release_build_fla { import flash.display.*; public dynamic class laserboat_93 extends MovieClip { public var laser_dish:MovieClip; } }//package release_build_fla
Section 29
//laserDish_94 (release_build_fla.laserDish_94) package release_build_fla { import flash.display.*; public dynamic class laserDish_94 extends MovieClip { public function laserDish_94(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 30
//mine_105 (release_build_fla.mine_105) package release_build_fla { import flash.display.*; public dynamic class mine_105 extends MovieClip { public function mine_105(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 31
//multiplier_114 (release_build_fla.multiplier_114) package release_build_fla { import flash.display.*; import flash.text.*; public dynamic class multiplier_114 extends MovieClip { public var multiplier_text:TextField; public function multiplier_114(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 32
//oilDrum_86 (release_build_fla.oilDrum_86) package release_build_fla { import flash.display.*; public dynamic class oilDrum_86 extends MovieClip { public function oilDrum_86(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package release_build_fla
Section 33
//waveText_30 (release_build_fla.waveText_30) package release_build_fla { import flash.display.*; import flash.text.*; public dynamic class waveText_30 extends MovieClip { public var textBox:TextField; } }//package release_build_fla
Section 34
//wav (torpedoLaunch.wav) package torpedoLaunch { import flash.media.*; public dynamic class wav extends Sound { } }//package torpedoLaunch
Section 35
//ArmorBoat (ArmorBoat) package { import flash.geom.*; import General.*; public class ArmorBoat extends Boat { public var SHOOT_TIME:int;// = 400 public var POLLUTE_SCALE:Number;// = 1 public var shootTimer:int; public function ArmorBoat(){ SHOOT_TIME = 400; shootTimer = SHOOT_TIME; POLLUTE_SCALE = 1; super(); myClip = new Assets.enemy_sharkboat(); addChild(myClip); initCollision(); SPEED = 1.5; hp = 300; killScore = 250; shootTimer = int((SHOOT_TIME * Math.random())); } override public function collision(_arg1):void{ var _local2:Point; if ((_arg1 is Fish)){ if (Fish(_arg1).knockedOut){ return; }; _local2 = new Point((_arg1.x - x), (_arg1.y - y)); if (!flipped){ if (_arg1.inertia.x < 0){ if (_local2.x > (myClip.width * 0.5)){ Fish(_arg1).knockOut(); _arg1.inertia.x = (inertia * 1); _arg1.inertia.y = 0.2; return; }; }; } else { if (_arg1.inertia.x > 0){ if (_local2.x < (myClip.width * 0.5)){ Fish(_arg1).knockOut(); _arg1.inertia.x = (inertia * 1); _arg1.inertia.y = 0.2; return; }; }; }; }; super.collision(_arg1); } override public function tick():void{ var _local1:Pollution; super.tick(); shootTimer--; if (shootTimer <= 0){ shootTimer = SHOOT_TIME; _local1 = new Pollution(); if (parent != null){ parent.addChild(_local1); }; _local1.x = (x + myClip.x); _local1.y = (y + myClip.y); _local1.scaleX = (_local1.scaleY = POLLUTE_SCALE); }; } } }//package
Section 36
//Assets (Assets) package { import flash.display.*; import flash.system.*; public class Assets { public static var pauseScreen:Class; public static var bigKelp:Class; public static var cutscene_intro:Class; public static var boto:Class; public static var enemy_sub:Class; public static var helpScreen:Class; public static var terrain_bg:Class; public static var enemy_fishingboat:Class; public static var enemy_laserboat:Class; public static var enemy_speedboat:Class; public static var cloud2:Class; public static var scoreScreen:Class; public static var ad:ApplicationDomain; public static var optionsScreen:Class; public static var cloud1:Class; public static var drum:Class; public static var enemy_sharkboat:Class; public static var bubbles1:Class; public static var UIpage:Class; public static var bonus_bubble:Class; public static var mainMenu:Class; public static var enemy_freighter:Class; public static var snake:Class; public static var vignette:Class; public static var splash1:Class; public static var torpedo:Class; public static var mineFloat:Class; public static var cutscene_armor:Class; public static var waveMessage:Class; public static var powerup_bombermode:Class; public static var groundTile:Class; public static var damage_particle:Class; public static var fish:Class; public static var initialized:Boolean = false; public static var drumFloat:Class; public static var side:Class; public static var powerup_autofire:Class; public static var water_tile:Class; public static var water_gradient:Class; public static var explosion_particle:Class; public static var littleKelp:Class; public static var pollution_particle:Class; public static var heal_particle:Class; public static var piranha:Class; public static function initializeAssets(_arg1:LoaderInfo):void{ ad = _arg1.applicationDomain; mainMenu = Class(ad.getDefinition("titleScreen")); pauseScreen = Class(ad.getDefinition("pauseScreen")); helpScreen = Class(ad.getDefinition("helpScreen")); optionsScreen = Class(ad.getDefinition("optionsScreen")); scoreScreen = Class(ad.getDefinition("scoreScreen")); boto = Class(ad.getDefinition("boto")); fish = Class(ad.getDefinition("fish")); piranha = Class(ad.getDefinition("piranha")); snake = Class(ad.getDefinition("snake")); damage_particle = Class(ad.getDefinition("damage_particle")); heal_particle = Class(ad.getDefinition("heal_particle")); bonus_bubble = Class(ad.getDefinition("bonus_bubble")); bubbles1 = Class(ad.getDefinition("bubbles1")); explosion_particle = Class(ad.getDefinition("explosion_particle")); splash1 = Class(ad.getDefinition("splash1")); waveMessage = Class(ad.getDefinition("wavePage")); enemy_freighter = Class(ad.getDefinition("enemy_freighter")); enemy_sharkboat = Class(ad.getDefinition("enemy_sharkboat")); enemy_laserboat = Class(ad.getDefinition("enemy_laserboat")); enemy_sub = Class(ad.getDefinition("enemy_sub")); enemy_fishingboat = Class(ad.getDefinition("enemy_fishingboat")); enemy_speedboat = Class(ad.getDefinition("enemy_speedboat")); pollution_particle = Class(ad.getDefinition("pollution_particle")); mineFloat = Class(ad.getDefinition("mineFloat")); drumFloat = Class(ad.getDefinition("drumFloat")); drum = Class(ad.getDefinition("drum")); torpedo = Class(ad.getDefinition("torpedo")); water_gradient = Class(ad.getDefinition("water_gradient")); water_tile = Class(ad.getDefinition("water_tile")); terrain_bg = Class(ad.getDefinition("terrain_bg")); groundTile = Class(ad.getDefinition("groundTile")); side = Class(ad.getDefinition("side")); littleKelp = Class(ad.getDefinition("kelp1")); bigKelp = Class(ad.getDefinition("kelp2")); cloud1 = Class(ad.getDefinition("cloud1")); cloud2 = Class(ad.getDefinition("cloud2")); UIpage = Class(ad.getDefinition("UIpage")); vignette = Class(ad.getDefinition("vignette")); powerup_autofire = Class(ad.getDefinition("timeBoost")); powerup_bombermode = Class(ad.getDefinition("wingBoost")); cutscene_intro = Class(ad.getDefinition("cutscene_intro")); cutscene_armor = Class(ad.getDefinition("cutscene_armor")); } } }//package
Section 37
//Boat (Boat) package { public class Boat extends Target { public var SPEED:Number;// = 1 public var inertia:Number;// = 0 public function Boat(){ inertia = 0; SPEED = 1; super(); } override public function collision(_arg1):void{ var _local2:ExplosionParticle; if ((((_arg1 is Fish)) || ((_arg1 is Torpedo)))){ SoundMgr.playSound("boom1"); Main.SCROLLER.shakey(5); if (Main.currExplosions < Main.MAX_EXPLOSIONS){ _local2 = new ExplosionParticle(); parent.addChild(_local2); _local2.x = _arg1.x; _local2.y = _arg1.y; if ((this is LaserBoat)){ _local2.y = (_local2.y - water.y); }; }; } else { if ((_arg1 is DrumFloat)){ SoundMgr.playSound("boom2"); Main.SCROLLER.shakey(10); }; }; if ((_arg1 is Fish)){ hp = (hp - 5); } else { if ((_arg1 is Torpedo)){ hp = (hp - 50); } else { if ((_arg1 is DrumFloat)){ hp = (hp - 100); }; }; }; _arg1.kill(); } override public function kill():void{ var _local1:int; var _local2:ExplosionParticle; if ((this is TorpedoSub)){ SoundMgr.playSound("boom5"); } else { SoundMgr.playSound("boom4"); }; Main.SCROLLER.shakey(25); _local1 = 0; while (_local1 < 5) { _local2 = new ExplosionParticle(0, 0); parent.addChild(_local2); _local2.x = (x + (Math.random() * collB.x)); _local2.y = ((y + (Math.random() * collB.y)) - (collB.y / 2)); if ((this is LaserBoat)){ _local2.y = (_local2.y - water.y); }; _local1++; }; super.kill(); } override public function tick():void{ super.tick(); if (killed()){ return; }; x = (x + ((inertia / Math.abs(inertia)) * SPEED)); if ((((inertia < 0)) && (!(flipped)))){ flipX(); }; if ((((inertia > 0)) && (flipped))){ flipX(); }; if ((((inertia < 0)) && (((x + collB.x) < -500)))){ inertia = (inertia * -1); }; if ((((inertia > 0)) && ((x > (bounds.x + 500))))){ inertia = (inertia * -1); }; } } }//package
Section 38
//bonus_bubble (bonus_bubble) package { import flash.display.*; public dynamic class bonus_bubble extends MovieClip { public var animate:MovieClip; public function bonus_bubble(){ addFrameScript(7, frame8); } function frame8(){ stop(); } } }//package
Section 39
//boto (boto) package { import flash.display.*; public dynamic class boto extends MovieClip { } }//package
Section 40
//Boto (Boto) package { import flash.display.*; import flash.geom.*; import General.*; public class Boto extends Sprite implements Tickable { public var water:Water; public var healPartTimer:int;// = 0 public var myClip:MovieClip; public var autofireOn:Boolean;// = false public var powerup_counter:int;// = 0 public var fishRespawnMod:Number;// = 10 public var blacknessSprite:Sprite; public var fishRespawnCount:Number;// = 15 public var waterSpeed:Number;// = 1 public var pullSc:Number;// = 1 public var flipped:Boolean;// = false public var bomberModeOn:Boolean;// = false public var healParticle:MovieClip; public var bounds:Point; public var inertia:Point; public var hurtPartTimer:int;// = 0 public var shockInertia:Point; public var laserdCounter:int;// = 0 public var fishTotal:int;// = 20 public var hurtParticle:MovieClip; public var camTarg:Point; public var ACCLERATION:Number;// = 0.1 public var killFlag:Boolean;// = false public var inWater:Boolean;// = true public var bombCounter:int;// = 5 public static var COLLIDES:Array = new Array(); public function Boto(){ waterSpeed = 1; ACCLERATION = 0.1; bounds = new Point(4000, 2000); hurtPartTimer = 0; healPartTimer = 0; inWater = true; bomberModeOn = false; bombCounter = 5; powerup_counter = 0; autofireOn = false; fishRespawnCount = 15; fishTotal = 20; fishRespawnMod = 10; killFlag = false; laserdCounter = 0; flipped = false; pullSc = 1; super(); myClip = new Assets.boto(); addChild(myClip); inertia = new Point(); camTarg = new Point(); Fish.boto = this; Main.TICKABLES.push(this); setBounds(Main.BOUNDS); setWater(Main.WATER); shockInertia = new Point(); healParticle = new Assets.heal_particle(); myClip.addChild(healParticle); healParticle.visible = false; hurtParticle = new Assets.damage_particle(); myClip.addChild(hurtParticle); hurtParticle.visible = false; } public function laserd():void{ laserdCounter = 40; } public function hurt():void{ SoundMgr.playSound("botoHit"); hurtParticle.visible = true; hurtParticle.rotation = (Math.random() * 360); hurtPartTimer = 20; } public function hurtEnd():void{ if (hurtParticle.visible){ hurtParticle.visible = false; }; } public function splash():void{ shockInertia.y = (shockInertia.y * 0.25); shockInertia.x = (shockInertia.x * 0.25); if (inertia.y > (inertia.x * 2)){ water.spawnBotoSplash(x); }; SoundMgr.playSound("splash2"); } public function powerup_autofire():void{ var _local1:int; SoundMgr.playSound("machineGunLoop"); powerup_counter = 900; autofireOn = true; fishRespawnMod = 1; fishTotal = 60; _local1 = 0; while (_local1 < 60) { fishRespawnTick(); _local1++; }; } public function killed():Boolean{ return (killFlag); } public function kill():void{ killFlag = true; if (parent != null){ parent.removeChild(this); }; Fish.boto = null; } public function fishRespawnTick():void{ var _local1:Array; var _local2:Fish; _local1 = Fish.FISHES; fishRespawnCount--; if (fishRespawnCount <= 0){ _local2 = new Fish(); parent.addChild(_local2); if (inertia.y > 0){ _local2.x = (x + 500); } else { _local2.x = (x - 500); }; _local2.y = ((Math.random() * bounds.y) + 500); fishRespawnCount = fishRespawnMod; }; if (Fish.FISHES.length >= fishTotal){ fishRespawnCount++; }; } public function tick():void{ healPartTimer--; if (healPartTimer < 0){ healEnd(); }; hurtPartTimer--; if (hurtPartTimer < 0){ hurtEnd(); }; laserdCounter--; fishRespawnTick(); if ((((Math.abs(myClip.rotation) > 90)) && (!(flipped)))){ flipX(); }; if ((((Math.abs(myClip.rotation) < 90)) && (flipped))){ flipX(); }; if (autofireOn){ autofireTick(); return; }; if (bomberModeOn){ bomberModeTick(); physInterp(); return; }; if ((((((water == null)) || ((y > water.y)))) || (bomberModeOn))){ underwaterMotion(); alpha = 0.6; if (!inWater){ splash(); SoundMgr.playSound("music_underwater"); }; inWater = true; } else { alpha = 1; abovewaterMotion(); if (inWater){ SoundMgr.playSound("music_abovewater"); }; inWater = false; }; shockInertia.x = (shockInertia.x * 0.99); shockInertia.y = (shockInertia.y * 0.99); if (Math.abs(shockInertia.x) < 0.001){ shockInertia.x = 0; }; if (Math.abs(shockInertia.y) < 0.001){ shockInertia.y = 0; }; inertia.x = (inertia.x + shockInertia.x); inertia.y = (inertia.y + shockInertia.y); physInterp(); inertia.x = (inertia.x - shockInertia.x); inertia.y = (inertia.y - shockInertia.y); polluteCollide(); if (x < 0){ x = 0; }; if (x > bounds.x){ x = bounds.x; }; if (y > bounds.y){ y = bounds.y; }; } public function powerup_bomber():void{ var _local1:int; SoundMgr.playSound("music_abovewater"); SoundMgr.playSound("flap"); powerup_counter = 1600; bomberModeOn = true; fishRespawnMod = 1; fishTotal = 60; _local1 = 0; while (_local1 < 60) { fishRespawnTick(); _local1++; }; } public function flipX():void{ myClip.scaleY = (myClip.scaleY * -1); flipped = !(flipped); } public function autofireTick():void{ var _local1:Fish; underwaterMotion(); SoundMgr.playSound("machineGunLoop"); _local1 = Fish(Util.ClosestDObj(this, Fish.FISHES)); if (((!((_local1 == null))) && (!(_local1.autofireShot)))){ if (Util.Dist(this, _local1) < 30){ _local1.autofireShot = true; _local1.x = x; _local1.y = y; _local1.inertia.x = (-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))) * 10); _local1.inertia.y = (Math.cos(((myClip.rotation - 90) * (Math.PI / 180))) * 10); }; }; powerup_counter--; if (powerup_counter <= 0){ SoundMgr.stopSound("machineGunLoop"); autofireOn = false; fishRespawnMod = 10; fishTotal = 20; }; camTarg.x = (-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))) * 250); camTarg.y = (Math.cos(((myClip.rotation - 90) * (Math.PI / 180))) * 100); } public function setBounds(_arg1:Point):void{ bounds = _arg1; } public function bomberModeTick():void{ var _local1:Fish; shockInertia = new Point(0, 0); bombCounter--; if (bombCounter <= 0){ bombCounter = 5; for each (_local1 in Fish.FISHES) { if (!_local1.bombing){ _local1.bombing = true; _local1.inertia.x = (inertia.x * 0.75); _local1.inertia.y = inertia.y; break; }; }; }; powerup_counter--; if (powerup_counter <= 0){ bomberModeOn = false; fishRespawnMod = 15; fishTotal = 20; SoundMgr.stopSound("flap"); }; underwaterMotion(); } public function healEnd():void{ if (healParticle.visible){ healParticle.visible = false; }; } public function setWater(_arg1:Water):void{ water = _arg1; Fish.water = _arg1; } public function polluteCollide():void{ var _local1:BotoCollider; var _local2:Point; graphics.clear(); for each (_local1 in COLLIDES) { _local2 = new Point((x - (_local1.x + _local1.centerOff.x)), (y - (_local1.y + _local1.centerOff.y))); if ((((_local2.length < (_local1.width / 2))) || ((((((_local1 is FoodFish)) && ((_local2.length < _local1.width)))) && (!((_local1 is FoodSnake))))))){ _local1.collide(); }; }; } public function physInterp():void{ x = (x + (inertia.x * 0.75)); y = (y + (inertia.y * 0.75)); } public function heal():void{ healParticle.visible = true; healParticle.rotation = (Math.random() * 360); healPartTimer = 20; } public function underwaterMotion():void{ var _local1:Point; if (((Input.isKeyDownS("A")) || (Input.isKeyDownS("left")))){ myClip.rotation = (myClip.rotation - (4 - (waterSpeed * 0.2))); }; if (((Input.isKeyDownS("D")) || (Input.isKeyDownS("right")))){ myClip.rotation = (myClip.rotation + (4 - (waterSpeed * 0.2))); }; if (((Input.isKeyDownS("W")) || (Input.isKeyDownS("up")))){ waterSpeed = (waterSpeed + ACCLERATION); }; if (((Input.isKeyDownS("S")) || (Input.isKeyDownS("down")))){ waterSpeed = (waterSpeed - ACCLERATION); }; if (bomberModeOn){ waterSpeed = 7; }; if (waterSpeed < 1){ waterSpeed = 1; }; if (waterSpeed > 4){ waterSpeed = (waterSpeed - ((waterSpeed / 8) * ACCLERATION)); } else { waterSpeed = (waterSpeed - (((waterSpeed / 8) * ACCLERATION) / 3)); }; _local1 = new Point(); _local1.x = -(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))); _local1.y = Math.cos(((myClip.rotation - 90) * (Math.PI / 180))); inertia.x = (_local1.x * waterSpeed); inertia.y = (_local1.y * waterSpeed); camTarg.x = (inertia.x * 40); camTarg.y = (inertia.y * 30); } public function abovewaterMotion():void{ var _local1:Number; if (!Input.isKeyDownS("Shift")){ _local1 = 1; if (inertia.y > 0){ _local1 = (Math.abs((90 - myClip.rotation)) / 90); } else { _local1 = (Math.abs((-90 - myClip.rotation)) / 90); }; if (((Input.isKeyDownS("A")) || (Input.isKeyDownS("left")))){ if (inertia.x < 0){ inertia.y = (inertia.y + 0.15); } else { inertia.y = (inertia.y - (0.075 * _local1)); }; }; if (((Input.isKeyDownS("D")) || (Input.isKeyDownS("right")))){ if (inertia.x > 0){ inertia.y = (inertia.y + 0.15); } else { inertia.y = (inertia.y - (0.075 * _local1)); }; }; pullSc = _local1; }; inertia.y = (inertia.y + 0.1); if (!Input.isKeyDownS("Shift")){ myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; } else { if (((Input.isKeyDownS("A")) || (Input.isKeyDownS("left")))){ myClip.rotation = (myClip.rotation - 5); }; if (((Input.isKeyDownS("D")) || (Input.isKeyDownS("right")))){ myClip.rotation = (myClip.rotation + 5); }; }; camTarg.x = (inertia.x * 40); camTarg.y = ((water.y - y) - 150); } } }//package
Section 41
//boto_hurt (boto_hurt) package { import flash.media.*; public dynamic class boto_hurt extends Sound { } }//package
Section 42
//BotoCollider (BotoCollider) package { import flash.display.*; import flash.geom.*; import General.*; public class BotoCollider extends Sprite implements Tickable { public var myClip:MovieClip; public var bounds:Point; public var centerOff:Point; public var killFlag:Boolean;// = false public function BotoCollider(){ bounds = new Point(4000, 2000); killFlag = false; super(); Boto.COLLIDES.push(this); Main.TICKABLES.push(this); setBounds(Main.BOUNDS); centerOff = new Point(0, 0); } public function collide():void{ } public function kill():void{ killFlag = true; if (parent != null){ parent.removeChild(this); }; Util.ArrayRemoveItem(this, Boto.COLLIDES); } public function killed():Boolean{ return (killFlag); } public function tick():void{ } public function setBounds(_arg1:Point):void{ bounds = _arg1; } } }//package
Section 43
//bubbles1 (bubbles1) package { import flash.display.*; public dynamic class bubbles1 extends MovieClip { } }//package
Section 44
//cannon_fire1 (cannon_fire1) package { import flash.media.*; public dynamic class cannon_fire1 extends Sound { } }//package
Section 45
//cannon_fire2 (cannon_fire2) package { import flash.media.*; public dynamic class cannon_fire2 extends Sound { } }//package
Section 46
//cloud1 (cloud1) package { import flash.display.*; public dynamic class cloud1 extends MovieClip { } }//package
Section 47
//cloud2 (cloud2) package { import flash.display.*; public dynamic class cloud2 extends MovieClip { } }//package
Section 48
//cutscene_armor (cutscene_armor) package { import flash.display.*; public dynamic class cutscene_armor extends MovieClip { public var anim:MovieClip; } }//package
Section 49
//cutscene_intro (cutscene_intro) package { import flash.display.*; public dynamic class cutscene_intro extends MovieClip { public var fishPoint:fishGuide; public function cutscene_intro(){ addFrameScript(419, frame420); } function frame420(){ stop(); } } }//package
Section 50
//damage_particle (damage_particle) package { import flash.display.*; public dynamic class damage_particle extends MovieClip { } }//package
Section 51
//drum (drum) package { import flash.display.*; public dynamic class drum extends MovieClip { } }//package
Section 52
//DrumFloat (DrumFloat) package { import flash.geom.*; public class DrumFloat extends BotoCollider { public var popped:Boolean;// = false public var lifespan:int;// = 500 public var inertia:Point; public function DrumFloat(){ lifespan = 500; popped = false; super(); myClip = new Assets.drumFloat(); addChild(myClip); y = Main.WATER.y; lifespan = (5000 + (Math.random() * 1000)); inertia = new Point(); } override public function collide():void{ SoundMgr.playSound("barrletHit"); popped = true; inertia.x = (Fish.boto.inertia.x * 1.2); inertia.y = (Fish.boto.inertia.y * 1.2); } override public function kill():void{ var _local1:int; var _local2:ExplosionParticle; _local1 = 0; while (_local1 < 2) { if (Main.currExplosions < Main.MAX_EXPLOSIONS){ _local2 = new ExplosionParticle(); if (parent != null){ parent.addChild(_local2); }; _local2.x = (x + (Math.random() * width)); _local2.y = ((y + (Math.random() * height)) - (height / 2)); }; _local1++; }; super.kill(); } override public function tick():void{ lifespan--; if (lifespan < 0){ kill(); }; if (popped){ x = (x + inertia.x); y = (y + inertia.y); if (y < Fish.water.y){ inertia.y = (inertia.y + 0.1); boatCollision(); } else { popped = false; y = Fish.water.y; }; }; } public function boatCollision():void{ var _local1:Target; graphics.clear(); if (Target.Y_MAX > Target.Y_MIN){ if (inertia.y > 0){ if ((((y < Target.Y_MAX)) && ((y > Target.Y_MIN)))){ for each (_local1 in Fish.TARGETS) { if ((_local1 is LaserBoat)){ _local1.y = (_local1.y + Fish.water.y); }; if ((((x > _local1.x)) && ((x < (_local1.x + _local1.collB.x))))){ if (Math.abs((y - _local1.y)) < (_local1.collB.y / 2)){ if (parent != null){ parent.addChild(this); }; _local1.collision(this); }; }; if ((_local1 is LaserBoat)){ _local1.y = (_local1.y - Fish.water.y); }; }; }; }; }; } } }//package
Section 53
//drumFloat (drumFloat) package { import flash.display.*; public dynamic class drumFloat extends MovieClip { } }//package
Section 54
//enemy_fishingboat (enemy_fishingboat) package { import flash.display.*; public dynamic class enemy_fishingboat extends MovieClip { } }//package
Section 55
//enemy_freighter (enemy_freighter) package { import flash.display.*; public dynamic class enemy_freighter extends MovieClip { public var marleyFlip:MovieClip; } }//package
Section 56
//enemy_laserboat (enemy_laserboat) package { import flash.display.*; public dynamic class enemy_laserboat extends MovieClip { public var laserboat:MovieClip; } }//package
Section 57
//enemy_sharkboat (enemy_sharkboat) package { import flash.display.*; public dynamic class enemy_sharkboat extends MovieClip { } }//package
Section 58
//enemy_speedboat (enemy_speedboat) package { import flash.display.*; public dynamic class enemy_speedboat extends MovieClip { } }//package
Section 59
//enemy_sub (enemy_sub) package { import flash.display.*; public dynamic class enemy_sub extends MovieClip { } }//package
Section 60
//explosion_large (explosion_large) package { import flash.media.*; public dynamic class explosion_large extends Sound { } }//package
Section 61
//explosion_medium1 (explosion_medium1) package { import flash.media.*; public dynamic class explosion_medium1 extends Sound { } }//package
Section 62
//explosion_medium2 (explosion_medium2) package { import flash.media.*; public dynamic class explosion_medium2 extends Sound { } }//package
Section 63
//explosion_particle (explosion_particle) package { import flash.display.*; public dynamic class explosion_particle extends MovieClip { public function explosion_particle(){ addFrameScript(3, frame4); } function frame4(){ stop(); } } }//package
Section 64
//ExplosionParticle (ExplosionParticle) package { public class ExplosionParticle extends TimedParticle { public function ExplosionParticle(_arg1:Number=0, _arg2:Number=0){ Main.currExplosions++; x = _arg1; y = _arg2; myClip = new Assets.explosion_particle(); addChild(myClip); myClip.rotation = (Math.random() * 360); } override public function kill():void{ super.kill(); Main.currExplosions--; } } }//package
Section 65
//fish (fish) package { import flash.display.*; public dynamic class fish extends MovieClip { } }//package
Section 66
//Fish (Fish) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; public class Fish extends Sprite implements Tickable { public var bombing:Boolean;// = false public var myClip:MovieClip; public var DECELERATION:Number;// = 0.1 public var dragging:Boolean;// = false public var waterSpeed:Number;// = 1 public var flipped:Boolean;// = false public var bounds:Point; public var inertia:Point; public var handicap:Point; public var knockedOut:Boolean;// = false public var ACCLERATION:Number;// = 0.005 public var killFlag:Boolean;// = false public var inWater:Boolean;// = false public var autofireShot:Boolean;// = false public static var TARGETS:Array = new Array(); public static var FISHES:Array = new Array(); public static var water:Water; public static var boto:Boto; public function Fish(){ waterSpeed = 1; ACCLERATION = 0.005; DECELERATION = 0.1; bounds = new Point(4000, 2000); autofireShot = false; knockedOut = false; dragging = false; inWater = false; bombing = false; killFlag = false; flipped = false; super(); myClip = new Assets.piranha(); addChild(myClip); inertia = new Point(); FISHES.push(this); handicap = new Point(((Math.random() * 0.4) + 0.8), ((Math.random() * 0.4) + 0.8)); myClip.addEventListener(MouseEvent.MOUSE_DOWN, mdown); Main.TICKABLES.push(this); setBounds(Main.BOUNDS); } public function collide():void{ graphics.beginFill(0xFF0000); graphics.drawCircle(0, 0, 20); graphics.endFill(); } public function kill():void{ if (parent != null){ parent.removeChild(this); }; Util.ArrayRemoveItem(this, FISHES); killFlag = true; Main.piranhaUsed++; } public function killed():Boolean{ return (killFlag); } public function mdown(_arg1:MouseEvent):void{ var _local2:Array; _local2 = Main.TICKABLES; startDrag(); dragging = true; stage.addEventListener(MouseEvent.MOUSE_UP, mup); } public function flipX():void{ myClip.scaleY = (myClip.scaleY * -1); flipped = !(flipped); } public function tick():void{ if (knockedOut){ myClip.gotoAndStop(2); if ((((water == null)) || ((y > water.y)))){ if (!inWater){ inertia.y = 0.2; }; inWater = true; inertia.y = (inertia.y + 0.1); if (inertia.y > 0.8){ inertia.y = 0.8; }; } else { inertia.y = (inertia.y + 0.3); }; myClip.scaleY = -1; inertia.x = (inertia.x * 0.99); physInterp(); alpha = (alpha - 0.0001); if (alpha <= 0){ kill(); }; return; }; if (((boto.bomberModeOn) && (!(bombing)))){ x = boto.x; y = boto.y; inertia = new Point(); return; }; if (bombing){ if (y > water.y){ knockOut(); }; }; if ((((((water == null)) || ((y > water.y)))) || (((((boto.autofireOn) && (!(autofireShot)))) && (!(bombing)))))){ underwaterMotion(); alpha = 0.6; autofireShot = false; inWater = true; } else { alpha = 1; abovewaterMotion(); waterSpeed = (inertia.length * 2); inWater = false; }; if (!dragging){ physInterp(); }; myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; if (!inWater){ boatCollision(); }; if ((((inertia.x < 0)) && (!(flipped)))){ flipX(); }; if ((((inertia.x > 0)) && (flipped))){ flipX(); }; if (y > bounds.y){ y = bounds.y; }; } public function polluteCollide():void{ var _local1:BotoCollider; var _local2:Point; graphics.clear(); for each (_local1 in Boto.COLLIDES) { if ((_local1 is Pollution)){ _local2 = new Point((x - _local1.x), (y - _local1.y)); if (_local2.length < _local1.width){ graphics.beginFill(0xFF0000); graphics.drawCircle(0, 0, 20); graphics.endFill(); }; }; }; } public function setBounds(_arg1:Point):void{ bounds = _arg1; } public function mup(_arg1:MouseEvent):void{ if (dragging){ stopDrag(); }; } public function physInterp():void{ x = (x + ((inertia.x * 0.75) * handicap.x)); y = (y + ((inertia.y * 0.75) * handicap.y)); } public function boatCollision():void{ var _local1:Target; graphics.clear(); if (Target.Y_MAX > Target.Y_MIN){ if (inertia.y > 0){ if ((((y < Target.Y_MAX)) && ((y > Target.Y_MIN)))){ for each (_local1 in TARGETS) { if ((_local1 is LaserBoat)){ _local1.y = (_local1.y + water.y); }; if ((((x > _local1.x)) && ((x < (_local1.x + _local1.collB.x))))){ if (Math.abs((y - _local1.y)) < (_local1.collB.y / 2)){ if (parent != null){ parent.addChild(this); }; _local1.collision(this); if (this.killFlag){ Main.GAME_MANAGER.increaseMult(1); Main.GAME_MANAGER.addScore(1); }; }; }; if ((_local1 is LaserBoat)){ _local1.y = (_local1.y - water.y); }; }; }; }; }; } public function underwaterMotion():void{ var _local1:Point; var _local2:Number; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Number; var _local7:Number; _local1 = new Point((x - boto.x), (y - boto.y)); if (_local1.x == 0){ _local1.x = 0.01; }; _local2 = (Math.atan((_local1.y / _local1.x)) * (180 / Math.PI)); if (_local1.x < 0){ _local2 = (_local2 + 180); }; _local3 = new Point(-(Math.sin(((_local2 + 90) * (Math.PI / 180)))), Math.cos(((_local2 + 90) * (Math.PI / 180)))); _local4 = new Point(-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))), Math.cos(((myClip.rotation - 90) * (Math.PI / 180)))); _local5 = new Point((_local4.x - _local3.x), (_local4.y - _local3.y)); _local4.x = (_local4.x - (_local5.x / 10)); _local4.y = (_local4.y - (_local5.y / 10)); _local6 = (_local1.length / 20); _local7 = (_local6 - waterSpeed); if (_local7 > 0){ waterSpeed = (waterSpeed + (ACCLERATION * _local7)); } else { waterSpeed = (waterSpeed + (DECELERATION * _local7)); }; if (waterSpeed < 3){ waterSpeed = 3; }; if (waterSpeed > 8){ waterSpeed = 8; }; inertia.x = (_local4.x * waterSpeed); inertia.y = (_local4.y * waterSpeed); } public function knockOut():void{ knockedOut = true; SoundMgr.playSound("fishImpact"); Util.ArrayRemoveItem(this, FISHES); } public function abovewaterMotion():void{ inertia.y = (inertia.y + 0.1); myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; } } }//package
Section 67
//fishGuide (fishGuide) package { import flash.display.*; public dynamic class fishGuide extends MovieClip { } }//package
Section 68
//FishingBoat (FishingBoat) package { public class FishingBoat extends Boat { public var SHOOT_TIME:int;// = 300 public var POLLUTE_SCALE:Number;// = 1 public var shootTimer:int; public function FishingBoat(){ SHOOT_TIME = 300; shootTimer = SHOOT_TIME; POLLUTE_SCALE = 1; super(); myClip = new Assets.enemy_fishingboat(); addChild(myClip); initCollision(); hp = 50; SPEED = 1.5; killScore = 10; shootTimer = int((SHOOT_TIME * Math.random())); } override public function collision(_arg1):void{ super.collision(_arg1); } override public function tick():void{ var _local1:Pollution; super.tick(); shootTimer--; if (shootTimer <= 0){ shootTimer = SHOOT_TIME; _local1 = new Pollution(); if (parent != null){ parent.addChild(_local1); }; _local1.x = (x + myClip.x); _local1.y = (y + myClip.y); _local1.scaleX = (_local1.scaleY = POLLUTE_SCALE); }; } } }//package
Section 69
//float_like_smoke_B (float_like_smoke_B) package { import flash.media.*; public dynamic class float_like_smoke_B extends Sound { } }//package
Section 70
//FoodFish (FoodFish) package { import flash.geom.*; public class FoodFish extends BotoCollider implements Tickable { public var water:Water; public var DECELERATION:Number;// = 0.01 public var waterSpeed:Number;// = 0 public var flipped:Boolean;// = false public var idleTarget:Point; public var inertia:Point; public var idleTargetDir:Number; public var ACCLERATION:Number;// = 0.05 public var inWater:Boolean;// = false public function FoodFish(){ waterSpeed = 0; inertia = new Point(); inWater = false; ACCLERATION = 0.05; DECELERATION = 0.01; flipped = false; super(); myClip = new Assets.fish(); addChild(myClip); water = Main.WATER; myClip.rotation = 0; inertia = new Point(0, 0); idleTarget = new Point(); idleTarget.x = (Math.random() * bounds.x); idleTarget.y = (((Math.random() * 500) + water.y) + 100); idleTargetDir = Math.random(); if (idleTargetDir < 0.5){ idleTargetDir = -1; } else { idleTargetDir = 1; }; } override public function collide():void{ super.collide(); kill(); SoundMgr.playSound("botoEat"); Main.snacks++; if ((myClip is Assets.fish)){ Main.GAME_MANAGER.getHeald(5); } else { Main.GAME_MANAGER.getHeald(15); }; } override public function kill():void{ if (!killed()){ Main.FOOD_FISH_COUNT--; }; super.kill(); } public function flipX():void{ myClip.scaleY = (myClip.scaleY * -1); flipped = !(flipped); } override public function tick():void{ idleTarget.x = (idleTarget.x + idleTargetDir); if ((((water == null)) || ((y > water.y)))){ underwaterMotion(); alpha = 0.8; inWater = true; } else { abovewaterMotion(); waterSpeed = (inertia.length * 2); alpha = 1; inWater = false; }; physInterp(); if (inertia.x == 0){ inertia.x = 0.001; }; myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; if ((((inertia.x < 0)) && (!(flipped)))){ flipX(); }; if ((((inertia.x > 0)) && (flipped))){ flipX(); }; if (y > bounds.y){ y = bounds.y; }; if (x < 0){ kill(); }; if (x > bounds.x){ kill(); }; } public function physInterp():void{ x = (x + (inertia.x * 0.75)); y = (y + (inertia.y * 0.75)); } public function underwaterMotion():void{ var _local1:Point; var _local2:Number; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Number; var _local7:Number; _local1 = new Point((Fish.boto.x - x), (Fish.boto.y - y)); if (_local1.length < 200){ if (_local1.x == 0){ _local1.x = 0.01; }; _local2 = (Math.atan((_local1.y / _local1.x)) * (180 / Math.PI)); if (_local1.x < 0){ _local2 = (_local2 + 180); }; _local3 = new Point(-(Math.sin(((_local2 + 90) * (Math.PI / 180)))), Math.cos(((_local2 + 90) * (Math.PI / 180)))); _local4 = new Point(-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))), Math.cos(((myClip.rotation - 90) * (Math.PI / 180)))); _local5 = new Point((_local4.x - _local3.x), (_local4.y - _local3.y)); _local4.x = (_local4.x - (_local5.x / 40)); _local4.y = (_local4.y - (_local5.y / 40)); _local6 = 5; _local7 = (_local6 - waterSpeed); if (_local7 > 0){ waterSpeed = (waterSpeed + (ACCLERATION * _local7)); } else { waterSpeed = (waterSpeed + (DECELERATION * _local7)); }; if (waterSpeed > 4){ waterSpeed = 4; }; inertia.x = (_local4.x * waterSpeed); inertia.y = (_local4.y * waterSpeed); } else { _local1 = new Point((x - idleTarget.x), (y - idleTarget.y)); if (_local1.x == 0){ _local1.x = 0.01; }; _local2 = (Math.atan((_local1.y / _local1.x)) * (180 / Math.PI)); if (_local1.x < 0){ _local2 = (_local2 + 180); }; _local3 = new Point(-(Math.sin(((_local2 + 90) * (Math.PI / 180)))), Math.cos(((_local2 + 90) * (Math.PI / 180)))); _local4 = new Point(-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))), Math.cos(((myClip.rotation - 90) * (Math.PI / 180)))); _local5 = new Point((_local4.x - _local3.x), (_local4.y - _local3.y)); _local4.x = (_local4.x - (_local5.x / 10)); _local4.y = (_local4.y - (_local5.y / 10)); _local6 = (_local1.length / 20); _local7 = (_local6 - waterSpeed); if (_local7 > 0){ waterSpeed = (waterSpeed + (ACCLERATION * _local7)); } else { waterSpeed = (waterSpeed + (DECELERATION * _local7)); }; if (waterSpeed < 0.5){ waterSpeed = 0.5; }; if (waterSpeed > 4){ waterSpeed = 4; }; inertia.x = (_local4.x * waterSpeed); inertia.y = (_local4.y * waterSpeed); }; } public function abovewaterMotion():void{ inertia.y = (inertia.y + 0.1); myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; } } }//package
Section 71
//FoodSnake (FoodSnake) package { import flash.geom.*; public class FoodSnake extends FoodFish { public function FoodSnake(){ removeChild(myClip); myClip = new Assets.snake(); addChild(myClip); ACCLERATION = 0.3; } override public function underwaterMotion():void{ var _local1:Point; var _local2:Number; _local1 = new Point((Fish.boto.x - x), (Fish.boto.y - y)); _local2 = 2; if (_local1.length < 200){ _local2 = 4; if ((((_local1.x < 0)) && ((idleTargetDir < 0)))){ idleTargetDir = 1; idleTarget.x = (x + (idleTargetDir * 200)); } else { if ((((_local1.x > 0)) && ((idleTargetDir > 0)))){ idleTargetDir = -1; idleTarget.x = (x + (idleTargetDir * 200)); }; }; }; inertia.x = (inertia.x + (idleTargetDir * ACCLERATION)); if (Math.abs(inertia.x) > _local2){ inertia.x = (inertia.x * 0.9); }; } } }//package
Section 72
//Freighter (Freighter) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; public class Freighter extends Boat { public var SHOOT_TIME:int;// = 200 public var POLLUTE_SCALE:Number;// = 1.5 public var shootTimer:int; public var DRUM_SHOOT_TIME:int;// = 200 public var drumToHP:Number; public var drumShootTimer:int; public var drums:Array; public function Freighter(){ var _local1:int; SHOOT_TIME = 200; shootTimer = SHOOT_TIME; POLLUTE_SCALE = 1.5; DRUM_SHOOT_TIME = 200; drumShootTimer = DRUM_SHOOT_TIME; super(); myClip = new Assets.enemy_freighter(); addChild(myClip); initCollision(); SPEED = 2.5; shootTimer = int((SHOOT_TIME * Math.random())); hp = 500; killScore = 1000; drums = new Array(); _local1 = 0; while (_local1 < myClip.numChildren) { if ((myClip.getChildAt(_local1) is Assets.drum)){ drums.push(myClip.getChildAt(_local1)); }; _local1++; }; drumToHP = (hp / drums.length); drums.sortOn("y", Array.DESCENDING); } public function drumKill():void{ var _local1:*; while ((((drums.length > (hp / drumToHP))) && ((drums.length > 0)))) { _local1 = drums.shift(); if (((_local1) && (!((_local1.parent == null))))){ _local1.parent.removeChild(_local1); }; }; } override public function collision(_arg1):void{ var _local2:Point; if ((((_arg1 is Fish)) || ((_arg1 is DrumFloat)))){ _local2 = new Point((_arg1.x - x), (_arg1.y - y)); if (!flipped){ if (_local2.x > 250){ if (_local2.y < -125){ super.collision(_arg1); drumKill(); }; }; } else { if (_local2.x < 400){ if (_local2.y < -125){ super.collision(_arg1); drumKill(); }; }; }; }; if ((_arg1 is Fish)){ Fish(_arg1).knockOut(); _arg1.inertia.x = (inertia * 1); _arg1.inertia.y = 0.2; }; } override public function flipX():void{ super.flipX(); if (flipped){ myClip.marleyFlip.scaleX = -1; } else { myClip.marleyFlip.scaleX = 1; }; } override public function tick():void{ var _local1:int; var _local2:Pollution; var _local3:DrumFloat; super.tick(); shootTimer--; if (shootTimer <= 0){ shootTimer = SHOOT_TIME; _local1 = 0; while (_local1 < 2) { _local2 = new Pollution(); if (parent != null){ parent.addChild(_local2); }; _local2.x = ((x + myClip.x) + (_local1 * 150)); _local2.y = (y + myClip.y); _local2.scaleX = (_local2.scaleY = POLLUTE_SCALE); _local1++; }; }; drumShootTimer--; if (drumShootTimer <= 0){ drumShootTimer = DRUM_SHOOT_TIME; _local3 = new DrumFloat(); if (parent != null){ parent.addChild(_local3); }; _local3.x = (x + myClip.x); _local3.y = (water.y + myClip.y); }; } } }//package
Section 73
//GameManager (GameManager) package { import flash.display.*; import flash.events.*; import gs.*; import flash.utils.*; public class GameManager extends Sprite { public var currStage:int;// = 0 public var uiScreen:MovieClip; public var tickRate:int;// = 5 public var mult:Number;// = 1 public var health:Number;// = 100 public var score:Number;// = 0 public var tickCounter:int; public var multCounter:Number; public function GameManager(){ health = 100; score = 0; mult = 1; tickRate = 5; currStage = 0; super(); addChild(new Assets.vignette()); uiScreen = new Assets.UIpage(); addChild(uiScreen); uiScreen.blendOverlay.alpha = 0; setHealth(100); multCounter = 0; addScore(0); } public function getHit(_arg1:Number):void{ setHealth((health - _arg1)); if (Fish.boto != null){ Fish.boto.hurt(); }; if (health <= 0){ Main(parent).endGame(); }; } public function addScore(_arg1:Number):int{ score = (score + (_arg1 * mult)); uiScreen.healthMeter.scoreText.text = score; if (mult > 1){ return ((_arg1 * mult)); }; return (0); } public function setHealth(_arg1:Number):void{ if (health > _arg1){ mult = 1; }; if (_arg1 > 100){ _arg1 = 100; }; health = _arg1; uiScreen.healthMeter.gotoAndStop(health); } public function tick():void{ tickCounter--; if (tickCounter <= 0){ tickCounter = tickRate; multTick(); }; } public function increaseMult(_arg1:Number):void{ multCounter = (multCounter + _arg1); } public function getHeald(_arg1:Number):void{ setHealth((health + _arg1)); Fish.boto.heal(); } public function nextStage():void{ currStage++; if ((((currStage > 6)) && ((currStage < 14)))){ uiScreen.blendOverlay.visible = true; TweenLite.to(uiScreen.blendOverlay, 5, {alpha:((currStage - 6) * 0.1)}); }; } public function multTick():void{ mult = Math.ceil((multCounter / 10)); multCounter = (multCounter - (Math.pow(mult, 1.5) / 100)); TweenLite.to(uiScreen.multiplierText, 0.1, {frame:((multCounter - ((mult - 1) * 10)) * 10)}); uiScreen.multiplierText.multiplier_text.text = (("\n" + mult) + "x"); } } }//package
Section 74
//groundTile (groundTile) package { import flash.display.*; public dynamic class groundTile extends MovieClip { } }//package
Section 75
//heal_particle (heal_particle) package { import flash.display.*; public dynamic class heal_particle extends MovieClip { } }//package
Section 76
//help (help) package { import flash.display.*; public dynamic class help extends SimpleButton { } }//package
Section 77
//helpScreen (helpScreen) package { import flash.display.*; public dynamic class helpScreen extends MovieClip { public var btn_back:SimpleButton; } }//package
Section 78
//HelpScreen (HelpScreen) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; public class HelpScreen extends Sprite implements Tickable { public var myClip:MovieClip; public function HelpScreen(){ myClip = new Assets.helpScreen(); addChild(myClip); myClip.btn_back.addEventListener(MouseEvent.CLICK, back); Main.TICKABLES.push(this); SoundMgr.playSound("music_menu"); alpha = 0; } public function kill():void{ Util.ArrayRemoveItem(this, Main.TICKABLES); if (parent != null){ parent.removeChild(this); }; } public function killed():Boolean{ return (false); } public function tick():void{ alpha = (alpha + 0.02); } public function setBounds(_arg1:Point):void{ } public function back(_arg1:MouseEvent):void{ Main(parent).mainMenu.fadingIn = true; kill(); } } }//package
Section 79
//kelp1 (kelp1) package { import flash.display.*; public dynamic class kelp1 extends MovieClip { } }//package
Section 80
//kelp2 (kelp2) package { import flash.display.*; public dynamic class kelp2 extends MovieClip { } }//package
Section 81
//LaserBoat (LaserBoat) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; import flash.utils.*; public class LaserBoat extends Boat { public var laserOn:Boolean;// = false public var laserTimer:Timer; public var laseringTimer:Timer; public var LASER_RANGE:Number;// = 1000 public var REAL_laserGraphic:MovieClip; public var laserGraphic:MovieClip; public function LaserBoat(){ laserOn = false; LASER_RANGE = 1000; super(); myClip = new Assets.enemy_laserboat(); addChild(myClip); initCollision(); laserTimer = new Timer(2000); laserTimer.addEventListener(TimerEvent.TIMER, laserEm); laserTimer.start(); laseringTimer = new Timer(400); laseringTimer.addEventListener(TimerEvent.TIMER, stopLaser); laserGraphic = new MovieClip(); laserGraphic.graphics.lineStyle(5, 0xFF0000); laserGraphic.graphics.lineTo(LASER_RANGE, 0); laserGraphic.visible = false; REAL_laserGraphic = new MovieClip(); REAL_laserGraphic.graphics.lineStyle((5 / 0.39), 0xFF0000); REAL_laserGraphic.graphics.lineTo((LASER_RANGE / 0.39), 0); myClip.laserboat.addChildAt(REAL_laserGraphic, myClip.laserboat.getChildIndex(myClip.laserboat.laser_dish)); REAL_laserGraphic.x = myClip.laserboat.laser_dish.x; REAL_laserGraphic.y = myClip.laserboat.laser_dish.y; REAL_laserGraphic.visible = false; SPEED = 2; killScore = 80; hp = 180; } override public function collision(_arg1):void{ super.collision(_arg1); } override public function kill():void{ super.kill(); laseringTimer.stop(); laserTimer.stop(); if (laserGraphic.parent != null){ laserGraphic.parent.removeChild(laserGraphic); }; } override public function flipX():void{ super.flipX(); } override public function tick():void{ var _local1:Point; var _local2:Point; var _local3:Fish; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Point; super.tick(); if (killed()){ return; }; y = 0; if (laserOn){ y = (y + water.y); _local1 = new Point(myClip.laserboat.laser_dish.x, myClip.laserboat.laser_dish.y); _local1 = MovieClip(myClip.laserboat).localToGlobal(_local1); _local1 = parent.globalToLocal(_local1); laserGraphic.x = _local1.x; laserGraphic.y = _local1.y; _local2 = new Point(); _local2.x = ((-(Math.sin(((laserGraphic.rotation - 90) * (Math.PI / 180)))) * 10) + laserGraphic.x); _local2.y = ((Math.cos(((laserGraphic.rotation - 90) * (Math.PI / 180))) * 10) + laserGraphic.y); for each (_local3 in Fish.FISHES) { _local5 = new Point((_local3.x - laserGraphic.x), (_local3.y - laserGraphic.y)); if (_local5.length < LASER_RANGE){ if (Util.RayCircleIntersect(new Point(laserGraphic.x, laserGraphic.y), _local2, new Point(_local3.x, _local3.y), _local3.width)){ _local3.knockOut(); }; }; }; _local4 = new Point((_local2.x - laserGraphic.x), (_local2.y - laserGraphic.y)); if (((((((!(Fish.boto.inWater)) && ((Fish.boto.laserdCounter < 0)))) && (!(Fish.boto.autofireOn)))) && (!(Fish.boto.bomberModeOn)))){ _local6 = new Point((Fish.boto.x - laserGraphic.x), (Fish.boto.y - laserGraphic.y)); if (_local6.length < LASER_RANGE){ if ((((((_local4.x > 0)) && ((_local6.x > 0)))) || ((((_local4.x < 0)) && ((_local6.x < 0)))))){ if (Util.RayCircleIntersect(new Point(laserGraphic.x, laserGraphic.y), _local2, new Point(Fish.boto.x, Fish.boto.y), 20)){ Main.GAME_MANAGER.getHit(10); _local7 = new Point(-(Math.sin(((laserGraphic.rotation - 90) * (Math.PI / 180)))), Math.cos(((laserGraphic.rotation - 90) * (Math.PI / 180)))); Fish.boto.shockInertia.x = (Fish.boto.shockInertia.x + (_local7.x * 10)); Fish.boto.shockInertia.y = (Fish.boto.shockInertia.y + (_local7.y * 10)); Fish.boto.laserd(); }; }; }; }; laserGraphic.rotation = (laserGraphic.rotation + 0.4); myClip.laserboat.laser_dish.rotation = laserGraphic.rotation; if (flipped){ myClip.laserboat.laser_dish.rotation = (180 - myClip.laserboat.laser_dish.rotation); }; REAL_laserGraphic.rotation = myClip.laserboat.laser_dish.rotation; y = (y - water.y); } else { REAL_laserGraphic.visible = false; myClip.laserboat.laser_dish.gotoAndStop(1); }; } public function laserEm(_arg1:TimerEvent):void{ var _local2:Array; var _local3:Fish; var _local4:Point; var _local5:Point; var _local6:Point; if (parent == null){ return; }; if (Fish.boto.bomberModeOn){ return; }; _local2 = Fish.FISHES; y = (y + water.y); for each (_local3 in _local2) { if (_local3.y < water.y){ _local4 = new Point(((_local3.x - x) + myClip.x), ((_local3.y - y) + myClip.y)); if (_local4.length < LASER_RANGE){ SoundMgr.playSound("laserLoop"); laseringTimer.start(); laserOn = true; parent.addChildAt(laserGraphic, (parent.getChildIndex(this) - 1)); _local5 = new Point(myClip.laserboat.laser_dish.x, myClip.laserboat.laser_dish.y); _local5 = MovieClip(myClip.laserboat).localToGlobal(_local5); _local5 = parent.globalToLocal(_local5); laserGraphic.x = _local5.x; laserGraphic.y = _local5.y; _local6 = new Point((_local3.x - laserGraphic.x), (_local3.y - laserGraphic.y)); laserGraphic.rotation = (Math.atan((_local6.y / _local6.x)) * (180 / Math.PI)); if (_local6.x < 0){ laserGraphic.rotation = (laserGraphic.rotation + 180); }; myClip.laserboat.laser_dish.rotation = laserGraphic.rotation; if (flipped){ myClip.laserboat.laser_dish.rotation = (180 - myClip.laserboat.laser_dish.rotation); }; myClip.laserboat.laser_dish.gotoAndStop(2); REAL_laserGraphic.rotation = myClip.laserboat.laser_dish.rotation; REAL_laserGraphic.visible = true; }; }; }; y = (y - water.y); } public function stopLaser(_arg1:TimerEvent):void{ laserOn = false; laseringTimer.stop(); if (laserGraphic.parent != null){ laserGraphic.parent.removeChild(laserGraphic); }; } } }//package
Section 82
//Main (Main) package { import flash.display.*; import flash.events.*; import flash.geom.*; import gs.*; import General.*; import flash.media.*; import flash.utils.*; import flash.text.*; import flash.net.*; public class Main extends Sprite { public var foodFishSpawnTimer; public var foodFishSpawnCounter:int; public var cutsceneIntro:MovieClip; public var foodFishTotal:int;// = 12 public var circ:Sprite; public var targets:Array; public var cutsceneBoto:Boto; public var armorIntroClip:MovieClip; public var waveMgr:WaveManager; public var bomberAccum:Number;// = 0 public var autofireAccum:Number;// = 0 public var lastTime:int; public var accumulator:int; public var boatSpawnCounter:int; public var mineAccum:Number;// = 0 public var FOOD_FISH_SPAWN_RATE:int;// = 200 public var BOAT_SPAWN_RATE:int;// = 200 public var kongAPI:KongAPI; public var p1:Point; public var mainMenu:MainMenu; public var input:Input; public var fpsCounter:FpsCounter; public var boatSpawnTimer:Timer; public static var GAME_MANAGER:GameManager; public static var mineFreq:Number = 0; public static var autofireFreq:Number = 0; public static var playing:Boolean = false; public static var FOOD_FISH_COUNT:int = 0; public static var xmlLoader:URLLoader; public static var TICKABLES:Array; public static var currExplosions:int = 0; public static var MAX_EXPLOSIONS:int = 3; public static var piranhaUsed:int = 0; public static var snacks:int = 0; public static var bomberFreq:Number = 0; public static var topWave:int = 0; public static var paused:Boolean = false; public static var WATER:Water; public static var SCROLLER:ScrollScreen; public static var powerupsOut:int = 0; public static var BOUNDS:Point = new Point(4000, 1000); public function Main(){ BOAT_SPAWN_RATE = 200; FOOD_FISH_SPAWN_RATE = 200; foodFishTotal = 12; foodFishSpawnTimer = new Timer(1000); mineAccum = 0; bomberAccum = 0; autofireAccum = 0; super(); addEventListener(Event.ADDED_TO_STAGE, onAdded); } public function introTick():void{ cutsceneBoto.x = cutsceneIntro.fishPoint.x; cutsceneBoto.y = cutsceneIntro.fishPoint.y; if (((((!((cutsceneIntro == null))) && (!((cutsceneIntro.parent == null))))) && ((cutsceneIntro.currentFrame == cutsceneIntro.totalFrames)))){ skipIntro(null); }; } public function skipIntro(_arg1:MouseEvent):void{ var _local2:Array; var _local3:Fish; if (cutsceneIntro != null){ cutsceneIntro.stop(); if (cutsceneIntro.parent != null){ cutsceneIntro.parent.removeChild(cutsceneIntro); }; }; cutsceneIntro = null; cutsceneBoto = null; mainMenu = new MainMenu(); addChild(mainMenu); SCROLLER.SCROLL_SPEED = 25; SCROLLER.idleTarget = new Point(-400, 0); _local2 = Fish.FISHES; for each (_local3 in _local2) { _local3.kill(); }; } public function spawnBoat():void{ var _local1:Number; var _local2:int; var _local3:Array; var _local4:Boat; var _local5:Mine; var _local6:Powerup; var _local7:Powerup; targets = Fish.TARGETS; if (targets.length <= 0){ if (waveMgr != null){ _local3 = waveMgr.nextWave(WATER); for each (_local4 in _local3) { SCROLLER.addBoat(_local4); targets.push(_local4); }; }; }; mineAccum = (mineAccum + mineFreq); _local1 = 0; _local2 = 0; while (_local2 < mineAccum) { _local5 = new Mine(); SCROLLER.addChild(_local5); _local5.x = (Math.random() * BOUNDS.x); _local5.y = BOUNDS.y; _local1++; _local2++; }; mineAccum = (mineAccum - _local1); bomberAccum = (bomberAccum + bomberFreq); if ((((bomberAccum >= 1)) && ((powerupsOut == 0)))){ _local6 = new Powerup("bomberMode"); SCROLLER.addChild(_local6); _local6.x = (Math.random() * BOUNDS.x); _local6.y = 60; bomberAccum = 0; powerupsOut++; }; autofireAccum = (autofireAccum + autofireFreq); if ((((autofireAccum >= 1)) && ((powerupsOut == 0)))){ _local7 = new Powerup("autofire"); SCROLLER.addChild(_local7); _local7.x = (Math.random() * BOUNDS.x); _local7.y = 60; autofireAccum = 0; powerupsOut++; }; } public function spawnFoodFish():void{ var _local1:int; var _local2:FoodFish; if (FOOD_FISH_COUNT < foodFishTotal){ _local1 = 0; while (_local1 < 1) { _local2 = new FoodSnake(); _local2.x = Math.random(); _local2.y = (((Math.random() * 400) + WATER.y) + 200); if (_local2.x < 0.5){ _local2.x = 10; _local2.idleTargetDir = 1; _local2.idleTarget = new Point((_local2.x + 200), _local2.y); } else { _local2.x = (BOUNDS.x - 10); _local2.idleTargetDir = -1; _local2.idleTarget = new Point((_local2.x - 200), _local2.y); }; SCROLLER.addChild(_local2); FOOD_FISH_COUNT++; _local1++; }; _local1 = 0; while (_local1 < 3) { _local2 = new FoodFish(); _local2.x = Math.random(); _local2.y = (((Math.random() * 400) + WATER.y) + 200); if (_local2.x < 0.5){ _local2.x = 10; _local2.idleTargetDir = 1; _local2.idleTarget = new Point((_local2.x + 200), _local2.y); } else { _local2.x = (BOUNDS.x - 10); _local2.idleTargetDir = -1; _local2.idleTarget = new Point((_local2.x - 200), _local2.y); }; SCROLLER.addChild(_local2); FOOD_FISH_COUNT++; _local1++; }; }; } public function armorIntro():void{ var gotoArmor:Function; gotoArmor = function (_arg1:MouseEvent){ navigateToURL(new URLRequest("http://Armorgames.com")); }; armorIntroClip = new Assets.cutscene_armor(); addChild(armorIntroClip); TweenLite.to(armorIntroClip.anim, armorIntroClip.anim.totalFrames, {useFrames:true, onComplete:doIntro}); armorIntroClip.addEventListener(MouseEvent.CLICK, gotoArmor, false, 0, true); } public function enterFrame(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:Tickable; var _local5:int; if (((!((stage.quality == "HIGH"))) && (GAME_MANAGER.uiScreen.blendOverlay.visible))){ GAME_MANAGER.uiScreen.blendOverlay.visible = false; } else { if ((((stage.quality == "HIGH")) && (!(GAME_MANAGER.uiScreen.blendOverlay.visible)))){ GAME_MANAGER.uiScreen.blendOverlay.visible = true; }; }; stage.focus = stage; if (cutsceneIntro != null){ introTick(); }; if (Input.isKeyDown(27)){ if (!paused){ paused = true; addChild(new OptionsScreen()); }; }; if (((!(paused)) && (playing))){ GAME_MANAGER.tick(); boatSpawnCounter--; foodFishSpawnCounter--; if (boatSpawnCounter <= 0){ spawnBoat(); boatSpawnCounter = BOAT_SPAWN_RATE; }; if (foodFishSpawnCounter <= 0){ spawnFoodFish(); foodFishSpawnCounter = FOOD_FISH_SPAWN_RATE; }; }; fpsCounter.update(); _local2 = getTimer(); _local3 = (_local2 - lastTime); lastTime = _local2; accumulator = (accumulator + _local3); while (accumulator > 10) { accumulator = (accumulator - 10); for each (_local4 in TICKABLES) { if (((!(paused)) || ((_local4 is OptionsScreen)))){ if (!_local4.killed()){ _local4.tick(); }; }; }; _local5 = 0; while (_local5 < TICKABLES.length) { if (Tickable(TICKABLES[_local5]).killed()){ if (_local5 == (TICKABLES.length - 1)){ TICKABLES.pop(); } else { TICKABLES[_local5] = TICKABLES.pop(); _local5--; }; }; _local5++; }; }; } public function endGame():void{ var _local1:Tickable; piranhaUsed = 0; snacks = 0; topWave = 0; GAME_MANAGER.uiScreen.blendOverlay.alpha = 0; GAME_MANAGER.uiScreen.visible = false; playing = false; Fish.boto.visible = false; SCROLLER.target = null; for each (_local1 in TICKABLES) { if ((_local1 is Fish)){ Fish(_local1).kill(); }; if ((_local1 is FoodFish)){ FoodFish(_local1).kill(); }; if ((_local1 is BotoCollider)){ BotoCollider(_local1).kill(); }; if ((_local1 is Target)){ Target(_local1).kill(); }; if ((_local1 is Boto)){ Boto(_local1).kill(); }; }; waveMgr.currWave = 0; addChild(new ScoreScreen()); GAME_MANAGER.score = 0; GAME_MANAGER.addScore(0); GAME_MANAGER.mult = 1; GAME_MANAGER.multCounter = 0; GAME_MANAGER.health = 100; GAME_MANAGER.getHit(0); } public function onAdded(_arg1:Event):void{ stage.frameRate = 30; fpsCounter = new FpsCounter(); input = new Input(Sprite(parent)); TICKABLES = new Array(); targets = new Array(); SCROLLER = new ScrollScreen(); addChild(SCROLLER); WATER = new Water(); WATER.y = 200; SCROLLER.addChild(WATER); WATER.scroller = SCROLLER; GAME_MANAGER = new GameManager(); addChild(GAME_MANAGER); GAME_MANAGER.uiScreen.visible = false; Pollution.water = WATER; waveMgr = new WaveManager(WavesConfig.MY_XML); addEventListener(Event.ENTER_FRAME, enterFrame); } public function doIntro():void{ var _local1:int; var _local2:Fish; if (((!((armorIntroClip == null))) && (!((armorIntroClip.parent == null))))){ armorIntroClip.anim.stop(); armorIntroClip.parent.removeChild(armorIntroClip); armorIntroClip = null; }; SoundMgr.playSound("music_underwater"); cutsceneIntro = new Assets.cutscene_intro(); addChild(cutsceneIntro); cutsceneIntro.fishPoint.visible = false; cutsceneIntro.addEventListener(MouseEvent.CLICK, skipIntro); SCROLLER.idleTarget = new Point(-140, -525); SCROLLER.SCROLL_SPEED = 1; cutsceneBoto = new Boto(); cutsceneBoto.setWater(WATER); Util.ArrayRemoveItem(cutsceneBoto, TICKABLES); _local1 = 0; while (_local1 < 30) { _local2 = new Fish(); _local2.x = (1000 + (Math.random() * 100)); _local2.y = (250 + (Math.random() * 100)); cutsceneIntro.addChild(_local2); _local1++; }; } public function startNewGame():void{ var _local1:Boto; GAME_MANAGER.uiScreen.visible = true; _local1 = new Boto(); _local1.x = 1000; _local1.y = 200; SCROLLER.waterTopBase.addChild(_local1); SCROLLER.setTarget(_local1, new Point(350, 225)); lastTime = getTimer(); accumulator = 0; playing = true; boatSpawnCounter = 200; } public static function spawnWaveMsg(_arg1:String):void{ var _local2:Particle; _local2 = new Particle(200, new Assets.waveMessage(), true); _local2.myClip.fuckerHead.textBox.text = ("\n" + _arg1); WATER.stage.addChild(_local2); } } }//package
Section 83
//MainMenu (MainMenu) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.net.*; public class MainMenu extends Sprite implements Tickable { public var myClip:MovieClip; public var fadingIn:Boolean;// = false private var fading:Boolean;// = false private var rest:Number;// = 200 public function MainMenu(){ rest = 200; fading = false; fadingIn = false; super(); myClip = new Assets.mainMenu(); addChild(myClip); myClip.y = -200; Main.TICKABLES.push(this); SoundMgr.playSound("music_menu"); myClip.btn_start.addEventListener(MouseEvent.CLICK, start); myClip.btn_options.addEventListener(MouseEvent.CLICK, options); myClip.btn_help.addEventListener(MouseEvent.CLICK, help); myClip.btn_armorLink.addEventListener(MouseEvent.CLICK, armorLink); myClip.btn_armorBlog.addEventListener(MouseEvent.CLICK, armorBlog); myClip.btn_intuition.addEventListener(MouseEvent.CLICK, intuition); } public function help(_arg1:MouseEvent):void{ if (parent != null){ parent.addChild(new HelpScreen()); }; fading = true; mouseEnabled = false; mouseChildren = false; } public function intuition(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.intuitiongames.com")); } public function start(_arg1:MouseEvent):void{ if (Main.paused){ Main.paused = false; } else { Main(parent).startNewGame(); }; fading = true; mouseEnabled = false; mouseChildren = false; } public function killed():Boolean{ return (false); } public function armorBlog(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://Armorblog.com")); } public function tick():void{ if (myClip.y < rest){ myClip.y = (myClip.y + ((myClip.y + 201) / 10)); if (myClip.y >= rest){ myClip.y = rest; Main.SCROLLER.shakey(100); }; }; if (fading){ alpha = (alpha - 0.02); if (alpha <= 0.02){ visible = false; fading = false; }; } else { if (fadingIn){ visible = true; mouseEnabled = true; mouseChildren = true; alpha = (alpha + 0.02); if (alpha >= 1){ fadingIn = false; }; }; }; } public function options(_arg1:MouseEvent):void{ if (parent != null){ parent.addChild(new OptionsScreen()); }; fading = true; mouseEnabled = false; mouseChildren = false; } public function setBounds(_arg1:Point):void{ } public function armorLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://Armorgames.com")); } } }//package
Section 84
//Mine (Mine) package { import flash.display.*; import flash.geom.*; public class Mine extends BotoCollider { public var lifespan:int;// = 750 public var targetDepth:Number; public var didDamage:Boolean;// = false public var inverseDamage:Number;// = 5 public function Mine(){ lifespan = 750; didDamage = false; inverseDamage = 5; super(); myClip = new Assets.mineFloat(); addChild(myClip); myClip.mineSplode.gotoAndStop(1); targetDepth = (((Math.random() * 500) + Fish.water.y) + 100); } override public function collide():void{ var _local1:Point; var _local2:Point; var _local3:Point; var _local4:Number; if (myClip.mineSplode.currentFrame == 1){ myClip.mineSplode.gotoAndPlay(8); }; if ((((myClip.mineSplode.currentFrame > 11)) && (!(didDamage)))){ didDamage = true; _local1 = new Point(((Fish.boto.x - x) + centerOff.x), ((Fish.boto.y - y) + centerOff.y)); _local2 = new Point((_local1.x / (Math.abs(_local1.x) + Math.abs(_local1.y))), (_local1.y / (Math.abs(_local1.x) + Math.abs(_local1.y)))); _local3 = new Point(((200 / _local1.length) * _local2.x), ((200 / _local1.length) * _local2.y)); if (_local3.x > 5){ _local3.x = 5; }; if (_local3.x < -5){ _local3.x = -5; }; if (_local3.y > 5){ _local3.y = 5; }; if (_local3.y < -5){ _local3.y = -5; }; Fish.boto.shockInertia.x = (Fish.boto.shockInertia.x + _local3.x); Fish.boto.shockInertia.y = (Fish.boto.shockInertia.y + _local3.y); _local4 = Math.floor((20 * (_local3.length / inverseDamage))); trace(((_local3.length + " ") + _local4)); if (_local4 > 20){ _local4 = 20; }; Main.GAME_MANAGER.getHit(_local4); if (_local3.length > 100){ trace("jesus"); }; }; } override public function kill():void{ super.kill(); } override public function tick():void{ var _local1:Point; centerOff.x = myClip.mineSplode.x; centerOff.y = myClip.mineSplode.y; y = (y + ((targetDepth - y) / 100)); if (myClip.mineSplode.currentFrame == myClip.mineSplode.totalFrames){ kill(); }; lifespan--; if (lifespan < 0){ if (myClip.mineSplode.currentFrame == 1){ myClip.mineSplode.play(); }; }; if (myClip.mineSplode.currentFrame == 11){ _local1 = new Point(((x + ScrollScreen(parent).x) - ScrollScreen(parent).centerOffset.x), ((y + ScrollScreen(parent).y) - ScrollScreen(parent).centerOffset.y)); if (_local1.length < 700){ SoundMgr.playSound("depthCharge"); }; }; } } }//package
Section 85
//mineFloat (mineFloat) package { import flash.display.*; public dynamic class mineFloat extends MovieClip { public var mineSplode:MovieClip; } }//package
Section 86
//options (options) package { import flash.display.*; public dynamic class options extends SimpleButton { } }//package
Section 87
//optionsScreen (optionsScreen) package { import flash.display.*; public dynamic class optionsScreen extends MovieClip { public var btn_low:SimpleButton; public var btn_off:SimpleButton; public var btn_on:SimpleButton; public var btn_high:SimpleButton; public var btn_medium:SimpleButton; public var btn_back:SimpleButton; } }//package
Section 88
//OptionsScreen (OptionsScreen) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; import flash.media.*; import flash.net.*; public class OptionsScreen extends Sprite implements Tickable { public var myClip:MovieClip; public function OptionsScreen(){ if (Main.paused){ myClip = new Assets.pauseScreen(); addChild(myClip); myClip.btn_restart.addEventListener(MouseEvent.CLICK, restart); myClip.btn_armorLink.addEventListener(MouseEvent.CLICK, armorLink); } else { myClip = new Assets.optionsScreen(); addChild(myClip); }; myClip.btn_on.addEventListener(MouseEvent.CLICK, soundOn); myClip.btn_off.addEventListener(MouseEvent.CLICK, soundOff); myClip.btn_high.addEventListener(MouseEvent.CLICK, highDetail); myClip.btn_medium.addEventListener(MouseEvent.CLICK, mediumDetail); myClip.btn_low.addEventListener(MouseEvent.CLICK, lowDetail); myClip.btn_back.addEventListener(MouseEvent.CLICK, back); Main.TICKABLES.push(this); SoundMgr.playSound("music_menu"); alpha = 0; } public function restart(_arg1:MouseEvent):void{ Main.paused = false; Main.GAME_MANAGER.getHit(1000); kill(); } public function mediumDetail(_arg1:MouseEvent):void{ stage.quality = StageQuality.MEDIUM; } public function soundOn(_arg1:MouseEvent):void{ SoundMixer.soundTransform = new SoundTransform(1); } public function kill():void{ if (parent != null){ parent.removeChild(this); }; } public function killed():Boolean{ return ((parent == null)); } public function highDetail(_arg1:MouseEvent):void{ stage.quality = StageQuality.HIGH; } public function tick():void{ if (alpha < 1){ alpha = (alpha + 0.02); }; myClip.btn_on.alpha = 1; myClip.btn_off.alpha = 1; myClip.btn_high.alpha = 1; myClip.btn_medium.alpha = 1; myClip.btn_low.alpha = 1; if (SoundMixer.soundTransform.volume == 1){ myClip.btn_on.alpha = 0.25; } else { myClip.btn_off.alpha = 0.25; }; if (stage.quality == "HIGH"){ myClip.btn_high.alpha = 0.25; } else { if (stage.quality == "MEDIUM"){ myClip.btn_medium.alpha = 0.25; } else { myClip.btn_low.alpha = 0.25; }; }; } public function setBounds(_arg1:Point):void{ } public function lowDetail(_arg1:MouseEvent):void{ stage.quality = StageQuality.LOW; } public function armorLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://Armorgames.com")); } public function soundOff(_arg1:MouseEvent):void{ SoundMixer.soundTransform = new SoundTransform(0); } public function back(_arg1:MouseEvent):void{ if (Main.paused){ Main.paused = false; } else { Main(parent).mainMenu.fadingIn = true; }; kill(); } } }//package
Section 89
//Particle (Particle) package { import flash.display.*; import flash.geom.*; public class Particle extends Sprite implements Tickable { public var myClip:MovieClip; public var lifespan:int; public var fadeOnDead:Boolean; public var inertia:Point; public var age:int; public function Particle(_arg1:int, _arg2:MovieClip, _arg3:Boolean=false){ myClip = _arg2; addChild(myClip); lifespan = _arg1; inertia = new Point(); fadeOnDead = _arg3; age = 0; Main.TICKABLES.push(this); } public function killed():Boolean{ return ((lifespan < 0)); } public function tick():void{ x = (x + inertia.x); y = (y + inertia.y); age++; if (age > lifespan){ if (parent != null){ parent.removeChild(this); }; }; if (((fadeOnDead) && ((age > (lifespan * 0.8))))){ alpha = ((lifespan - age) / (lifespan * 0.2)); }; } public function setBounds(_arg1:Point):void{ } } }//package
Section 90
//pauseScreen (pauseScreen) package { import flash.display.*; public dynamic class pauseScreen extends MovieClip { public var btn_low:SimpleButton; public var btn_off:SimpleButton; public var btn_restart:SimpleButton; public var btn_on:SimpleButton; public var btn_high:SimpleButton; public var btn_armorLink:SimpleButton; public var btn_medium:SimpleButton; public var btn_back:SimpleButton; } }//package
Section 91
//piranha (piranha) package { import flash.display.*; public dynamic class piranha extends MovieClip { public function piranha(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 92
//Pollution (Pollution) package { import flash.geom.*; public class Pollution extends BotoCollider { public var hitTimer:int;// = 0 public var inertia:Point; public var alphaCounter:int; public static var water:Water; public function Pollution(){ hitTimer = 0; super(); myClip = new Assets.pollution_particle(); addChild(myClip); myClip.rotation = (Math.random() * 360); inertia = new Point(0, 1); } override public function collide():void{ var _local1:Number; if (hitTimer < 0){ _local1 = 2; Main.GAME_MANAGER.getHit((Math.round((alpha / 0.2)) * _local1)); hitTimer = 30; }; } override public function tick():void{ super.tick(); x = (x + inertia.x); y = (y + inertia.y); if (x < 0){ kill(); }; if (x > bounds.x){ kill(); }; if (y > bounds.y){ kill(); }; hitTimer--; alphaCounter--; if (alphaCounter < 0){ alphaCounter = 10; alpha = (alpha - 0.02); myClip.scaleX = (myClip.scaleY = (myClip.scaleY + 0.03)); if (alpha <= 0.01){ kill(); }; }; } } }//package
Section 93
//pollution_particle (pollution_particle) package { import flash.display.*; public dynamic class pollution_particle extends MovieClip { } }//package
Section 94
//Powerup (Powerup) package { public class Powerup extends BotoCollider { public var type:String; public function Powerup(_arg1:String){ type = _arg1; if (type == "autofire"){ myClip = new Assets.powerup_autofire(); } else { if (type == "bomberMode"){ myClip = new Assets.powerup_bombermode(); }; }; addChild(myClip); } override public function collide():void{ super.collide(); trace("collidsion"); if (type == "autofire"){ Fish.boto.powerup_autofire(); } else { if (type == "bomberMode"){ Fish.boto.powerup_bomber(); }; }; kill(); } override public function kill():void{ super.kill(); Main.powerupsOut--; } } }//package
Section 95
//preloader_mc (preloader_mc) package { import flash.display.*; public dynamic class preloader_mc extends MovieClip { public var bar:MovieClip; } }//package
Section 96
//scoreScreen (scoreScreen) package { import flash.display.*; import flash.text.*; public dynamic class scoreScreen extends MovieClip { public var btn_restart:SimpleButton; public var btn_menu:SimpleButton; public var score:TextField; } }//package
Section 97
//ScoreScreen (ScoreScreen) package { import flash.display.*; import flash.events.*; import flash.geom.*; public class ScoreScreen extends Sprite implements Tickable { public var myClip:MovieClip; public function ScoreScreen(){ var _local1:*; super(); myClip = new Assets.scoreScreen(); addChild(myClip); _local1 = Main.GAME_MANAGER.score; myClip.score.text = ("\n" + Main.GAME_MANAGER.score); myClip.btn_menu.addEventListener(MouseEvent.CLICK, toMenu); myClip.btn_restart.addEventListener(MouseEvent.CLICK, retry); alpha = 0; Main.TICKABLES.push(this); } public function kill():void{ if (parent != null){ parent.removeChild(this); }; } public function killed():Boolean{ return ((parent == null)); } public function tick():void{ if (alpha < 1){ alpha = (alpha + 0.02); }; } public function toMenu(_arg1:MouseEvent):void{ Main(parent).mainMenu.fadingIn = true; kill(); } public function retry(_arg1:MouseEvent):void{ Main(parent).startNewGame(); kill(); } public function setBounds(_arg1:Point):void{ } } }//package
Section 98
//ScrollScreen (ScrollScreen) package { import flash.display.*; import flash.geom.*; public class ScrollScreen extends Sprite implements Tickable { public var shakeyness:Number;// = 0 public var SCROLL_SPEED;// = 25 public var shakeyOff:Point; public var centerOffset:Point; public var target:Boto; public var idleTarget:Point; public var cloudBase:Sprite; public var waterTopBase:Sprite; public var bounds:Point; public var clouds:Array; public var killFlag:Boolean;// = false public function ScrollScreen(){ var _local1:int; var _local2:int; var _local3:MovieClip; SCROLL_SPEED = 25; bounds = new Point(4000, 2000); shakeyness = 0; killFlag = false; super(); Main.TICKABLES.push(this); setBounds(Main.BOUNDS); waterTopBase = new Sprite(); _local1 = 8; clouds = new Array(); cloudBase = new Sprite(); _local2 = 0; while (_local2 < _local1) { _local3 = new Assets.cloud1(); if (_local2 > (_local1 / 2)){ _local3 = new Assets.cloud2(); }; _local3.x = ((Math.random() * Main.BOUNDS.x) * 0.5); _local3.y = ((Math.random() * 100) - 100); _local3.scaleX = (_local3.scaleY = ((Math.random() * 1) + 1)); cloudBase.addChild(_local3); clouds.push(_local3); _local2++; }; shakeyOff = new Point(); idleTarget = new Point(-400, 0); } public function killed():Boolean{ return (killFlag); } public function shakey(_arg1:Number):void{ shakeyness = _arg1; } public function addBoat(_arg1:Boat):void{ var _local2:int; if ((_arg1 is LaserBoat)){ Main.WATER.addBoat(_arg1); } else { _local2 = getChildIndex(waterTopBase); addChildAt(_arg1, _local2); }; } public function setTarget(_arg1:Boto, _arg2:Point):void{ target = _arg1; centerOffset = _arg2; } public function tick():void{ var _local1:MovieClip; var _local2:Point; x = (x + shakeyOff.x); y = (y + shakeyOff.y); shakeyness = (shakeyness * 0.97); shakeyOff.x = (((Math.random() * shakeyness) * 2) - shakeyness); shakeyOff.y = (((Math.random() * shakeyness) * 2) - shakeyness); if (target != null){ _local2 = new Point(); _local2.x = -(((target.x - centerOffset.x) + target.camTarg.x)); _local2.y = -(((target.y - centerOffset.y) + target.camTarg.y)); x = (x + ((_local2.x - x) / SCROLL_SPEED)); y = (y + ((_local2.y - y) / SCROLL_SPEED)); } else { x = (x + ((idleTarget.x - x) / SCROLL_SPEED)); y = (y + ((idleTarget.y - y) / SCROLL_SPEED)); }; if (x > 0){ x = 0; }; if (x < (-(bounds.x) + stage.stageWidth)){ x = (-(bounds.x) + stage.stageWidth); }; if (y < (-(bounds.y) + stage.stageHeight)){ y = (-(bounds.y) + stage.stageHeight); }; if (waterTopBase.parent == null){ addChild(waterTopBase); }; if (cloudBase.parent == null){ parent.addChildAt(cloudBase, 0); }; cloudBase.x = (x * 0.5); cloudBase.y = (y * 0.5); for each (_local1 in clouds) { _local1.x = (_local1.x + 0.5); if (_local1.x > (Main.BOUNDS.x * 0.5)){ _local1.x = -(_local1.width); }; }; } public function setBounds(_arg1:Point):void{ bounds = _arg1; } } }//package
Section 99
//side (side) package { import flash.display.*; public dynamic class side extends MovieClip { } }//package
Section 100
//snake (snake) package { import flash.display.*; public dynamic class snake extends MovieClip { } }//package
Section 101
//SoundEffect (SoundEffect) package { import flash.events.*; import flash.system.*; import General.*; import flash.media.*; import flash.utils.*; public class SoundEffect { public var lastTime:int; public var loop:Boolean; public var retrigger:int; public var handle:String; public var cl:Class; public var channels:Array; public var limit:int; public function SoundEffect(_arg1:String, _arg2:ApplicationDomain, _arg3:int, _arg4:int, _arg5:Boolean=false){ handle = _arg1; cl = Class(_arg2.getDefinition(handle)); retrigger = _arg3; limit = _arg4; loop = _arg5; channels = new Array(); lastTime = -1000; } public function stop():void{ var _local1:SoundChannel; for each (_local1 in channels) { _local1.stop(); }; channels = new Array(); } public function instanceComplete(_arg1:Event):void{ var _local2:int; _local2 = 0; while (_local2 < channels.length) { if (channels[_local2] == _arg1.currentTarget){ Util.ArrayRemoveItem(_arg1.currentTarget, channels); return; }; _local2++; }; } public function play(_arg1:Boolean=false):void{ var _local2:Sound; var _local3:SoundChannel; if (((((getTimer() - lastTime) > retrigger)) && ((channels.length < limit)))){ lastTime = getTimer(); _local2 = new cl(); if (((!(_arg1)) && (!(loop)))){ _local3 = _local2.play(); } else { _local3 = _local2.play(0, 1000); }; if (_local3 == null){ return; }; _local3.addEventListener(Event.SOUND_COMPLETE, instanceComplete); channels.push(_local3); }; } } }//package
Section 102
//SoundMgr (SoundMgr) package { import flash.display.*; import flash.system.*; import General.*; import flash.media.*; public class SoundMgr { public static var ad:ApplicationDomain; public static var sounds:Array; public static var maxInstance:int = 8; public static var musicChannel:SoundChannel; public static function initialize(_arg1:LoaderInfo){ ad = _arg1.applicationDomain; sounds = new Array(); sounds["botoHit"] = new SoundEffect("boto_hurt", ad, 10, 10); sounds["boom1"] = new SoundEffect("cannon_fire1", ad, 30, 10); sounds["boom2"] = new SoundEffect("cannon_fire2", ad, 30, 10); sounds["boom3"] = new SoundEffect("explosion_large", ad, 30, 10); sounds["boom4"] = new SoundEffect("explosion_medium1", ad, 30, 10); sounds["boom5"] = new SoundEffect("explosion_medium2", ad, 30, 10); sounds["music_menu"] = new SoundEffect("float_like_smoke_B", ad, 10, 10); sounds["music_abovewater"] = new SoundEffect("soundtrack_abovewater", ad, 10, 10); sounds["music_underwater"] = new SoundEffect("soundtrack_underwater", ad, 10, 10); sounds["splash1"] = new SoundEffect("splash1bbb", ad, 10, 10); sounds["splash2"] = new SoundEffect("splash2bbb", ad, 10, 10); sounds["splash3"] = new SoundEffect("splash3bbb", ad, 10, 10); sounds["barrletHit"] = new SoundEffect("barrelHit.wav", ad, 100, 10); sounds["botoEat"] = new SoundEffect("botoEat.wav", ad, 10, 10); sounds["depthCharge"] = new SoundEffect("depthCharge.wav", ad, 10, 10); sounds["fishImpact"] = new SoundEffect("fishImpact.wav", ad, 5, 10); sounds["flap"] = new SoundEffect("flap.wav", ad, 10, 10, true); sounds["laserLoop"] = new SoundEffect("laserLoop.wav", ad, 10, 10); sounds["machineGunLoop"] = new SoundEffect("machineGunLoop.wav", ad, 66, 3, true); sounds["torpedoLaunch"] = new SoundEffect("torpedoLaunch.wav", ad, 10, 10); musicChannel = new SoundChannel(); } public static function playSound(_arg1:String):void{ if (sounds[_arg1] != null){ if (_arg1.match("music")){ sounds["music_menu"].stop(); sounds["music_abovewater"].stop(); sounds["music_underwater"].stop(); sounds[_arg1].play(true); } else { sounds[_arg1].play(); }; }; } public static function stopSound(_arg1:String):void{ if (sounds[_arg1] != null){ sounds[_arg1].stop(); }; } } }//package
Section 103
//soundtrack_abovewater (soundtrack_abovewater) package { import flash.media.*; public dynamic class soundtrack_abovewater extends Sound { } }//package
Section 104
//soundtrack_underwater (soundtrack_underwater) package { import flash.media.*; public dynamic class soundtrack_underwater extends Sound { } }//package
Section 105
//SpeedBoat (SpeedBoat) package { public class SpeedBoat extends Boat { public var SHOOT_TIME:int;// = 150 public var POLLUTE_SCALE:Number;// = 1 public var shootTimer:int; public function SpeedBoat(){ SHOOT_TIME = 150; shootTimer = SHOOT_TIME; POLLUTE_SCALE = 1; super(); myClip = new Assets.enemy_speedboat(); addChild(myClip); initCollision(); SPEED = 2.5; killScore = 40; hp = 200; shootTimer = int((SHOOT_TIME * Math.random())); } override public function collision(_arg1):void{ super.collision(_arg1); } override public function tick():void{ var _local1:Pollution; super.tick(); shootTimer--; if (shootTimer <= 0){ shootTimer = SHOOT_TIME; _local1 = new Pollution(); if (parent != null){ parent.addChild(_local1); }; _local1.x = (x + myClip.x); _local1.y = (y + myClip.y); _local1.scaleX = (_local1.scaleY = POLLUTE_SCALE); }; } } }//package
Section 106
//Splash (Splash) package { public class Splash extends TimedParticle { public function Splash(){ myClip = new Assets.splash1(); addChild(myClip); } } }//package
Section 107
//splash1 (splash1) package { import flash.display.*; public dynamic class splash1 extends MovieClip { public function splash1(){ addFrameScript(25, frame26); } function frame26(){ stop(); } } }//package
Section 108
//splash1bbb (splash1bbb) package { import flash.media.*; public dynamic class splash1bbb extends Sound { } }//package
Section 109
//splash2bbb (splash2bbb) package { import flash.media.*; public dynamic class splash2bbb extends Sound { } }//package
Section 110
//splash3bbb (splash3bbb) package { import flash.media.*; public dynamic class splash3bbb extends Sound { } }//package
Section 111
//start (start) package { import flash.display.*; public dynamic class start extends SimpleButton { } }//package
Section 112
//Target (Target) package { import flash.display.*; import flash.geom.*; import General.*; public class Target extends Sprite implements Tickable { public var hp:Number;// = 100 public var water:Water; public var myClip:MovieClip; public var flipped:Boolean;// = false public var bounds:Point; public var killScore:int;// = 10 public var collB:Point; public var killFlag:Boolean;// = false public static var Y_MIN:int = 2147483647; public static var Y_MAX:int = -2147483648; public function Target(){ hp = 100; bounds = new Point(4000, 2000); killScore = 10; flipped = false; killFlag = false; super(); Fish.TARGETS.push(this); Main.TICKABLES.push(this); setBounds(Main.BOUNDS); } public function initCollision():void{ collB = new Point(width, height); } public function collision(_arg1):void{ } public function kill():void{ parent.removeChild(this); Util.ArrayRemoveItem(this, Fish.TARGETS); killFlag = true; } public function killed():Boolean{ return (killFlag); } public function flipX():void{ myClip.scaleX = (myClip.scaleX * -1); flipped = !(flipped); if (flipped){ myClip.x = collB.x; } else { myClip.x = 0; }; } public function tick():void{ var _local1:Number; var _local2:Particle; if (hp <= 0){ _local1 = Main.GAME_MANAGER.addScore(killScore); if ((((_local1 > 0)) && (!((parent == null))))){ _local2 = new Particle(700, new Assets.bonus_bubble()); _local2.myClip.animate.bonus_text.text = ("+" + _local1); _local2.inertia.y = -2; _local2.x = x; _local2.y = y; parent.addChild(_local2); }; kill(); }; } public function setBounds(_arg1:Point):void{ bounds = _arg1; } public function setWater(_arg1:Water):void{ water = _arg1; y = water.y; if (Y_MAX < (y + myClip.height)){ Y_MAX = (y + myClip.height); }; if (Y_MIN > (y - myClip.height)){ Y_MIN = (y - myClip.height); }; } } }//package
Section 113
//terrain_bg (terrain_bg) package { import flash.display.*; public dynamic class terrain_bg extends MovieClip { } }//package
Section 114
//Tickable (Tickable) package { import flash.geom.*; public interface Tickable { function tick():void; function setBounds(_arg1:Point):void; function killed():Boolean; } }//package
Section 115
//timeBoost (timeBoost) package { import flash.display.*; public dynamic class timeBoost extends MovieClip { } }//package
Section 116
//TimedParticle (TimedParticle) package { import flash.display.*; import flash.events.*; import flash.utils.*; public class TimedParticle extends Sprite { public var myClip:MovieClip; public var timer:Timer; public function TimedParticle(){ myClip = new MovieClip(); timer = new Timer(50); timer.addEventListener(TimerEvent.TIMER, tick); timer.start(); } public function kill():void{ if (parent != null){ parent.removeChild(this); }; timer.stop(); timer.removeEventListener(TimerEvent.TIMER, tick); timer = null; } public function tick(_arg1:Event):void{ if (myClip.currentFrame == myClip.totalFrames){ kill(); }; } } }//package
Section 117
//titleScreen (titleScreen) package { import flash.display.*; public dynamic class titleScreen extends MovieClip { public var btn_intuition:SimpleButton; public var btn_help:help; public var btn_armorBlog:SimpleButton; public var btn_options:options; public var btn_armorLink:SimpleButton; public var btn_start:start; } }//package
Section 118
//Torpedo (Torpedo) package { import flash.geom.*; public class Torpedo extends BotoCollider { public var water:Water; public var DECELERATION:Number;// = 0.1 public var waterSpeed:Number;// = 1 public var lifespan:int;// = 600 public var flipped:Boolean;// = false public var engage:int;// = 60 public var inertia:Point; public var safety:int;// = 120 public var ACCLERATION:Number;// = 0.005 public var inWater:Boolean;// = false public function Torpedo(){ waterSpeed = 1; ACCLERATION = 0.005; DECELERATION = 0.1; lifespan = 600; safety = 120; engage = 60; flipped = false; inWater = false; super(); myClip = new Assets.torpedo(); addChild(myClip); inertia = new Point(); } override public function collide():void{ if (parent != null){ parent.addChild(new ExplosionParticle(x, y)); }; Main.GAME_MANAGER.getHit(10); SoundMgr.playSound("depthCharge"); kill(); } public function flipX():void{ myClip.scaleY = (myClip.scaleY * -1); flipped = !(flipped); } override public function tick():void{ if ((((water == null)) || ((y > water.y)))){ if (engage > 0){ engage--; inertia.x = (inertia.x * 0.99); waterSpeed = 8; } else { underwaterMotion(); }; inWater = true; } else { if (inWater){ inertia.x = (inertia.x * 0.7); inertia.y = (inertia.y * 0.7); }; abovewaterMotion(); waterSpeed = inertia.length; inWater = false; }; physInterp(); safety--; if (safety <= 0){ boatCollision(); }; myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; if ((((inertia.x < 0)) && (!(flipped)))){ flipX(); }; if ((((inertia.x > 0)) && (flipped))){ flipX(); }; if (y > bounds.y){ y = bounds.y; }; lifespan--; if (lifespan <= 0){ if (parent != null){ parent.addChild(new ExplosionParticle(x, y)); }; kill(); }; } public function physInterp():void{ x = (x + (inertia.x * 0.75)); y = (y + (inertia.y * 0.75)); } public function setWater(_arg1:Water):void{ water = _arg1; } public function boatCollision():void{ var _local1:Target; graphics.clear(); for each (_local1 in Fish.TARGETS) { if ((_local1 is LaserBoat)){ _local1.y = (_local1.y + water.y); }; if ((((x > _local1.x)) && ((x < (_local1.x + _local1.collB.x))))){ if (Math.abs((y - _local1.y)) < (_local1.collB.y / 2)){ if (parent != null){ parent.addChild(this); }; _local1.collision(this); SoundMgr.playSound("boom2"); }; }; if ((_local1 is LaserBoat)){ _local1.y = (_local1.y - water.y); }; }; } public function underwaterMotion():void{ var _local1:Point; var _local2:Number; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Number; var _local7:Number; _local1 = new Point((x - Fish.boto.x), (y - Fish.boto.y)); _local2 = (Math.atan((_local1.y / _local1.x)) * (180 / Math.PI)); if (_local1.x < 0){ _local2 = (_local2 + 180); }; _local3 = new Point(-(Math.sin(((_local2 + 90) * (Math.PI / 180)))), Math.cos(((_local2 + 90) * (Math.PI / 180)))); _local4 = new Point(-(Math.sin(((myClip.rotation - 90) * (Math.PI / 180)))), Math.cos(((myClip.rotation - 90) * (Math.PI / 180)))); _local5 = new Point((_local4.x - _local3.x), (_local4.y - _local3.y)); _local4.x = (_local4.x - (_local5.x / 20)); _local4.y = (_local4.y - (_local5.y / 20)); _local6 = (_local1.length / 20); _local7 = (_local6 - waterSpeed); if (_local7 > 0){ waterSpeed = (waterSpeed + (ACCLERATION * _local7)); }; if (waterSpeed > 8.75){ waterSpeed = 8.75; }; inertia.x = (_local4.x * waterSpeed); inertia.y = (_local4.y * waterSpeed); } public function abovewaterMotion():void{ inertia.y = (inertia.y + 0.1); myClip.rotation = (Math.atan((inertia.y / inertia.x)) * (180 / Math.PI)); if (inertia.x < 0){ myClip.rotation = (myClip.rotation + 180); }; } } }//package
Section 119
//torpedo (torpedo) package { import flash.display.*; public dynamic class torpedo extends MovieClip { } }//package
Section 120
//TorpedoSub (TorpedoSub) package { public class TorpedoSub extends Boat { public var SHOOT_TIME:int;// = 500 public var myY:Number; public var shootTimer:int; public function TorpedoSub(_arg1:Number){ SHOOT_TIME = 500; shootTimer = SHOOT_TIME; super(); myClip = new Assets.enemy_sub(); addChild(myClip); initCollision(); myY = _arg1; SPEED = 2; killScore = 150; hp = 300; shootTimer = int((Math.random() * SHOOT_TIME)); } override public function collision(_arg1):void{ if ((_arg1 is Fish)){ return; }; super.collision(_arg1); } override public function tick():void{ var _local1:Torpedo; super.tick(); y = myY; shootTimer--; if ((((((shootTimer < 0)) && (((x + collB.x) > 0)))) && ((x < bounds.x)))){ SoundMgr.playSound("torpedoLaunch"); shootTimer = SHOOT_TIME; _local1 = new Torpedo(); if (parent != null){ parent.addChild(_local1); }; _local1.x = ((x + myClip.x) + (150 * myClip.scaleX)); _local1.y = (y + myClip.y); _local1.setWater(water); _local1.inertia.x = ((inertia * 10) * SPEED); }; } override public function setWater(_arg1:Water):void{ water = _arg1; } } }//package
Section 121
//UIpage (UIpage) package { import flash.display.*; public dynamic class UIpage extends MovieClip { public var multiplierText:MovieClip; public var healthMeter:MovieClip; public var blendOverlay:MovieClip; } }//package
Section 122
//Water (Water) package { import flash.display.*; import flash.events.*; import flash.geom.*; public class Water extends Sprite implements Tickable { public var gradient1:MovieClip; public var rightWall:MovieClip; public var groundTile1:MovieClip; public var gradient2:MovieClip; public var groundTileW:Number; public var scroller:ScrollScreen; public var tile1:MovieClip; public var tile2:MovieClip; public var tileY:Number;// = -25 public var Ttile1:MovieClip; public var Ttile2:MovieClip; public var leftWall:MovieClip; public var littleKelps:Array; public var tilew:Number; public var Ttilew:Number; public var bigKelps:Array; public var clouds:Array; public var gradw:Number; public var groundTile2:MovieClip; public function Water(){ var _local1:int; var _local2:int; var _local3:int; var _local4:MovieClip; var _local5:MovieClip; tileY = -25; super(); Ttile1 = new Assets.terrain_bg(); addChild(Ttile1); Ttile1.y = (tileY - 180); Ttile2 = new Assets.terrain_bg(); addChild(Ttile2); Ttile2.y = (tileY - 180); Ttile2.x = (Ttilew = (Ttile1.width - 1)); gradient1 = new Assets.water_gradient(); gradient1.y = (tileY + 88); addChild(gradient1); gradient2 = new Assets.water_gradient(); gradient2.y = (tileY + 88); addChild(gradient2); gradw = (gradient2.x = (gradient1.width - 1)); tile1 = new Assets.water_tile(); addChild(tile1); tile1.y = tileY; tile2 = new Assets.water_tile(); addChild(tile2); tile2.y = tileY; tilew = (tile2.x = (tile1.width - 1)); groundTile1 = new Assets.groundTile(); addChild(groundTile1); groundTile1.y = Main.BOUNDS.y; groundTile2 = new Assets.groundTile(); addChild(groundTile2); groundTile2.y = Main.BOUNDS.y; groundTileW = (groundTile2.x = groundTile1.width); leftWall = new Assets.side(); leftWall.x = 0; leftWall.y = (groundTile1.y + 150); addChild(leftWall); rightWall = new Assets.side(); rightWall.x = Main.BOUNDS.x; rightWall.scaleX = (rightWall.scaleX * -1); rightWall.y = (groundTile1.y + 150); addChild(rightWall); _local1 = 16; littleKelps = new Array(); _local2 = 0; while (_local2 < _local1) { _local4 = new Assets.littleKelp(); if (_local2 > 4){ _local4 = new Assets.bigKelp(); }; _local4.x = (Math.random() * Main.BOUNDS.x); _local4.y = ((Main.BOUNDS.y - y) - 200); _local4.scaleX = (_local4.scaleY = ((Math.random() * 0.75) + 0.25)); addChild(_local4); littleKelps.push(_local4); MovieClip(_local4.getChildAt(0)).gotoAndPlay(Math.round((Math.random() * 90))); _local2++; }; _local3 = 16; bigKelps = new Array(); _local2 = 0; while (_local2 < _local3) { _local5 = new Assets.littleKelp(); if (_local2 > 4){ _local5 = new Assets.bigKelp(); }; _local5.x = (Math.random() * Main.BOUNDS.x); _local5.y = (groundTile1.y - 40); _local5.scaleX = (_local5.scaleY = (0.75 + (Math.random() * 0.25))); addChild(_local5); bigKelps.push(_local5); MovieClip(_local5.getChildAt(0)).gotoAndPlay(Math.round((Math.random() * 90))); _local2++; }; Main.TICKABLES.push(this); addEventListener(Event.ADDED_TO_STAGE, added); } public function added(_arg1:Event):void{ ScrollScreen(parent).waterTopBase.addChild(tile1); tile1.y = (y + tileY); ScrollScreen(parent).waterTopBase.addChild(tile2); tile2.y = (y + tileY); } public function killed():Boolean{ return (false); } public function addBoat(_arg1:Boat):void{ var _local2:int; _local2 = getChildIndex(gradient1); if (getChildIndex(gradient2) < _local2){ _local2 = getChildIndex(gradient2); }; addChildAt(_arg1, _local2); } public function tick():void{ var _local1:MovieClip; if (stage == null){ return; }; if (scroller == null){ return; }; if (-(scroller.x) < tile1.x){ tile1.x = (tile1.x - tilew); tile2.x = (tile2.x - tilew); } else { if ((-(scroller.x) + stage.stageWidth) > (tile2.x + tilew)){ tile1.x = (tile1.x + tilew); tile2.x = (tile2.x + tilew); }; }; if (-(scroller.x) < Ttile1.x){ Ttile1.x = (Ttile1.x - Ttilew); Ttile2.x = (Ttile2.x - Ttilew); } else { if ((-(scroller.x) + stage.stageWidth) > (Ttile2.x + Ttilew)){ Ttile1.x = (Ttile1.x + Ttilew); Ttile2.x = (Ttile2.x + Ttilew); }; }; if (-(scroller.x) < gradient1.x){ gradient1.x = (gradient1.x - gradw); gradient2.x = (gradient2.x - gradw); } else { if ((-(scroller.x) + stage.stageWidth) > (gradient2.x + gradw)){ gradient1.x = (gradient1.x + gradw); gradient2.x = (gradient2.x + gradw); }; }; if (-(scroller.x) < groundTile1.x){ groundTile1.x = (groundTile1.x - groundTileW); groundTile2.x = (groundTile2.x - groundTileW); } else { if ((-(scroller.x) + stage.stageWidth) > (groundTile2.x + groundTileW)){ groundTile1.x = (groundTile1.x + groundTileW); groundTile2.x = (groundTile2.x + groundTileW); }; }; for each (_local1 in bigKelps) { parent.addChild(_local1); }; parent.addChild(leftWall); parent.addChild(rightWall); parent.addChild(groundTile1); parent.addChild(groundTile2); } public function setBounds(_arg1:Point):void{ } public function spawnBotoSplash(_arg1:Number):void{ var _local2:Splash; _local2 = new Splash(); _local2.y = 56; _local2.x = _arg1; addChild(_local2); } } }//package
Section 123
//water_gradient (water_gradient) package { import flash.display.*; public dynamic class water_gradient extends MovieClip { } }//package
Section 124
//water_tile (water_tile) package { import flash.display.*; public dynamic class water_tile extends MovieClip { } }//package
Section 125
//WaveManager (WaveManager) package { public class WaveManager { public var xmlData:XML; public var waves:Array; public var currWave:int;// = 0 public function WaveManager(_arg1:XML){ var _local2:XMLList; var _local3:XML; currWave = 0; super(); xmlData = _arg1; waves = new Array(); _local2 = xmlData..wave; for each (_local3 in _local2) { waves.push(parseWave(_local3)); }; } public function nextWave(_arg1:Water):Array{ var _local2:Wave; Main.topWave++; if (currWave >= waves.length){ currWave = (waves.length - 1); }; Main.GAME_MANAGER.nextStage(); if (currWave < waves.length){ _local2 = Wave(waves[currWave]); currWave++; Main.spawnWaveMsg(_local2.message); Main.mineFreq = _local2.mineFreq; Main.autofireFreq = _local2.autofireFreq; Main.bomberFreq = _local2.bomberFreq; return (_local2.spawnBoats(_arg1)); }; return (null); } public function parseWave(_arg1:XML):Wave{ var _local2:Wave; var _local3:XMLList; var _local4:XML; var _local5:XML; var _local6:XML; var _local7:XML; _local2 = new Wave(); _local3 = _arg1..boat; for each (_local4 in _local3) { _local2.addBoat(_local4.attribute("type"), parseFloat(_local4.attribute("x"))); }; _local5 = _arg1..mines[0]; if (_local5 != null){ _local2.mineFreq = parseFloat(_local5.attribute("freq")); }; _local6 = _arg1..message[0]; if (_local6 != null){ _local2.message = _local6.attribute("string"); }; _local7 = _arg1..powerup[0]; if (_local7 != null){ _local2.autofireFreq = parseFloat(_local7.attribute("autofire")); _local2.bomberFreq = parseFloat(_local7.attribute("bomber")); }; return (_local2); } } }//package class BoatInfo { public var x:Number; public var inertia:Number; public var type:String; private function BoatInfo(_arg1:String, _arg2:Number){ type = _arg1; x = _arg2; if (x < 0){ inertia = -1; } else { inertia = 1; x = (x + Main.BOUNDS.x); }; } public function spawnBoat(_arg1:Water):Boat{ var _local2:Boat; if (type == "laser"){ _local2 = new LaserBoat(); } else { if (type == "freighter"){ _local2 = new Freighter(); } else { if (type == "speed"){ _local2 = new SpeedBoat(); } else { if (type == "fishing"){ _local2 = new FishingBoat(); } else { if (type == "shark"){ _local2 = new ArmorBoat(); } else { if (type == "sub"){ _local2 = new TorpedoSub((((Math.random() * 400) + _arg1.y) + 200)); } else { return (null); }; }; }; }; }; }; _local2.x = x; _local2.inertia = inertia; _local2.setWater(_arg1); return (_local2); } } class Wave { public var message:String; public var mineFreq:Number; public var boats:Array; public var bomberFreq:Number; public var autofireFreq:Number; private function Wave(){ boats = new Array(); message = ""; mineFreq = 0; autofireFreq = 0; bomberFreq = 0; } public function addBoat(_arg1, _arg2):void{ boats.push(new BoatInfo(_arg1, _arg2)); } public function spawnBoats(_arg1:Water):Array{ var _local2:Array; var _local3:BoatInfo; _local2 = new Array(); for each (_local3 in boats) { _local2.push(_local3.spawnBoat(_arg1)); }; return (_local2); } }
Section 126
//wavePage (wavePage) package { import flash.display.*; public dynamic class wavePage extends MovieClip { public var fuckerHead:MovieClip; public function wavePage(){ addFrameScript(7, frame8); } function frame8(){ stop(); } } }//package
Section 127
//WavesConfig (WavesConfig) package { public class WavesConfig { public static const MY_XML:XML = setConst(); private static function setConst():XML{ return (new XML(<waves> <wave> <boat type="fishing" x="-1000"/> <boat type="fishing" x="500"/> <message string="Piranha are your ammo"/> <powerup autofire="0.0222" bomber="0.0222"/> </wave> <wave> <boat type="fishing" x="-1000"/> <boat type="fishing" x="-1500"/> <boat type="fishing" x="-3500"/> <boat type="fishing" x="1000"/> <boat type="speed" x="3000"/> <powerup autofire="0.2" bomber="0.0222"/> <message string="Hit the power ups"/> </wave> <wave> <boat type="speed" x="-500"/> <boat type="speed" x="1000"/> <boat type="speed" x="1500"/> <boat type="fishing" x="-1000"/> <boat type="laser" x="5000"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Welcome to the Triple"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="laser" x="-1250"/> <boat type="speed" x="-500"/> <boat type="laser" x="-1750"/> <boat type="shark" x="-3000"/> <boat type="speed" x="250"/> <boat type="laser" x="500"/> <boat type="speed" x="750"/> <boat type="laser" x="1000"/> <boat type="speed" x="1500"/> <boat type="shark" x="3000"/> <mines freq="0.4"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Fourth wave!"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="speed" x="-500"/> <boat type="speed" x="-1250"/> <boat type="laser" x="-1750"/> <boat type="shark" x="-3000"/> <!-- awesome boat rush, good spacing --> <boat type="speed" x="1250"/> <boat type="laser" x="1500"/> <boat type="speed" x="1750"/> <boat type="laser" x="2000"/> <boat type="speed" x="2500"/> <mines freq="0.7"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="I'm fiving you until you bleed!"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="sub" x="500"/> <boat type="speed" x="-1250"/> <boat type="speed" x="2500"/> <boat type="sub" x="-2500"/> <boat type="sub" x="3000"/> <mines freq="0.2"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Give 'em their own medicine"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="sub" x="-500"/> <boat type="speed" x="-1250"/> <boat type="speed" x="-3000"/> <boat type="shark" x="-3250"/> <boat type="laser" x="-4000"/> <boat type="speed" x="-4250"/> <boat type="shark" x="250"/> <boat type="laser" x="500"/> <boat type="speed" x="750"/> <boat type="laser" x="1000"/> <boat type="sub" x="5250"/> <boat type="speed" x="5500"/> <boat type="speed" x="5750"/> <mines freq="0.5"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Seventh Heaven"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="sub" x="-500"/> <boat type="speed" x="-750"/> <boat type="speed" x="-1250"/> <boat type="shark" x="250"/> <boat type="laser" x="500"/> <boat type="speed" x="750"/> <boat type="speed" x="1000"/> <boat type="shark" x="1250"/> <boat type="speed" x="1750"/> <boat type="speed" x="-4000"/> <boat type="shark" x="-4250"/> <boat type="laser" x="-5000"/> <boat type="speed" x="-5250"/> <boat type="laser" x="-5500"/> <boat type="shark" x="-5750"/> <boat type="shark" x="5000"/> <boat type="speed" x="6500"/> <boat type="laser" x="6750"/> <mines freq="0.6"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Eight isn't Enough"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="sub" x="-500"/> <boat type="laser" x="-1000"/> <boat type="speed" x="-1250"/> <boat type="laser" x="500"/> <boat type="laser" x="750"/> <boat type="laser" x="1000"/> <boat type="shark" x="1250"/> <boat type="speed" x="1750"/> <boat type="speed" x="-3000"/> <boat type="shark" x="-3250"/> <boat type="laser" x="-4000"/> <boat type="speed" x="-4250"/> <boat type="laser" x="-4500"/> <boat type="shark" x="-4750"/> <boat type="shark" x="4000"/> <boat type="laser" x="4250"/> <boat type="speed" x="5000"/> <boat type="sub" x="5250"/> <boat type="speed" x="5500"/> <boat type="speed" x="5750"/> <mines freq="0.7"/> <powerup autofire="0.0222" bomber="0.0222"/> <message string="Number Nine"/> </wave> <wave> <boat type="speed" x="-250"/> <boat type="speed" x="-750"/> <boat type="speed" x="1250"/> <boat type="freighter" x="1000"/> <powerup autofire="0.01" bomber="0.01"/> <mines freq="0.8"/> <message string="Incoming Marley!"/> </wave> <wave> <boat type="sub" x="-250"/> <boat type="laser" x="-500"/> <boat type="shark" x="-750"/> <boat type="sub" x="-1000"/> <boat type="speed" x="-1250"/> <boat type="speed" x="-3000"/> <boat type="shark" x="-3250"/> <boat type="laser" x="-4000"/> <boat type="speed" x="-4250"/> <boat type="laser" x="-4500"/> <boat type="shark" x="-4750"/> <boat type="shark" x="250"/> <boat type="laser" x="500"/> <boat type="shark" x="1250"/> <boat type="speed" x="1750"/> <boat type="speed" x="-1750"/> <boat type="shark" x="4000"/> <boat type="laser" x="4250"/> <boat type="speed" x="5000"/> <boat type="sub" x="5250"/> <boat type="speed" x="5500"/> <boat type="speed" x="5750"/> <powerup autofire="0.0222" bomber="0.0222"/> <mines freq=".9"/> <message string="Enter Dr. Eleventy"/> </wave> <wave> <boat type="sub" x="-1250"/> <boat type="laser" x="-1500"/> <boat type="speed" x="-1750"/> <boat type="sub" x="-2000"/> <boat type="speed" x="-2250"/> <boat type="speed" x="-4000"/> <boat type="shark" x="-4250"/> <boat type="sub" x="-4500"/> <boat type="laser" x="-4500"/> <boat type="shark" x="-4750"/> <boat type="freighter" x="-8000"/> <boat type="shark" x="250"/> <boat type="laser" x="500"/> <boat type="shark" x="1250"/> <boat type="speed" x="1750"/> <powerup autofire="0.0222" bomber="0.0222"/> <mines freq=".9"/> <message string="Just Twelving 'round"/> </wave> <wave> <boat type="sub" x="-1250"/> <boat type="speed" x="-1500"/> <boat type="laser" x="-1750"/> <boat type="speed" x="-2250"/> <boat type="speed" x="-4000"/> <boat type="shark" x="-4250"/> <boat type="laser" x="-4500"/> <boat type="laser" x="-4500"/> <boat type="shark" x="-4750"/> <boat type="shark" x="-6750"/> <boat type="laser" x="-7000"/> <boat type="freighter" x="-7250"/> <boat type="speed" x="-7500"/> <boat type="fishing" x="-7750"/> <boat type="fishing" x="-8000"/> <boat type="shark" x="250"/> <boat type="speed" x="500"/> <boat type="shark" x="1250"/> <boat type="speed" x="1750"/> <boat type="laser" x="3000"/> <boat type="shark" x="4000"/> <boat type="laser" x="4250"/> <boat type="speed" x="5000"/> <boat type="sub" x="5250"/> <boat type="freighter" x="5500"/> <boat type="speed" x="5750"/> <powerup autofire="0.0222" bomber="0.0222"/> <mines freq=".9"/> <message string="Unlucky Level"/> </wave> <wave> <boat type="sub" x="-500"/> <boat type="speed" x="-500"/> <boat type="laser" x="-750"/> <boat type="laser" x="-1000"/> <boat type="speed" x="-1250"/> <boat type="speed" x="-1750"/> <boat type="sub" x="-3500"/> <boat type="speed" x="-3750"/> <boat type="speed" x="-4000"/> <boat type="shark" x="-4250"/> <boat type="laser" x="-4500"/> <boat type="laser" x="-4500"/> <boat type="shark" x="-4750"/> <boat type="shark" x="-6750"/> <boat type="laser" x="-7000"/> <boat type="freighter" x="-7250"/> <boat type="speed" x="-7500"/> <boat type="fishing" x="-7750"/> <boat type="fishing" x="-8000"/> <boat type="shark" x="8750"/> <boat type="laser" x="8000"/> <boat type="shark" x="8500"/> <boat type="shark" x="-8250"/> <boat type="speed" x="500"/> <boat type="freighter" x="750"/> <boat type="laser" x="1000"/> <boat type="sub" x="1500"/> <boat type="freighter" x="3000"/> <boat type="laser" x="3250"/> <boat type="sub" x="3500"/> <boat type="speed" x="3750"/> <boat type="speed" x="4000"/> <boat type="shark" x="4250"/> <boat type="laser" x="4500"/> <boat type="laser" x="4500"/> <boat type="sub" x="4750"/> <powerup autofire="0.0222" bomber="0.0222"/> <mines freq="1"/> <message string="Infinite un-insanity!!!!"/> </wave> </waves> )); } } }//package
Section 128
//vignette (vignette) package { import flash.display.*; public dynamic class vignette extends MovieClip { } }//package
Section 129
//WildAnFreeEX_release (WildAnFreeEX_release) package { import flash.display.*; import flash.events.*; import flash.geom.*; import General.*; import flash.media.*; import flash.utils.*; import flash.text.*; import flash.net.*; public class WildAnFreeEX_release extends MovieClip { public var preloadBar:preloader_mc; public static var main:Main; public static var waveMgr:WaveManager; public function WildAnFreeEX_release(){ var _local1:Array; var _local2:Array; super(); addFrameScript(2, frame3); _local1 = stage.loaderInfo.url.split("://"); _local2 = _local1[1].split("/"); stage.frameRate = 30; preloadBar.stop(); stop(); addEventListener(Event.ENTER_FRAME, enterFrame); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress); } public function progress(_arg1:ProgressEvent):void{ preloadBar.gotoAndStop(Math.ceil((100 * (_arg1.bytesLoaded / _arg1.bytesTotal)))); } public function loadComplete():void{ Assets.initializeAssets(LoaderInfo(loaderInfo)); SoundMgr.initialize(LoaderInfo(loaderInfo)); waveMgr = new WaveManager(WavesConfig.MY_XML); main = new Main(); addChild(main); main.waveMgr = waveMgr; main.armorIntro(); } function frame3(){ stop(); } public function setupXML(_arg1:Event):void{ waveMgr = new WaveManager(XML(_arg1.target.data)); } public function enterFrame(_arg1:Event):void{ trace(((currentFrame + " ") + totalFrames)); play(); if (currentFrame == totalFrames){ trace("loaded?"); removeEventListener(Event.ENTER_FRAME, enterFrame); loadComplete(); }; } public function ioerror(_arg1:IOErrorEvent):void{ trace(_arg1.text); } } }//package
Section 130
//wingBoost (wingBoost) package { import flash.display.*; public dynamic class wingBoost extends MovieClip { } }//package

Library Items

Symbol 1 GraphicUsed by:2 295
Symbol 2 MovieClip {drum}Uses:1Used by:303
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip {fishGuide}Uses:3Used by:181
Symbol 5 FontUsed by:6 7 10 11 13 14 17 37 38 40 41 43 45 48 49 51 52 53 57 60 61 63 64 66 67 68 69 70 72 73 75 76 79 80 81 84 85 86 87 89 90 93 99 361 368
Symbol 6 TextUses:5Used by:9
Symbol 7 TextUses:5Used by:9
Symbol 8 GraphicUsed by:9 12 39 42 46
Symbol 9 Button {options}Uses:6 7 8Used by:47
Symbol 10 TextUses:5Used by:12
Symbol 11 TextUses:5Used by:12
Symbol 12 Button {help}Uses:10 11 8Used by:47
Symbol 13 TextUses:5Used by:16
Symbol 14 TextUses:5Used by:16
Symbol 15 GraphicUsed by:16 50 62 65 71 74 77 82 88 91
Symbol 16 Button {start}Uses:13 14 15Used by:47
Symbol 17 TextUses:5Used by:23
Symbol 18 GraphicUsed by:23
Symbol 19 GraphicUsed by:22
Symbol 20 ShapeTweeningUsed by:22
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:19 20 21Used by:23
Symbol 23 MovieClip {preloader_mc}Uses:17 18 22Used by:Timeline
Symbol 24 GraphicUsed by:403
Symbol 25 Sound {barrelHit.wav}Used by:403
Symbol 26 GraphicUsed by:47
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:27Used by:47
Symbol 29 GraphicUsed by:47
Symbol 30 GraphicUsed by:47
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:33
Symbol 33 MovieClipUses:32Used by:47
Symbol 34 GraphicUsed by:47
Symbol 35 GraphicUsed by:36
Symbol 36 MovieClipUses:35Used by:47
Symbol 37 TextUses:5Used by:39
Symbol 38 TextUses:5Used by:39
Symbol 39 ButtonUses:37 38 8Used by:47 83
Symbol 40 TextUses:5Used by:42
Symbol 41 TextUses:5Used by:42
Symbol 42 ButtonUses:40 41 8Used by:47
Symbol 43 TextUses:5Used by:46
Symbol 44 GraphicUsed by:46
Symbol 45 TextUses:5Used by:46
Symbol 46 ButtonUses:43 44 45 8Used by:47
Symbol 47 MovieClip {titleScreen}Uses:26 28 29 16 12 9 30 33 34 36 39 42 46Used by:403
Symbol 48 TextUses:5Used by:50
Symbol 49 TextUses:5Used by:50
Symbol 50 ButtonUses:48 49 15Used by:59 78 83
Symbol 51 TextUses:5Used by:59
Symbol 52 TextUses:5Used by:59
Symbol 53 TextUses:5Used by:59
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClipUses:54Used by:59
Symbol 56 GraphicUsed by:58
Symbol 57 TextUses:5Used by:58 385
Symbol 58 MovieClipUses:56 57Used by:59
Symbol 59 MovieClip {helpScreen}Uses:50 51 52 53 55 58Used by:403
Symbol 60 TextUses:5Used by:62
Symbol 61 TextUses:5Used by:62
Symbol 62 ButtonUses:60 61 15Used by:78 83
Symbol 63 TextUses:5Used by:65
Symbol 64 TextUses:5Used by:65
Symbol 65 ButtonUses:63 64 15Used by:78 83
Symbol 66 TextUses:5Used by:78 83
Symbol 67 TextUses:5Used by:78
Symbol 68 TextUses:5Used by:78 83
Symbol 69 TextUses:5Used by:71
Symbol 70 TextUses:5Used by:71
Symbol 71 ButtonUses:69 70 15Used by:78 83
Symbol 72 TextUses:5Used by:74
Symbol 73 TextUses:5Used by:74
Symbol 74 ButtonUses:72 73 15Used by:78 83
Symbol 75 TextUses:5Used by:77
Symbol 76 TextUses:5Used by:77
Symbol 77 ButtonUses:75 76 15Used by:78 83
Symbol 78 MovieClip {optionsScreen}Uses:50 62 65 66 67 68 71 74 77Used by:403
Symbol 79 TextUses:5Used by:83
Symbol 80 TextUses:5Used by:82
Symbol 81 TextUses:5Used by:82
Symbol 82 ButtonUses:80 81 15Used by:83
Symbol 83 MovieClip {pauseScreen}Uses:50 62 65 66 79 82 68 71 74 77 39Used by:403
Symbol 84 EditableTextUses:5Used by:92
Symbol 85 TextUses:5Used by:92
Symbol 86 TextUses:5Used by:88
Symbol 87 TextUses:5Used by:88
Symbol 88 ButtonUses:86 87 15Used by:92
Symbol 89 TextUses:5Used by:91
Symbol 90 TextUses:5Used by:91
Symbol 91 ButtonUses:89 90 15Used by:92
Symbol 92 MovieClip {scoreScreen}Uses:84 85 88 91Used by:403
Symbol 93 EditableTextUses:5Used by:94
Symbol 94 MovieClip {release_build_fla.waveText_30}Uses:93Used by:95
Symbol 95 MovieClip {wavePage}Uses:94Used by:403
Symbol 96 Sound {boto_hurt}Used by:181 403
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClipUses:97Used by:100
Symbol 99 EditableTextUses:5Used by:100
Symbol 100 MovieClip {release_build_fla.bonusAni_32}Uses:98 99Used by:101
Symbol 101 MovieClip {bonus_bubble}Uses:100Used by:403
Symbol 102 GraphicUsed by:111
Symbol 103 GraphicUsed by:111
Symbol 104 GraphicUsed by:111
Symbol 105 GraphicUsed by:111
Symbol 106 GraphicUsed by:111
Symbol 107 GraphicUsed by:111
Symbol 108 GraphicUsed by:111
Symbol 109 GraphicUsed by:111
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClip {bubbles1}Uses:102 103 104 105 106 107 108 109 110Used by:145 150 321 403
Symbol 112 GraphicUsed by:115
Symbol 113 GraphicUsed by:115
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClip {damage_particle}Uses:112 113 114Used by:403
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClip {explosion_particle}Uses:116Used by:295 330 403
Symbol 118 GraphicUsed by:122
Symbol 119 GraphicUsed by:122
Symbol 120 GraphicUsed by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClip {heal_particle}Uses:118 119 120 121Used by:403
Symbol 123 ShapeTweeningUsed by:129
Symbol 124 GraphicUsed by:129
Symbol 125 ShapeTweeningUsed by:129
Symbol 126 GraphicUsed by:129
Symbol 127 ShapeTweeningUsed by:129
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClip {pollution_particle}Uses:123 124 125 126 127 128Used by:403
Symbol 130 GraphicUsed by:145
Symbol 131 ShapeTweeningUsed by:145
Symbol 132 GraphicUsed by:144 145
Symbol 133 GraphicUsed by:145 266
Symbol 134 GraphicUsed by:145 269
Symbol 135 GraphicUsed by:145 278
Symbol 136 GraphicUsed by:145 283
Symbol 137 GraphicUsed by:145 286
Symbol 138 GraphicUsed by:145
Symbol 139 GraphicUsed by:145
Symbol 140 GraphicUsed by:145
Symbol 141 GraphicUsed by:145
Symbol 142 ShapeTweeningUsed by:145
Symbol 143 GraphicUsed by:145
Symbol 144 MovieClipUses:132Used by:145
Symbol 145 MovieClip {splash1}Uses:130 131 132 133 134 135 136 137 111 138 139 140 141 142 143 144Used by:403
Symbol 146 GraphicUsed by:150
Symbol 147 GraphicUsed by:150
Symbol 148 GraphicUsed by:150
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClip {torpedo}Uses:146 111 147 148 149Used by:403
Symbol 151 Sound {botoEat.wav}Used by:403
Symbol 152 GraphicUsed by:153
Symbol 153 ButtonUses:152Used by:181
Symbol 154 GraphicUsed by:181
Symbol 155 GraphicUsed by:170
Symbol 156 GraphicUsed by:170
Symbol 157 GraphicUsed by:170
Symbol 158 GraphicUsed by:170
Symbol 159 GraphicUsed by:170
Symbol 160 GraphicUsed by:170
Symbol 161 GraphicUsed by:170
Symbol 162 GraphicUsed by:170
Symbol 163 GraphicUsed by:170
Symbol 164 GraphicUsed by:170
Symbol 165 GraphicUsed by:170
Symbol 166 GraphicUsed by:170
Symbol 167 GraphicUsed by:170
Symbol 168 GraphicUsed by:170
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:155 156 157 158 159 160 161 162 163 164 165 166 167 168 169Used by:171
Symbol 171 MovieClip {boto}Uses:170Used by:181 403
Symbol 172 GraphicUsed by:181
Symbol 173 GraphicUsed by:181
Symbol 174 GraphicUsed by:181
Symbol 175 GraphicUsed by:181
Symbol 176 GraphicUsed by:181
Symbol 177 GraphicUsed by:181
Symbol 178 GraphicUsed by:181
Symbol 179 Sound {torpedoLaunch.wav}Used by:181 403
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClip {cutscene_intro}Uses:153 154 171 4 172 173 174 96 175 176 177 178 179 180Used by:403
Symbol 182 GraphicUsed by:199
Symbol 183 GraphicUsed by:198
Symbol 184 GraphicUsed by:198
Symbol 185 GraphicUsed by:198
Symbol 186 SoundUsed by:198
Symbol 187 SoundUsed by:198
Symbol 188 GraphicUsed by:198
Symbol 189 GraphicUsed by:190
Symbol 190 MovieClipUses:189Used by:198
Symbol 191 SoundUsed by:198
Symbol 192 SoundUsed by:198
Symbol 193 SoundUsed by:198
Symbol 194 GraphicUsed by:195
Symbol 195 ButtonUses:194Used by:198
Symbol 196 SoundUsed by:198
Symbol 197 SoundUsed by:198
Symbol 198 MovieClipUses:183 184 185 186 187 188 190 191 192 193 195 196 197Used by:199
Symbol 199 MovieClip {cutscene_armor}Uses:182 198Used by:403
Symbol 200 Sound {cannon_fire1}Used by:403
Symbol 201 GraphicUsed by:202
Symbol 202 MovieClip {cloud1}Uses:201Used by:403
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClip {cloud2}Uses:203Used by:403
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClip {groundTile}Uses:205Used by:403
Symbol 207 GraphicUsed by:225
Symbol 208 GraphicUsed by:225
Symbol 209 GraphicUsed by:225
Symbol 210 GraphicUsed by:225
Symbol 211 GraphicUsed by:225
Symbol 212 GraphicUsed by:225
Symbol 213 GraphicUsed by:225
Symbol 214 GraphicUsed by:225
Symbol 215 GraphicUsed by:225
Symbol 216 GraphicUsed by:225
Symbol 217 GraphicUsed by:225
Symbol 218 GraphicUsed by:225
Symbol 219 GraphicUsed by:225
Symbol 220 GraphicUsed by:225
Symbol 221 GraphicUsed by:225
Symbol 222 GraphicUsed by:225
Symbol 223 GraphicUsed by:225
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224Used by:226
Symbol 226 MovieClip {kelp1}Uses:225Used by:403
Symbol 227 GraphicUsed by:242
Symbol 228 GraphicUsed by:242
Symbol 229 GraphicUsed by:242
Symbol 230 GraphicUsed by:242
Symbol 231 GraphicUsed by:242
Symbol 232 GraphicUsed by:242
Symbol 233 GraphicUsed by:242
Symbol 234 GraphicUsed by:242
Symbol 235 GraphicUsed by:242
Symbol 236 GraphicUsed by:242
Symbol 237 GraphicUsed by:242
Symbol 238 GraphicUsed by:242
Symbol 239 GraphicUsed by:242
Symbol 240 GraphicUsed by:242
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClipUses:227 228 229 230 231 232 233 234 235 236 237 238 239 240 241Used by:243
Symbol 243 MovieClip {kelp2}Uses:242Used by:403
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClip {side}Uses:244Used by:403
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:256
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClipUses:248Used by:256
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:256
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:252Used by:256
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClipUses:254Used by:256
Symbol 256 MovieClip {terrain_bg}Uses:247 249 251 253 255Used by:403
Symbol 257 GraphicUsed by:258
Symbol 258 MovieClip {water_gradient}Uses:257Used by:403
Symbol 259 ShapeTweeningUsed by:263
Symbol 260 GraphicUsed by:263
Symbol 261 ShapeTweeningUsed by:263
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClipUses:259 260 261 262Used by:289
Symbol 264 GraphicUsed by:265
Symbol 265 MovieClipUses:264Used by:289
Symbol 266 MovieClipUses:133Used by:289
Symbol 267 GraphicUsed by:268
Symbol 268 MovieClipUses:267Used by:289
Symbol 269 MovieClipUses:134Used by:289
Symbol 270 GraphicUsed by:271
Symbol 271 MovieClipUses:270Used by:289
Symbol 272 GraphicUsed by:273
Symbol 273 MovieClipUses:272Used by:289
Symbol 274 GraphicUsed by:275
Symbol 275 MovieClipUses:274Used by:289
Symbol 276 GraphicUsed by:277
Symbol 277 MovieClipUses:276Used by:289
Symbol 278 MovieClipUses:135Used by:289
Symbol 279 GraphicUsed by:280
Symbol 280 MovieClipUses:279Used by:289
Symbol 281 GraphicUsed by:282
Symbol 282 MovieClipUses:281Used by:289
Symbol 283 MovieClipUses:136Used by:289
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:289
Symbol 286 MovieClipUses:137Used by:289
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:289
Symbol 289 MovieClip {water_tile}Uses:263 265 266 268 269 271 273 275 277 278 280 282 283 285 286 288Used by:403
Symbol 290 Sound {cannon_fire2}Used by:403
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClip {timeBoost}Uses:291Used by:403
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClip {wingBoost}Uses:293Used by:403
Symbol 295 MovieClip {release_build_fla.oilDrum_86}Uses:1 117Used by:296
Symbol 296 MovieClip {drumFloat}Uses:295Used by:403
Symbol 297 GraphicUsed by:298
Symbol 298 MovieClipUses:297Used by:299
Symbol 299 MovieClip {enemy_fishingboat}Uses:298Used by:403
Symbol 300 GraphicUsed by:303
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:303
Symbol 303 MovieClip {enemy_freighter}Uses:2 300 302Used by:403
Symbol 304 GraphicUsed by:311
Symbol 305 GraphicUsed by:310
Symbol 306 GraphicUsed by:309
Symbol 307 GraphicUsed by:309
Symbol 308 GraphicUsed by:309
Symbol 309 MovieClipUses:306 307 308Used by:310
Symbol 310 MovieClip {release_build_fla.laserDish_94}Uses:305 309Used by:311
Symbol 311 MovieClip {release_build_fla.laserboat_93}Uses:304 310Used by:312
Symbol 312 MovieClip {enemy_laserboat}Uses:311Used by:403
Symbol 313 GraphicUsed by:314
Symbol 314 MovieClipUses:313Used by:315
Symbol 315 MovieClip {enemy_sharkboat}Uses:314Used by:403
Symbol 316 GraphicUsed by:317
Symbol 317 MovieClipUses:316Used by:318
Symbol 318 MovieClip {enemy_speedboat}Uses:317Used by:403
Symbol 319 GraphicUsed by:320
Symbol 320 MovieClipUses:319Used by:321
Symbol 321 MovieClip {enemy_sub}Uses:320 111Used by:403
Symbol 322 GraphicUsed by:326
Symbol 323 GraphicUsed by:326
Symbol 324 GraphicUsed by:326
Symbol 325 GraphicUsed by:326
Symbol 326 MovieClipUses:322 323 324 325Used by:327
Symbol 327 MovieClip {fish}Uses:326Used by:403
Symbol 328 GraphicUsed by:330
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClip {release_build_fla.mine_105}Uses:328 329 117Used by:331
Symbol 331 MovieClip {mineFloat}Uses:330Used by:403
Symbol 332 GraphicUsed by:334
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClip {piranha}Uses:332 333Used by:403
Symbol 335 GraphicUsed by:351
Symbol 336 GraphicUsed by:351
Symbol 337 GraphicUsed by:351
Symbol 338 GraphicUsed by:351
Symbol 339 GraphicUsed by:351
Symbol 340 GraphicUsed by:351
Symbol 341 GraphicUsed by:351
Symbol 342 GraphicUsed by:351
Symbol 343 GraphicUsed by:351
Symbol 344 GraphicUsed by:351
Symbol 345 GraphicUsed by:351
Symbol 346 GraphicUsed by:351
Symbol 347 GraphicUsed by:351
Symbol 348 GraphicUsed by:351
Symbol 349 GraphicUsed by:351
Symbol 350 GraphicUsed by:351
Symbol 351 MovieClipUses:335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350Used by:352
Symbol 352 MovieClip {snake}Uses:351Used by:403
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:385
Symbol 355 ShapeTweeningUsed by:364
Symbol 356 GraphicUsed by:364
Symbol 357 GraphicUsed by:364
Symbol 358 GraphicUsed by:359
Symbol 359 MovieClipUses:358Used by:360
Symbol 360 MovieClip {release_build_fla.health_FX_112}Uses:359Used by:364
Symbol 361 EditableTextUses:5Used by:364
Symbol 362 GraphicUsed by:364
Symbol 363 GraphicUsed by:364
Symbol 364 MovieClip {release_build_fla.health_meter_111}Uses:355 356 357 360 361 362 363Used by:385
Symbol 365 GraphicUsed by:383
Symbol 366 GraphicUsed by:383
Symbol 367 GraphicUsed by:383
Symbol 368 EditableTextUses:5Used by:383
Symbol 369 ShapeTweeningUsed by:383
Symbol 370 GraphicUsed by:383
Symbol 371 ShapeTweeningUsed by:383
Symbol 372 GraphicUsed by:383
Symbol 373 ShapeTweeningUsed by:383
Symbol 374 GraphicUsed by:383
Symbol 375 ShapeTweeningUsed by:383
Symbol 376 GraphicUsed by:383
Symbol 377 ShapeTweeningUsed by:383
Symbol 378 GraphicUsed by:383
Symbol 379 ShapeTweeningUsed by:383
Symbol 380 GraphicUsed by:383
Symbol 381 ShapeTweeningUsed by:383
Symbol 382 GraphicUsed by:383
Symbol 383 MovieClip {release_build_fla.multiplier_114}Uses:365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382Used by:385
Symbol 384 GraphicUsed by:385
Symbol 385 MovieClip {UIpage}Uses:354 364 383 384 57Used by:403
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:388
Symbol 388 MovieClip {vignette}Uses:387Used by:403
Symbol 389 Sound {depthCharge.wav}Used by:403
Symbol 390 Sound {explosion_large}Used by:403
Symbol 391 Sound {explosion_medium1}Used by:403
Symbol 392 Sound {explosion_medium2}Used by:403
Symbol 393 Sound {fishImpact.wav}Used by:403
Symbol 394 Sound {flap.wav}Used by:403
Symbol 395 Sound {float_like_smoke_B}Used by:403
Symbol 396 Sound {laserLoop.wav}Used by:403
Symbol 397 Sound {machineGunLoop.wav}Used by:403
Symbol 398 Sound {soundtrack_abovewater}Used by:403
Symbol 399 Sound {soundtrack_underwater}Used by:403
Symbol 400 Sound {splash1bbb}Used by:403
Symbol 401 Sound {splash2bbb}Used by:403
Symbol 402 Sound {splash3bbb}Used by:403
Symbol 403 MovieClip {release_build_fla.assetHolder_3}Uses:24 25 47 59 78 83 92 95 96 101 111 115 117 122 129 145 150 151 181 199 200 202 204 206 226 243 245 256 258 289 290 292 294 171 296 299 303 312 315 318 321 327 331 334 352 385 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 179Used by:Timeline

Instance Names

"preloadBar"Frame 1Symbol 23 MovieClip {preloader_mc}
"bar"Symbol 23 MovieClip {preloader_mc} Frame 1Symbol 22 MovieClip
"btn_start"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 16 Button {start}
"btn_help"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 12 Button {help}
"btn_options"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 9 Button {options}
"btn_armorLink"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 39 Button
"btn_armorBlog"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 42 Button
"btn_intuition"Symbol 47 MovieClip {titleScreen} Frame 1Symbol 46 Button
"btn_back"Symbol 59 MovieClip {helpScreen} Frame 1Symbol 50 Button
"btn_back"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 50 Button
"btn_on"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 62 Button
"btn_off"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 65 Button
"btn_medium"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 71 Button
"btn_low"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 74 Button
"btn_high"Symbol 78 MovieClip {optionsScreen} Frame 1Symbol 77 Button
"btn_back"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 50 Button
"btn_on"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 62 Button
"btn_off"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 65 Button
"btn_restart"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 82 Button
"btn_medium"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 71 Button
"btn_low"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 74 Button
"btn_high"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 77 Button
"btn_armorLink"Symbol 83 MovieClip {pauseScreen} Frame 1Symbol 39 Button
"score"Symbol 92 MovieClip {scoreScreen} Frame 1Symbol 84 EditableText
"btn_menu"Symbol 92 MovieClip {scoreScreen} Frame 1Symbol 88 Button
"btn_restart"Symbol 92 MovieClip {scoreScreen} Frame 1Symbol 91 Button
"textBox"Symbol 94 MovieClip {release_build_fla.waveText_30} Frame 1Symbol 93 EditableText
"fuckerHead"Symbol 95 MovieClip {wavePage} Frame 1Symbol 94 MovieClip {release_build_fla.waveText_30}
"bonus_text"Symbol 100 MovieClip {release_build_fla.bonusAni_32} Frame 1Symbol 99 EditableText
"animate"Symbol 101 MovieClip {bonus_bubble} Frame 1Symbol 100 MovieClip {release_build_fla.bonusAni_32}
"fishPoint"Symbol 181 MovieClip {cutscene_intro} Frame 1Symbol 4 MovieClip {fishGuide}
"anim"Symbol 199 MovieClip {cutscene_armor} Frame 1Symbol 198 MovieClip
"marleyFlip"Symbol 303 MovieClip {enemy_freighter} Frame 1Symbol 302 MovieClip
"laser_dish"Symbol 311 MovieClip {release_build_fla.laserboat_93} Frame 1Symbol 310 MovieClip {release_build_fla.laserDish_94}
"laserboat"Symbol 312 MovieClip {enemy_laserboat} Frame 1Symbol 311 MovieClip {release_build_fla.laserboat_93}
"mineSplode"Symbol 331 MovieClip {mineFloat} Frame 1Symbol 330 MovieClip {release_build_fla.mine_105}
"healthAnimation"Symbol 364 MovieClip {release_build_fla.health_meter_111} Frame 1Symbol 360 MovieClip {release_build_fla.health_FX_112}
"scoreText"Symbol 364 MovieClip {release_build_fla.health_meter_111} Frame 1Symbol 361 EditableText
"multiplier_text"Symbol 383 MovieClip {release_build_fla.multiplier_114} Frame 1Symbol 368 EditableText
"blendOverlay"Symbol 385 MovieClip {UIpage} Frame 1Symbol 354 MovieClip
"healthMeter"Symbol 385 MovieClip {UIpage} Frame 1Symbol 364 MovieClip {release_build_fla.health_meter_111}
"multiplierText"Symbol 385 MovieClip {UIpage} Frame 1Symbol 383 MovieClip {release_build_fla.multiplier_114}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.




http://swfchan.com/15/70275/info.shtml
Created: 10/4 -2019 00:07:24 Last modified: 10/4 -2019 00:07:24 Server time: 09/05 -2024 23:47:58