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

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

Overkill Apache 2.swf

This is the info page for
Flash #46922

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


Text
GAME DESIGNED BY PLAYERTHREE.NET © 2008

PLAY THE FULL GAME

Z

X

C

MENU BUTTON

sound mc

WANT MORE LEVELS, BOSSES AND ENEMIES?
PLAY THE FULL VERSION ONLY
AT FINGERTIME.COM

ActionScript [AS3]

Section 1
//SFCAbstract (com.fingertime.core.loader.SFCAbstract) package com.fingertime.core.loader { public class SFCAbstract { private var achievements:Array; public var currentScore:int;// = 0 public function SFCAbstract(){ currentScore = 0; super(); } public function updateScore(_arg1:int):void{ trace(("updateScore called with value : " + _arg1)); } public function achievement(_arg1:int):void{ var _local2:Boolean; var _local3:int; if (achievements == null){ achievements = new Array(); }; _local2 = false; _local3 = 0; while (_local3 < achievements.length) { if (achievements[_local3] == _arg1){ _local2 = true; }; _local3++; }; if (!_local2){ trace(("achievement called with id : " + _arg1)); achievements.push(_arg1); }; } } }//package com.fingertime.core.loader
Section 2
//SFCLoader (com.fingertime.core.loader.SFCLoader) package com.fingertime.core.loader { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class SFCLoader extends MovieClip { public var checkLoginOn:Boolean;// = true public var achievementsOn:Boolean;// = true public var vAlign:String;// = "bottom" public var minorVersion:Number;// = 0 public var checkSecurity:Boolean;// = true public var hAlign:String;// = "center" public var gatewayUrl:String;// = "http://beta.fingertime.com/amfphp/gateway.php" public var lowerIsBest:Boolean;// = false public var highScoresOn:Boolean;// = true public var achievementDelay:Number;// = 5 public var gameID:Number; public var checkVersion:Boolean;// = true public var margin:Number;// = 24 public var majorVersion:Number;// = 9 public var maxMessageBoxSize:Number;// = 265 public static var stage_width:Number; public static var stage_height:Number; public static var core; public function SFCLoader(){ checkLoginOn = true; checkSecurity = true; checkVersion = true; majorVersion = 9; minorVersion = 0; gatewayUrl = "http://beta.fingertime.com/amfphp/gateway.php"; achievementsOn = true; highScoresOn = true; lowerIsBest = false; vAlign = "bottom"; hAlign = "center"; margin = 24; achievementDelay = 5; maxMessageBoxSize = 265; super(); addEventListener(Event.ADDED_TO_STAGE, init); } public function init(_arg1:Event):void{ trace("core loader initialised"); removeEventListener(Event.ADDED_TO_STAGE, init); if (checkLoginOn){ if (checkSecurity){ if (stage.loaderInfo.url.indexOf("fingertime.com") == -1){ navigateToURL(new URLRequest("http://www.fingertime.com")); }; }; x = (y = 0); Security.allowDomain("*"); stage_width = stage.stageWidth; stage_height = stage.stageHeight; trace(("core = " + core)); if (Security.sandboxType == Security.REMOTE){ initCore(); } else { core = new SFCAbstract(); }; }; } public function initCore():void{ core.achievementsOn = achievementsOn; core.achievementDelay = achievementDelay; core.checkSecurity = checkSecurity; core.gameID = gameID; core.gatewayUrl = gatewayUrl; core.hAlign = hAlign; core.vAlign = vAlign; core.margin = margin; core.highScoresOn = highScoresOn; core.lowestIsBest = lowerIsBest; core.maxMessageBoxSize = maxMessageBoxSize; core.majorVersion = majorVersion; core.minorVersion = minorVersion; core.checkLoginOn = checkLoginOn; core.init(); } public static function go(){ return (core); } } }//package com.fingertime.core.loader
Section 3
//PreloaderPiece (com.fingertime.core.PreloaderPiece) package com.fingertime.core { import flash.events.*; import flash.display.*; import flash.geom.*; public class PreloaderPiece extends MovieClip { public var active:Boolean;// = false public var vis:Boolean;// = false private var speed:Number; private var t:int;// = 0 public var target:Point; public function PreloaderPiece(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ t = 0; active = false; vis = false; super(); x = (_arg1 + (Math.random() * 5)); y = (_arg2 + (Math.random() * 8)); target = new Point(_arg3, _arg4); } public function destroy():void{ if (hasEventListener(Event.ENTER_FRAME)){ removeEventListener(Event.ENTER_FRAME, step); }; } private function step(_arg1:Event):void{ t++; x = ease(t, x, (-(x) + target.x), speed); y = ease(t, y, (-(y) + target.y), speed); if (t > speed){ x = target.x; y = target.y; active = false; removeEventListener(Event.ENTER_FRAME, step); }; } private function ease(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1)==0) ? _arg2 : ((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2)); } public function go(_arg1:Number):void{ this.speed = (_arg1 + (Math.random() * _arg1)); active = true; addEventListener(Event.ENTER_FRAME, step); t = 0; vis = true; } } }//package com.fingertime.core
Section 4
//SFPreloader (com.fingertime.core.SFPreloader) package com.fingertime.core { import flash.events.*; import flash.display.*; import flash.filters.*; import flash.geom.*; public class SFPreloader extends MovieClip { private var pY:Number; public var bar:MovieClip; private var barHeight:Number;// = 8 private var bmp_data:BitmapData; private var newPixelsReady:int;// = 0 public var bg:MovieClip; private var percent:Number;// = 0 private var bytesLoaded:Number;// = 0 private var previousPercent:Number;// = 0 private var morePixels:Boolean;// = true private var barWidth:Number;// = 278 private var bytesTotal:Number;// = INF private var bmp:Bitmap; private var pixels:Array; private var first:Boolean;// = true private var drawClip:Sprite; private var pixelReady:int;// = 0 public var sting:MovieClip; private var pX:Number; private var mouseIsDown:Boolean;// = false public function SFPreloader(){ mouseIsDown = false; pixels = new Array(); pixelReady = 0; newPixelsReady = 0; barWidth = 278; barHeight = 8; previousPercent = 0; percent = 0; morePixels = true; bytesLoaded = 0; bytesTotal = Number.POSITIVE_INFINITY; first = true; super(); } public function init():void{ var _local1:Matrix; var _local2:Number; var _local3:Number; var _local4:PreloaderPiece; _local1 = new Matrix(); _local1.createGradientBox(stage.stageWidth, stage.stageHeight, 90, 0, 0); bg.graphics.beginGradientFill(GradientType.LINEAR, new Array(16261, 26316, 754941), new Array(1, 1, 1), new Array(0, 127, 0xFF), _local1); bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); bg.graphics.endFill(); drawClip = new Sprite(); bmp_data = new BitmapData(parent.stage.stageWidth, parent.stage.stageHeight, true, 0); bmp = new Bitmap(bmp_data); addEventListener(Event.ENTER_FRAME, step); bar.x = ((stage.stageWidth / 2) - (274 / 2)); sting.x = ((stage.stageWidth / 2) - 5); sting.y = (parent.stage.stageHeight / 2); bar.y = (sting.y + 30); stage.addEventListener(MouseEvent.MOUSE_DOWN, draw); stage.addEventListener(MouseEvent.MOUSE_UP, stopDraw); addChild(bmp); _local2 = 0; while (_local2 < barWidth) { _local3 = 0; while (_local3 < barHeight) { _local4 = new PreloaderPiece(barWidth, 0, _local2, _local3); pixels.push(_local4); _local3++; }; _local2++; }; } public function goodbye():void{ if (bar.currentFrame == 23){ finished(); }; removeChild(bar); if (parent.stage.hasEventListener(MouseEvent.MOUSE_DOWN)){ parent.stage.removeEventListener(MouseEvent.MOUSE_DOWN, draw); parent.stage.removeEventListener(MouseEvent.MOUSE_UP, stopDraw); }; } private function draw(_arg1:MouseEvent):void{ mouseIsDown = true; } private function stopDraw(_arg1:MouseEvent):void{ mouseIsDown = false; } private function finished():void{ var _local1:int; removeEventListener(Event.ENTER_FRAME, step); if (pixels != null){ _local1 = 0; while (_local1 < pixels.length) { if (pixels[_local1].active){ pixels[_local1].destroy(); bar.bar.removeChild(pixels[_local1]); }; _local1++; }; pixels.splice(0); }; } public function update(_arg1:Number, _arg2:Number):void{ bytesLoaded = _arg1; bytesTotal = _arg2; } private function step(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:PreloaderPiece; var _local5:int; if (((morePixels) && ((bar.currentFrame == 23)))){ percent = Math.round(((bytesLoaded / bytesTotal) * 100)); _local2 = (barWidth * barHeight); newPixelsReady = Math.round(((percent - previousPercent) * (_local2 / 100))); _local3 = 0; while (_local3 < newPixelsReady) { if ((pixelReady + _local3) >= pixels.length){ morePixels = false; break; } else { _local4 = pixels[(pixelReady + _local3)]; if (bar.bar != null){ if (first){ trace(("percent" + percent)); _local5 = 0; while (_local5 < pixels.length) { if (pixels[_local5].target.x <= ((percent * barWidth) / 100)){ pixels[_local5].go(((Math.random() * 20) + 10)); bar.bar.addChild(pixels[_local5]); trace((" add me " + _local5)); }; _local5++; }; first = false; }; bar.bar.addChild(_local4); }; _local4.go(((Math.random() * 20) + 10)); }; _local3++; }; pixelReady = (pixelReady + newPixelsReady); previousPercent = percent; }; drawClip.graphics.clear(); drawClip.graphics.lineStyle((Math.random() * 6), 0xFFFFFF); drawClip.graphics.moveTo(pX, pY); if (mouseIsDown){ drawClip.graphics.curveTo(((mouseX - 20) + (Math.random() * 40)), ((mouseY - 20) + (Math.random() * 40)), mouseX, mouseY); bmp_data.draw(drawClip, drawClip.transform.matrix); }; bmp_data.applyFilter(bmp_data, bmp_data.rect, new Point(0, 0), new BlurFilter(2, 2, 3)); pX = mouseX; pY = mouseY; if (bytesLoaded >= bytesTotal){ removeEventListener(Event.ENTER_FRAME, step); }; } } }//package com.fingertime.core
Section 5
//GameTitle (com.playerthree.overkill.GameTitle) package com.playerthree.overkill { import flash.display.*; public class GameTitle extends MovieClip { public var p3link_mc:MovieClip; public var clickthru_mc:MovieClip; public var finglink_mc:MovieClip; public function GameTitle(){ addFrameScript(0, frame1, 29, frame30); x = (Settings.ScreenW / 2); y = 140; } function frame1(){ stop(); } function frame30(){ stop(); } public function update():Boolean{ if (currentFrame == 30){ stop(); }; if (currentFrame >= 47){ return (false); }; if (Score.PlayState == 1){ if (currentFrame < 31){ gotoAndPlay(31); }; }; return (true); } } }//package com.playerthree.overkill
Section 6
//Score (com.playerthree.overkill.Score) package com.playerthree.overkill { import com.fingertime.core.loader.*; public class Score { private static var NEW_LIFE_NUM:int = 0; private static var silverScore:int = 400000; private static var silverId:int = 142; private static var LAST_SCORE:int; private static var __RANK:int = 0; private static var SHOTS:int = 0; private static var goldId:int = 141; private static var bronzeScore:int = 200000; private static var goldScore:int = 800000; private static var platScore:int = 1000000; private static var PLAY_STATE:int = 0; public static var TOTAL:int = 0; private static var platId:int = 126; private static var LAST_RANK:int; public static var OLD_SCORE:int = 0; private static var SPAWN_NEW_LIFE:Boolean = false; private static var LIFE_THRESHOLD:int = 2; private static var THRESHOLD:int = 30000; private static var HIT_SHOTS:int = 0; private static var AMMO:Array = new Array(); private static var MENU_SELECT:int = 0; private static var EN_DESTROYED:int = 0; private static var LEVEL:int = 0; private static var LIVES:int = 0; private static var bronzeId:int = 143; private static var ATTACK_ID:int = 0; public static var NEW_SCORE:int = 0; public static function get Att():int{ return (ATTACK_ID); } public static function setEnHits(_arg1:int):void{ EN_DESTROYED = (EN_DESTROYED + _arg1); } public static function get AmmoArr():Array{ return (AMMO); } public static function get PlayState():int{ return (PLAY_STATE); } public static function get Accuracy():Number{ if (SHOTS == 0){ return (0); }; if (HIT_SHOTS == 0){ return (0); }; return (Math.ceil(((HIT_SHOTS / SHOTS) * 100))); } public static function get Shot():int{ return (SHOTS); } public static function set MenuSelect(_arg1:int):void{ MENU_SELECT = _arg1; } public static function get MenuYPos():int{ switch (MENU_SELECT){ case 0: return ((Settings.ScreenH / 2)); case 1: return (((Settings.ScreenH / 2) + 36)); case 2: return (((Settings.ScreenH / 2) + 72)); default: return ((Settings.ScreenH / 2)); }; } public static function setLevel(_arg1:int):void{ LEVEL = _arg1; } public static function setLives(_arg1:int){ LIVES = _arg1; } public static function setHits(_arg1:int):void{ HIT_SHOTS = (HIT_SHOTS + _arg1); } public static function get LifeNum():int{ return (LIVES); } public static function setAmmo(_arg1:Array):void{ AMMO = _arg1; } public static function get Ens():int{ return (EN_DESTROYED); } public static function get Rank():int{ return (__RANK); } public static function reset():void{ LAST_RANK = __RANK; LAST_SCORE = TOTAL; SPAWN_NEW_LIFE = false; NEW_LIFE_NUM = (__RANK = (EN_DESTROYED = (OLD_SCORE = (NEW_SCORE = (TOTAL = (SHOTS = (HIT_SHOTS = (ATTACK_ID = (LEVEL = 0))))))))); } public static function setAttack(_arg1:int):void{ _arg1 = (_arg1 % 4); ATTACK_ID = _arg1; } public static function setScore(_arg1:int):void{ NEW_SCORE = (OLD_SCORE + _arg1); if ((((NEW_SCORE > THRESHOLD)) && (((NEW_SCORE % THRESHOLD) < (OLD_SCORE % THRESHOLD))))){ __RANK++; if (NEW_LIFE_NUM < LIFE_THRESHOLD){ NEW_LIFE_NUM++; trace((" new life num = " + NEW_LIFE_NUM)); } else { SPAWN_NEW_LIFE = true; NEW_LIFE_NUM = (NEW_LIFE_NUM - (NEW_LIFE_NUM - 1)); trace(" spawn new life "); }; }; OLD_SCORE = NEW_SCORE; if (NEW_SCORE >= platScore){ SFCLoader.go().achievement(platId); } else { if (NEW_SCORE >= goldScore){ SFCLoader.go().achievement(goldId); } else { if (NEW_SCORE >= silverScore){ SFCLoader.go().achievement(silverId); } else { if (NEW_SCORE >= bronzeScore){ SFCLoader.go().achievement(bronzeId); }; }; }; }; TOTAL = NEW_SCORE; } public static function get Hits():int{ return (HIT_SHOTS); } public static function get SpawnNewLife():Boolean{ var _local1:Boolean; _local1 = SPAWN_NEW_LIFE; if (_local1){ SPAWN_NEW_LIFE = false; }; return (_local1); } public static function setShots(_arg1:int):void{ SHOTS = (SHOTS + _arg1); } public static function setPlayState(_arg1:String):void{ switch (_arg1){ case "Menu": PLAY_STATE = 0; break; case "Play": PLAY_STATE = 1; break; case "Over": PLAY_STATE = 2; break; }; } public static function get Lev():int{ return (LEVEL); } } }//package com.playerthree.overkill
Section 7
//Settings (com.playerthree.overkill.Settings) package com.playerthree.overkill { public final class Settings { private static var MIN_X_SCROLL:int = 200; private static var HOMING_SPEED:Number = 1.6; private static var STAGE_INTERVAL:int = 160; private static var MAX_Y_SCROLL:int = 400; private static var LASER_INIT:int = 12; private static var HEIGHT:int = 400; private static var ITEM_TYPES:Array = [0, 1, 2, 3, 4, 5, 6, 7, 10, 11]; private static var MAX_X_SCROLL:int = 300; private static var DECAY_TIME:int = 600; private static var BOSS_INTERVAL:int = 180; private static var GRID_SIZE:int = 64; private static var BOMB_RATE:int = 12; private static var HOMING_RATE:int = 24; private static var GRAV:Number = 0.2; private static var CREATE_ARR1:Array = [[30, 30, 30, 300, 30], [30, 30, 30, 30, 30], [5, 5, 5, 5, 5], [1, 0, 0, 0, 1], [1, 1, 1, 1, 1]]; private static var MISSILE_RATE:int = 16; private static var CREATE_ARR:Array = [30, 50, 75, 125]; private static var INIT_WEAPONS:Array = [-1, 50, 50, 50, 0, 0]; private static var ENEMY_TOTAL:int = 1000; private static var MAX_BULLETS:int = 60; private static var GAME_SPEED:Number = 0.6; private static var BATCH_ARR:Array = [[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]], [[2, 2, 1, 2, 2], [2, 3, 1, 2, 2], [4, 3, 1, 3, 2]], [[2, 2, 1, 2, 3], [2, 3, 1, 2, 2], [4, 3, 1, 3, 2]], [[2, 3, 1, 2, 3], [2, 3, 1, 2, 2], [4, 3, 1, 3, 2]], [[2, 4, 1, 2, 4], [2, 3, 1, 2, 2], [4, 3, 1, 3, 2]]]; private static var BADGE_Y:int = 9; private static var BADGE_X:int = 320; private static var WIDTH:int = 720; private static var BULLET_SPEED:int = 12; private static var OVER_X:int = 8; private static var FADE_TIME:int = 175; private static var OVER_Y:int = 8; private static var SEEKER_RATE:int = 8; private static var FLOOR_Y:int = 390; private static var BUILDING_SPEED:Number = -16; private static var BULLET_STRENGTH:Array = [1, 5, 25, 50, 5, 16, 16, 17, 18, 19, 10, 32, 24, 32, 24, 10]; private static var MIN_Y_SCROLL:int = 300; private static var INIT_X:int = 130; private static var INIT_Y:int = 130; private static var IS_DEBUG:Boolean = true; private static var RESTART:Boolean = false; private static var INIT_LIVES:int = 3; private static var BULLET_RATE:int = 3; public static function get HomingRate():int{ return (HOMING_RATE); } public static function get MissileRate():int{ return (MISSILE_RATE); } public static function get Batch():Array{ return (BATCH_ARR.slice()); } public static function get Create():Array{ return (CREATE_ARR.slice()); } public static function get InitX():int{ return (INIT_X); } public static function get BulletRate():int{ return (BULLET_RATE); } public static function get Gravity():Number{ return (GRAV); } public static function get InitY():int{ return (INIT_Y); } public static function get Debug():Boolean{ return (IS_DEBUG); } public static function get BadgeX():int{ return (BADGE_X); } public static function get BadgeY():int{ return (BADGE_Y); } public static function get OverlayX():int{ return (OVER_X); } public static function get ScreenH():int{ return (HEIGHT); } public static function get OverlayY():int{ return (OVER_Y); } public static function setGameSpeed(_arg1:Number):void{ GAME_SPEED = _arg1; } public static function get BulletSpeed():int{ return (BULLET_SPEED); } public static function get ScreenW():int{ return (WIDTH); } public static function setRestart():void{ RESTART = true; } public static function get GameSpeed():Number{ return (GAME_SPEED); } public static function get LaserInit():int{ return (LASER_INIT); } public static function get MinX():int{ return (MIN_X_SCROLL); } public static function get Strength():Array{ return (BULLET_STRENGTH); } public static function set Debug(_arg1:Boolean):void{ IS_DEBUG = _arg1; } public static function get MinY():int{ return (MIN_Y_SCROLL); } public static function get BossInterval():int{ return (BOSS_INTERVAL); } public static function get GridSize():int{ return (GRID_SIZE); } public static function get FadeTime():int{ return (FADE_TIME); } public static function get InitWeapons():Array{ return (INIT_WEAPONS.slice()); } public static function get MaxX():int{ return (MAX_X_SCROLL); } public static function get MaxY():int{ return (MAX_Y_SCROLL); } public static function get DecayTime():int{ return (DECAY_TIME); } public static function get RandomItem():int{ return (ITEM_TYPES[Math.floor((Math.random() * ITEM_TYPES.length))]); } public static function get HomingSpeed():Number{ return (HOMING_SPEED); } public static function get InitLives():int{ return (INIT_LIVES); } public static function get BombRate():int{ return (BOMB_RATE); } public static function get SeekerRate():int{ return (SEEKER_RATE); } public static function get StageInterval():int{ return (STAGE_INTERVAL); } public static function get EnemyTotal():int{ return (ENEMY_TOTAL); } public static function get MaxBullets():int{ return (MAX_BULLETS); } public static function get BuildingSpeed():Number{ return (BUILDING_SPEED); } public static function get DoRestart():Boolean{ var _local1:Boolean; _local1 = RESTART; if (RESTART == true){ RESTART = false; }; return (_local1); } public static function get Floor():int{ return (FLOOR_Y); } } }//package com.playerthree.overkill
Section 8
//KeyState (com.playerthree.util.KeyState) package com.playerthree.util { import flash.events.*; public class KeyState { public var spacebar:Boolean; public var left:Boolean; public var two:Boolean; public var up:Boolean; public var right:Boolean; public var three:Boolean; public var down:Boolean; public var c:Boolean; public var one:Boolean; public var ctrl:Boolean; public var four:Boolean; public var u:Boolean; public var z:Boolean; public var x:Boolean; public function KeyState(){ left = (right = (up = (down = (spacebar = (ctrl = (z = (x = false))))))); } public function onKeyDown(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 37: case 65: left = true; break; case 39: case 68: right = true; break; case 38: case 87: up = true; break; case 40: case 83: down = true; break; case 32: spacebar = true; break; case 17: ctrl = true; break; case 85: u = true; break; case 67: c = true; break; case 88: x = true; break; case 90: z = true; break; case 97: case 49: one = true; break; case 98: case 50: two = true; break; case 99: case 51: three = true; break; case 100: case 52: four = true; break; }; } public function onKeyUp(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 37: case 65: left = false; break; case 39: case 68: right = false; break; case 38: case 87: up = false; break; case 40: case 83: down = false; break; case 32: spacebar = false; break; case 17: ctrl = false; break; case 85: u = false; break; case 67: c = false; break; case 88: x = false; break; case 90: z = false; break; case 97: case 49: one = false; break; case 98: case 50: two = false; break; case 99: case 51: three = false; break; case 100: case 52: four = false; break; }; } } }//package com.playerthree.util
Section 9
//MouseState (com.playerthree.util.MouseState) package com.playerthree.util { import flash.events.*; public class MouseState { private var _clicked:Boolean;// = false public var x:int; public var y:int; public function MouseState(){ _clicked = false; super(); } public function mouseclick(_arg1:MouseEvent):void{ _clicked = true; x = _arg1.localX; y = _arg1.localY; } public function pos(_arg1:Number, _arg2:Number):void{ this.x = int(_arg1); this.y = int(_arg2); } public function isClicked():Boolean{ var _local1:Boolean; _local1 = _clicked; _clicked = false; return (_local1); } } }//package com.playerthree.util
Section 10
//Vector (com.playerthree.util.Vector) package com.playerthree.util { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number, _arg2:Number){ this.x = _arg1; this.y = _arg2; } } }//package com.playerthree.util
Section 11
//PM_PRNG (de.polygonal.math.PM_PRNG) package de.polygonal.math { public class PM_PRNG { public var seed:uint; public function PM_PRNG(){ seed = 1; } public function nextIntRange(_arg1:Number, _arg2:Number):uint{ _arg1 = (_arg1 - 0.4999); _arg2 = (_arg2 + 0.4999); return (Math.round((_arg1 + ((_arg2 - _arg1) * nextDouble())))); } public function nextDouble():Number{ return ((gen() / 2147483647)); } public function nextDoubleRange(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + ((_arg2 - _arg1) * nextDouble()))); } public function nextInt():uint{ return (gen()); } private function gen():uint{ return ((seed = ((seed * 16807) % 2147483647))); } } }//package de.polygonal.math
Section 12
//Exponential (fl.motion.easing.Exponential) package fl.motion.easing { public class Exponential { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == _arg4)) ? (_arg2 + _arg3) : ((_arg3 * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg1 == 0)) ? _arg2 : ((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2)); }; --_arg1; return ((((_arg3 / 2) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } } }//package fl.motion.easing
Section 13
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.media.*; import flash.geom.*; import flash.utils.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _active:Boolean; public var vars:Object; public var tweens:Array; public var initTime:int; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 6.35; private static var _sprite:Sprite = new Sprite(); protected static var _all:Dictionary = new Dictionary(); public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; protected static var _curTime:uint; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(); }; _all[_arg1][this] = this; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); _active = (((_arg2 == 0)) && ((this.delay == 0))); this.target = _arg1; if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); this.vars.visible = (this.vars.alpha > 0); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _classInitted = true; }; this.initTime = _curTime; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = _curTime; if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((!((this.vars.visible == undefined))) && ((this.vars.runBackwards == true)))){ this.target.visible = this.vars.visible; }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{ var _local5:Object; var _local6:String; _local5 = {proxy:_arg1, target:_arg2, info:_arg4}; _subTweens.push(_local5); for (_local6 in _arg3) { if (typeof(_arg3[_local6]) == "number"){ this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5}); } else { this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5}); }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:Boolean; var _local4:String; var _local5:int; var _local6:Array; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; _local3 = (this.target is DisplayObject); if ((this.target is Array)){ _local6 = ((this.vars.endArray) || ([])); _local5 = 0; while (_local5 < _local6.length) { if (((!((this.target[_local5] == _local6[_local5]))) && (!((this.target[_local5] == undefined))))){ this.tweens.push({o:this.target, p:_local5.toString(), s:this.target[_local5], c:(_local6[_local5] - this.target[_local5])}); }; _local5++; }; } else { for (_local4 in this.vars) { if ((((((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "visible")))) || ((_local4 == "parsed_visible")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "proxiedEase")))) || ((_local4 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){ } else { if ((((_local4 == "tint")) && (_local3))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (this.vars.alpha != undefined){ _local8.alphaMultiplier = this.vars.alpha; delete this.vars.alpha; _local5 = (this.tweens.length - 1); while (_local5 > -1) { if (this.tweens[_local5].p == "alpha"){ this.tweens.splice(_local5, 1); break; }; _local5--; }; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))) || ((this.vars[_local4] == 0)))){ _local8.color = this.vars[_local4]; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); } else { if ((((_local4 == "frame")) && (_local3))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target}); } else { if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target}); } else { if (typeof(this.vars[_local4]) == "number"){ this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])}); } else { this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])}); }; }; }; }; }; }; }; if (this.vars.runBackwards == true){ _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local9 = this.tweens[_local5]; this.tweens[_local5].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); _local5--; }; }; if (this.vars.visible == true){ this.target.visible = true; }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (this.vars.visible != undefined){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = 1; } else { _local3 = this.vars.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - (this.duration * 1000)); render(_curTime); return; }; if (this.vars.visible != undefined){ if (((!((this.vars.autoAlpha == undefined))) && ((this.target.alpha == 0)))){ this.target.visible = false; } else { if (this.vars.runBackwards != true){ this.target.visible = this.vars.visible; }; }; }; removeTween(this); if (this.vars.onComplete != null){ this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams); }; } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ delete _all[_arg1.target][_arg1]; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Object; var _local5:Object; _local2 = (_curTime = getTimer()); if (_listening){ _local3 = _all; for each (_local4 in _local3) { for (_local5 in _local4) { if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){ _local4[_local5].render(_local2); }; }; }; }; } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function killGarbage(_arg1:TimerEvent):void{ var _local2:uint; var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; _local2 = 0; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Object; _local2 = _arg1.target.progress; _local3 = (1 - _local2); _local4 = _arg1.info.color; _local5 = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 14
//mc_29 (oa2_demo_fla.mc_29) package oa2_demo_fla { import flash.display.*; public dynamic class mc_29 extends MovieClip { public function mc_29(){ addFrameScript(79, frame80); } function frame80(){ stop(); } } }//package oa2_demo_fla
Section 15
//mc_4 (oa2_demo_fla.mc_4) package oa2_demo_fla { import flash.display.*; public dynamic class mc_4 extends MovieClip { public function mc_4(){ addFrameScript(0, frame1, 4, frame5); } function frame1(){ stop(); } function frame5(){ this.gotoAndPlay("loop"); } } }//package oa2_demo_fla
Section 16
//mc_51 (oa2_demo_fla.mc_51) package oa2_demo_fla { import flash.display.*; public dynamic class mc_51 extends MovieClip { public function mc_51(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package oa2_demo_fla
Section 17
//mc_59 (oa2_demo_fla.mc_59) package oa2_demo_fla { import flash.display.*; public dynamic class mc_59 extends MovieClip { public function mc_59(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package oa2_demo_fla
Section 18
//mc_73 (oa2_demo_fla.mc_73) package oa2_demo_fla { import flash.display.*; public dynamic class mc_73 extends MovieClip { public function mc_73(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package oa2_demo_fla
Section 19
//mc_75 (oa2_demo_fla.mc_75) package oa2_demo_fla { import flash.display.*; public dynamic class mc_75 extends MovieClip { public var digit_mc:MovieClip; } }//package oa2_demo_fla
Section 20
//mc_85 (oa2_demo_fla.mc_85) package oa2_demo_fla { import flash.display.*; public dynamic class mc_85 extends MovieClip { public var plum:MovieClip; } }//package oa2_demo_fla
Section 21
//mc_86 (oa2_demo_fla.mc_86) package oa2_demo_fla { import flash.display.*; public dynamic class mc_86 extends MovieClip { public var num0:MovieClip; public var num1:MovieClip; public var num2:MovieClip; } }//package oa2_demo_fla
Section 22
//mc_93 (oa2_demo_fla.mc_93) package oa2_demo_fla { import flash.display.*; public dynamic class mc_93 extends MovieClip { public function mc_93(){ addFrameScript(59, frame60); } function frame60(){ stop(); } } }//package oa2_demo_fla
Section 23
//mc_94 (oa2_demo_fla.mc_94) package oa2_demo_fla { import flash.display.*; public dynamic class mc_94 extends MovieClip { public function mc_94(){ addFrameScript(59, frame60); } function frame60(){ stop(); } } }//package oa2_demo_fla
Section 24
//mc_96 (oa2_demo_fla.mc_96) package oa2_demo_fla { import flash.display.*; public dynamic class mc_96 extends MovieClip { public var bar:MovieClip; public function mc_96(){ addFrameScript(22, frame23); } function frame23(){ stop(); } } }//package oa2_demo_fla
Section 25
//AmmoCounterSprite (AmmoCounterSprite) package { import flash.display.*; public dynamic class AmmoCounterSprite extends MovieClip { public var num2_mc:MovieClip; public var num0_mc:MovieClip; public var num1_mc:MovieClip; } }//package
Section 26
//ArcLoopSound (ArcLoopSound) package { import flash.media.*; public dynamic class ArcLoopSound extends Sound { } }//package
Section 27
//ArcStopSound (ArcStopSound) package { import flash.media.*; public dynamic class ArcStopSound extends Sound { } }//package
Section 28
//Beam (Beam) package { import com.playerthree.util.*; import flash.display.*; public class Beam { private const COLOURS:Array; private const LINE_WIDTH:int = 6; private const LINE_ALPHA:int = 100; private const RAD:int = 728; private var _origin:Vector; private var _live:Boolean; private var _rot:Number; private var _friendly:Boolean; public var canvas:Shape; private var _remove:Boolean;// = false private var _cindex:int;// = 0 private var _target:Vector; public function Beam(_arg1:Vector, _arg2:Number, _arg3:Boolean=true){ COLOURS = [1065152, 1077488, 2142448, 5296368, 0xF0F0F0]; _cindex = 0; _remove = false; super(); canvas = new Shape(); _origin = new Vector(_arg1.x, _arg1.y); _target = new Vector(0, 0); _rot = _arg2; _friendly = _arg3; _live = true; } public function get remove():Boolean{ return (_remove); } public function set remove(_arg1:Boolean):void{ _remove = _arg1; } public function update(_arg1:Vector, _arg2:Number):void{ var _local3:Number; var _local4:int; _origin.x = _arg1.x; _origin.y = _arg1.y; _rot = _arg2; _local3 = Globals.to_radians(_rot); _local4 = (_friendly) ? 1 : -1; _target.x = (_origin.x + ((RAD * Math.cos(_local3)) * _local4)); _target.y = (_origin.y + ((RAD * Math.sin(_local3)) * _local4)); } public function get target():Vector{ return (_target); } public function render():void{ if (!_live){ canvas.graphics.clear(); return; }; _cindex++; _cindex = (_cindex % 5); canvas.graphics.clear(); canvas.graphics.lineStyle(LINE_WIDTH, COLOURS[_cindex], LINE_ALPHA); canvas.graphics.moveTo(_origin.x, _origin.y); canvas.graphics.lineTo(_target.x, _target.y); _cindex++; _cindex = (_cindex % 5); canvas.graphics.lineStyle((LINE_WIDTH - 1), COLOURS[_cindex], (LINE_ALPHA - 20)); canvas.graphics.moveTo(_origin.x, _origin.y); canvas.graphics.lineTo(_target.x, _target.y); _cindex++; _cindex = (_cindex % 5); canvas.graphics.lineStyle((LINE_WIDTH - 2), COLOURS[_cindex], LINE_ALPHA); canvas.graphics.moveTo(_origin.x, _origin.y); canvas.graphics.lineTo(_target.x, _target.y); } public function kill():void{ remove = true; } public function get friendly():Boolean{ return (_friendly); } public function get origin():Vector{ return (_origin); } public function collision(_arg1):Boolean{ var _local2:Vector; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; if (!_live){ return (false); }; _local2 = new Vector(0, 0); _local3 = (_arg1.pos.x - _origin.x); _local4 = (_arg1.pos.y - _origin.y); _local7 = (_target.x - _origin.x); _local8 = (_target.y - _origin.y); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); if (_local9 > 0){ _local5 = (_local7 / _local9); _local6 = (_local8 / _local9); } else { _local6 = 0; _local5 = _local6; }; _local10 = ((_local3 * _local5) + (_local4 * _local6)); if (_local10 < 0){ _local2.x = _local3; _local2.y = _local4; } else { _local3 = (_arg1.pos.x - _target.x); _local4 = (_arg1.pos.y - _target.y); _local10 = ((_local3 * _local5) + (_local4 * _local6)); if (_local10 > 0){ _local2.x = _local3; _local2.y = _local4; } else { _local13 = _local6; _local14 = -(_local5); _local10 = ((_local3 * _local13) + (_local4 * _local14)); _local2.x = (_local10 * _local13); _local2.y = (_local10 * _local14); }; }; _local11 = Math.sqrt(((_local2.x * _local2.x) + (_local2.y * _local2.y))); _local12 = (_arg1.rad - _local11); if (_local12 >= 0){ return (true); }; return (false); } } }//package
Section 29
//BeamPool (BeamPool) package { import flash.display.*; public class BeamPool { private var _enship:Array; private var _beams:Array; public var mc:Sprite; public function BeamPool(){ _beams = new Array(); _enship = new Array(); super(); mc = new Sprite(); } public function update(_arg1:EnemyPool, _arg2:BossManager, _arg3:Ship, _arg4:ExplosionPool, _arg5:ItemPool, _arg6:Scroller):void{ var _local7:int; var _local8:Beam; var _local9:int; var _local10:Enemy; var _local11:Boss; var _local12:int; _local7 = _beams.length; while (--_local7 > -1) { _local8 = _beams[_local7]; _local8.update(_enship[_local7].pos, _enship[_local7].rot); if (_local8.friendly){ _local9 = _arg1.enemies.length; while (--_local9 > -1) { _local10 = _arg1.enemies[_local9]; if (((!(_local10.remove)) && (!((_local10.type == EnemyType.DROP_SHIP))))){ if (_local8.collision(_local10)){ _local10.damage(3); if (_local10.health < 0){ _local10.kill(); Globals.add_score(_local10.value); _arg4.create(ExplosionType.AIR1, _local10.pos); if (_local10.canspawnitem){ if (Math.random() < 0.1){ _arg5.create_item(Globals.get_pickup(), _local10.pos); }; }; _arg6.burn_background(_local8.origin, _local8.target); } else { _local10.flash(1, 2, Math.random(), 1); }; }; }; }; _local9 = _arg2.bosses.length; while (--_local9 > -1) { _local11 = _arg2.bosses[_local9]; if (!_local11.remove){ if (_local8.collision(_local11)){ _local11.damage(1); if (_local11.health < 0){ _local11.kill(); Globals.add_score(_local11.value); _arg4.create(ExplosionType.BIG_UPWARDS, _local11.pos); } else { _local11.flash(1, 2, Math.random(), 1); }; }; }; }; } else { if (!_arg3.dead){ if (_local8.collision(_arg3)){ _arg3.damage(3); if (_arg3.health < 0){ _arg3.kill(); _arg4.create(ExplosionType.BIG_AIR, _arg3.pos); _local12 = _arg3.ammo.length; while (--_local12 > -1) { if (_arg3.ammo[_local12]){ _arg5.create_item(_local12, _arg3.pos); }; }; if (Math.random() < 0.1){ _arg5.create_item(Globals.get_pickup(), _arg3.pos); }; _arg6.burn_background(_local8.origin, _local8.target); } else { _arg3.flash(1, 2, Math.random(), 1); }; }; }; }; if (_local8.remove){ _enship.splice(_local7, 1); _beams.splice(_local7, 1); mc.removeChild(_local8.canvas); }; }; } public function create_beam(_arg1, _arg2:Boolean=true):void{ var _local3:Beam; _local3 = new Beam(_arg1.pos, 0, _arg2); _beams.push(_local3); mc.addChild(_local3.canvas); _enship.push(_arg1); } public function render():void{ var _local1:int; var _local2:Beam; _local1 = _beams.length; while (--_local1 > -1) { _local2 = _beams[_local1]; _local2.render(); }; } public function kill(_arg1):void{ var _local2:int; _local2 = _beams.length; while (--_local2 > -1) { if (_arg1 == _enship[_local2]){ _beams[_local2].kill(); break; }; }; } } }//package
Section 30
//BitmapScore (BitmapScore) package { import flash.display.*; import flash.geom.*; public class BitmapScore { private const OFFSET_X:Array; private const OFFSET_Y:Array; private const COLS:Array; private const CHARS:int = 10; private var off_x:Number; private var pt:Point; public var bmp:Bitmap; private var _livesbuffer:BitmapData; public var livesbmp:Bitmap; private var _buffer:BitmapData; private var block_rc:Rectangle; private var _src:BitmapData; private var h:Number; private var off_y:Number; private var _scorearr:Array; private var rc:Rectangle; private var cw:Number; private var w:Number; private var col:Number; public function BitmapScore(){ var _local1:int; var _local2:int; OFFSET_X = [0, 0]; OFFSET_Y = [9, 30]; COLS = [7, 2]; super(); _src = new NumbersBitmap(0, 0); this.w = _src.width; this.cw = (w / CHARS); this.h = _src.height; off_x = 48; off_y = 5; _buffer = new BitmapData(w, h, true, 0); _livesbuffer = new BitmapData((cw * 2), h, true, 0); bmp = new Bitmap(_buffer); bmp.x = off_x; bmp.y = off_y; _local1 = 65; _local2 = 26; livesbmp = new Bitmap(_livesbuffer); livesbmp.x = _local1; livesbmp.y = _local2; rc = new Rectangle(0, 0, cw, h); pt = new Point(0, off_y); block_rc = new Rectangle(0, 0, w, h); col = COLS[0]; } public function update(_arg1:int):void{ var _local2:int; var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:Array; _local2 = Globals.get_score(); _local3 = _local2.toString().split(""); _local4 = _local3.length; _local5 = 8; _buffer.fillRect(new Rectangle(0, 0, w, h), 0); while (--_local5 > -1) { _local4--; _local6 = ((_local3[_local4])!=undefined) ? _local3[_local4] : 0; _buffer.copyPixels(_src, new Rectangle((_local6 * 8), 0, 8, 10), new Point((_local5 * 8), 0)); }; _local7 = _arg1.toString().split(""); _local4 = _local7.length; _local5 = 2; while (--_local5 > -1) { _local4--; _local6 = ((_local7[_local4])!=undefined) ? _local7[_local4] : 0; _livesbuffer.copyPixels(_src, new Rectangle((_local6 * 8), 0, 8, 10), new Point((_local5 * 8), 0)); }; } } }//package
Section 31
//BombPickupSound (BombPickupSound) package { import flash.media.*; public dynamic class BombPickupSound extends Sound { } }//package
Section 32
//Boss (Boss) package { import com.playerthree.util.*; import flash.display.*; import flash.geom.*; public class Boss { private var _beamrot:Number;// = 0 private var _inithealth:int;// = 1000 private var _startpos:Vector; private var _movetimer:int;// = 0 public var mc:MovieClip; private var _rot:Number; private var _type:int; private var _shoot:Boolean;// = false private var _remove:Boolean;// = false private var _beams:BeamPool; private var _aabb:Boolean;// = false private var _width:Number; public var oldpos:Vector; private var _defaultcolour:ColorTransform; public var pos:Vector; private var _height:Number; private var _rad:Number;// = 60 private var _movestate:int;// = 0 public var accel:Vector; private var _isbeaming:Boolean;// = false private var _value:int; public var gridy:int; private var _flashnum:int; public var gridx:int; private var _health:int;// = 1000 public function Boss(_arg1:int, _arg2:Vector, _arg3:BeamPool){ _movestate = 0; _movetimer = 0; _rad = 60; _health = 1000; _inithealth = 1000; _isbeaming = false; _remove = false; _shoot = false; _aabb = false; _beamrot = 0; super(); _startpos = new Vector(_arg2.x, _arg2.y); this._beams = _arg3; this._type = _arg1; if (_type == 0){ _aabb = true; _width = 168; _height = 140; } else { if (_arg1 == 2){ _rad = 64; _width = 200; _height = 290; } else { if (_arg1 == 3){ _rad = 32; _width = 40; _height = 40; } else { _rad = 64; _width = 40; _height = 240; }; }; }; _value = ((Globals.LEVEL + 1) * 250); if (_value > 1000){ _value = 950; }; mc = new BossSprite(); mc.gotoAndStop((_arg1 + 1)); pos = new Vector(_startpos.x, _startpos.y); oldpos = new Vector(pos.x, pos.y); accel = new Vector(0, 0); _defaultcolour = mc.transform.colorTransform; _rot = mc.rotation; } public function get remove():Boolean{ return (_remove); } public function set remove(_arg1:Boolean):void{ _remove = _arg1; } public function get shoot():Boolean{ return (_shoot); } public function get rad():int{ return (_rad); } public function get height():Number{ return (_height); } public function render():void{ mc.x = pos.x; mc.y = pos.y; if (_type == 3){ mc.rotation = (accel.x * 1.4); }; _rot = mc.rotation; } private function attackmove():void{ switch (_type){ case 0: big_tank(); break; case 1: zeppelin(); break; case 2: boat(); break; case 3: apache(); break; }; } public function set health(_arg1:int):void{ _health = _arg1; } public function collision(_arg1:Ship):int{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:int; var _local9:int; var _local10:int; _local2 = 0; if (!_aabb){ if (_arg1.gridy == gridy){ if (_arg1.gridx == gridx){ _local5 = ((_arg1.rad * _arg1.rad) + (rad * rad)); _local3 = (_arg1.oldpos.x - oldpos.x); _local4 = (_arg1.oldpos.y - oldpos.y); _local6 = (((_local3 * _local3) + (_local4 * _local4)) - _local5); if (_local6 < 0){ _local2 = 1; }; }; }; } else { _local10 = pos.y; _local9 = (pos.x + (mc.width / 2)); _local7 = (pos.x - (mc.width / 2)); _local8 = (pos.y - mc.height); if (_arg1.pos.x > _local7){ if (_arg1.pos.x < _local9){ if (_arg1.pos.y > _local8){ if (_arg1.pos.y < _local10){ _local2 = 1; }; }; }; }; }; return (_local2); } public function get type():int{ return (_type); } private function reset_colour():void{ var _local1:Transform; var _local2:ColorTransform; if (_flashnum > 1){ _flashnum--; return; }; _flashnum--; _local1 = new Transform(mc); _local2 = _defaultcolour; _local1.colorTransform = _local2; } public function set shoot(_arg1:Boolean):void{ _shoot = _arg1; } public function get beamrot():Number{ return (_beamrot); } private function big_tank():void{ switch (_movestate){ case 0: accel.x = -1; _movestate = 1; break; case 1: if (pos.x < 640){ _movestate = 2; accel.x = 1; }; break; case 2: if (pos.x > 690){ _movestate = 0; }; break; default: _movestate = 0; }; } private function boat():void{ _movetimer++; if (!(_movetimer % 22)){ shoot = true; }; if (_movetimer == 160){ if (!_isbeaming){ _beams.create_beam(this, false); _isbeaming = true; }; } else { if (_movetimer == 240){ if (_isbeaming){ _beams.kill(this); _isbeaming = false; _movetimer = 0; }; }; }; switch (_movestate){ case 0: accel.x = -1; if (pos.x < 650){ shoot = true; _movestate = 1; }; break; case 1: accel.x = 1; if (pos.x > 700){ _movestate = 0; }; break; }; } public function get rot():Number{ return (_rot); } public function update():void{ if (_flashnum > 0){ reset_colour(); }; oldpos.x = pos.x; oldpos.y = pos.y; attackmove(); pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); gridx = Math.floor((pos.x / Globals.GRID_SIZE)); gridy = Math.floor((pos.y / Globals.GRID_SIZE)); } public function get health():int{ return (_health); } private function apache():void{ _movetimer++; switch (_movestate){ case 0: accel.x = -12; accel.y = 2; _movestate = 1; break; case 1: accel.x = (accel.x * 0.95); accel.y = (accel.y * 0.95); if (accel.x > -1){ shoot = true; accel.x = 0; accel.y = 0; _movestate = 2; }; break; case 2: if (accel.x < 3){ accel.x = (accel.x + 0.1); if (accel.y > -2){ accel.y = (accel.y - 0.1); }; } else { if (Globals.LEVEL > 1){ if (!_isbeaming){ _beams.create_beam(this, false); _isbeaming = true; }; }; shoot = true; _movestate = 3; }; break; case 3: accel.x = (accel.x * 0.95); accel.y = (accel.y * 0.95); if (accel.x < 1){ shoot = true; accel.x = 0; accel.y = 0; _movestate = 4; }; break; case 4: if (accel.x > -1){ accel.x = (accel.x - 0.1); }; if (accel.y < 2){ accel.y = (accel.y + 0.1); } else { accel.x = (accel.y = 0); _movestate = 5; }; break; case 5: accel.x = (accel.x * 0.95); accel.y = (accel.y * 0.95); if (accel.y < 1){ accel.y = (accel.x = 0); if (_isbeaming){ _beams.kill(this); _isbeaming = false; }; _movestate = 6; shoot = true; }; break; case 6: if (accel.x < 4){ accel.x = (accel.x + 0.15); if (accel.y < 2){ accel.y = (accel.y + 0.25); }; } else { _movestate = 7; }; break; case 7: accel.x = (accel.x * 0.8); accel.y = (accel.y * 0.8); if (accel.x < 1){ _movestate = 8; }; break; case 8: if (accel.x > -12){ if (accel.y < 2){ accel.y = (accel.y + 0.2); }; accel.x = (accel.x - 0.25); } else { _movestate = 9; }; break; case 9: accel.x = (accel.x * 0.95); accel.y = (accel.y * 0.95); if (accel.x > -1){ accel.x = (accel.y = 0); shoot = true; _movestate = 10; }; break; case 10: if (!(_movetimer % 9)){ shoot = true; }; if (accel.x < 12){ if (accel.y > -4){ accel.y = (accel.y - 0.5); }; accel.x = (accel.x + 0.15); } else { _movestate = 11; }; break; case 11: accel.x = (accel.x * 0.95); accel.y = (accel.y * 0.95); if (accel.x < 1){ accel.x = (accel.y = 0); pos.x = _startpos.x; pos.y = _startpos.y; _movestate = 12; }; break; case 12: if (accel.x > -2){ accel.x = (accel.x - 0.1); } else { _movestate = 0; }; break; default: _movestate = 0; }; } public function get width():Number{ return (_width); } public function aabb():Boolean{ return (_aabb); } public function kill():void{ remove = true; if (_isbeaming){ _beams.kill(this); _isbeaming = false; }; } public function damage(_arg1:int):void{ health = (health - _arg1); } public function flash(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Transform; var _local6:ColorTransform; _local5 = new Transform(mc); _local6 = _local5.colorTransform; _local6.redMultiplier = _arg1; _local6.greenMultiplier = _arg2; _local6.blueMultiplier = _arg3; _local6.alphaMultiplier = _arg4; _local5.colorTransform = _local6; _flashnum = 10; } private function zeppelin():void{ _movetimer++; if (!(_movetimer % 22)){ }; switch (_movestate){ case 0: accel.x = -3; accel.y = 0.025; _movestate = 1; break; case 1: if (pos.x < 600){ _movestate = 2; }; break; case 2: accel.x = 1; if (pos.x > 660){ accel.y = 1; _movestate = 3; }; break; case 3: accel.x = (accel.x * 0.9); if (!(_movetimer % 12)){ shoot = true; }; if (pos.y > 140){ shoot = true; _movestate = 4; }; break; case 4: accel.y = -1; accel.x = 0.5; if (pos.y < 5){ _movestate = 0; }; break; }; } public function get value():int{ return (_value); } public function get pc():int{ return (Math.floor(((_health / _inithealth) * 100))); } } }//package
Section 33
//BossManager (BossManager) package { import com.playerthree.util.*; import flash.display.*; public class BossManager { private const startpositions:Array; private const max_enemies:int = 48; public var mc:Sprite; private var _spawntimer:int;// = 0 private var _timer:int;// = 0 private var _paused:Boolean;// = false private var enemies_spawned:int;// = 0 private var _spawnid:int;// = 0 private var _levelover:Boolean;// = false private var _ship:Ship; private var _bosses:Array; private var _explosions:ExplosionPool; private var _sounds:SoundManager; private var _beams:BeamPool; private var _enemies:EnemyPool; private var _bullets:BulletPool; private var _liveboss:Boolean;// = false public function BossManager(_arg1:Ship, _arg2:BeamPool, _arg3:BulletPool, _arg4:EnemyPool, _arg5:SoundManager, _arg6:ExplosionPool){ _bosses = new Array(); startpositions = [new Vector(800, 320), new Vector(800, -20), new Vector(800, 320), new Vector(800, 120)]; _liveboss = false; _levelover = false; _spawntimer = 0; _spawnid = 0; enemies_spawned = 0; _timer = 0; _paused = false; super(); mc = new Sprite(); this._ship = _arg1; this._beams = _arg2; this._bullets = _arg3; this._enemies = _arg4; this._explosions = _arg6; this._sounds = _arg5; } public function unpause():void{ _paused = false; } private function fire(_arg1:Vector, _arg2:int, _arg3:int, _arg4:int):void{ var _local5:Vector; var _local6:Vector; var _local7:Vector; var _local8:Vector; var _local9:Vector; if ((((_arg2 == 0)) || ((_arg2 == 3)))){ _bullets.create_bullet(_arg1, (_arg2 - 1), _arg4, false); } else { if (_arg2 == 2){ _arg4 = 1; _local5 = new Vector((_arg1.x - 9), _arg1.y); _local6 = new Vector(_arg1.x, _arg1.y); _local7 = new Vector((_arg1.x + 7), _arg1.y); _local8 = new Vector((_arg1.x + 7), (_arg1.y - 16)); _local9 = new Vector((_arg1.x + 21), (_arg1.y - 16)); _bullets.create_bullet(_local5, 12, _arg4, false); _bullets.create_bullet(_local6, 12, _arg4, false); _bullets.create_bullet(_local7, 12, _arg4, false); _bullets.create_bullet(_local8, 12, _arg4, false); _bullets.create_bullet(_local9, 12, _arg4, false); }; }; } public function get levelover():Boolean{ return (_levelover); } public function reset():void{ var _local1:int; var _local2:Boss; _liveboss = false; _levelover = false; _local1 = _bosses.length; while (--_local1 > -1) { _local2 = _bosses[_local1]; _bosses.splice(_local1, 1); mc.removeChild(_local2.mc); }; _spawntimer = 0; } public function get liveboss():Boolean{ return (_liveboss); } public function update(_arg1:ExplosionPool, _arg2:ItemPool):void{ var _local3:int; var _local4:Boss; var _local5:int; if (_paused){ return; }; if (_liveboss){ _spawntimer++; if (((!((_spawntimer % 72))) && ((enemies_spawned < max_enemies)))){ _enemies.create_enemy(new Vector(800, 200), EnemyType.HOMING, 1, (_spawnid % 3), 1); enemies_spawned++; _spawnid++; }; }; _timer++; _local3 = _bosses.length; while (--_local3 > -1) { _local4 = _bosses[_local3]; _local4.update(); if (_local4.shoot){ fire(_local4.pos, _local4.type, 0, -1); _local4.shoot = false; }; if (_local4.pc < 40){ if (!(_timer % (int((_local4.pc / 10)) + 2))){ _explosions.create_smoke(1, new Vector((_local4.pos.x + (Math.random() * 4)), (_local4.pos.y + (Math.random() * 4)))); }; } else { if (_local4.pc < 75){ if (!(_timer % (int((_local4.pc / 10)) + 2))){ _explosions.create_smoke(0, new Vector((_local4.pos.x + (Math.random() * 4)), (_local4.pos.y + (Math.random() * 4)))); }; }; }; if (_local4.collision(_ship)){ _ship.kill(); _arg1.create(ExplosionType.KILL, _ship.pos); _local5 = _ship.ammo.length; while (--_local5 > -1) { if (_ship.ammo[_local5]){ _arg2.create_item(_local5, _ship.pos); }; }; }; if (_local4.remove){ _bosses.splice(_local3, 1); _local4.kill(); _sounds.play_sound(OSounds.HA); mc.removeChild(_local4.mc); _enemies.kill_boss_enemies(_local4.pos.x, _local4.pos.y); _levelover = true; }; }; if ((((_bosses.length < 1)) && ((_enemies.bossdeathtimer < 1)))){ _liveboss = false; _levelover = false; }; } public function get bosses():Array{ return (_bosses); } public function render():void{ var _local1:int; var _local2:Boss; _local1 = _bosses.length; while (--_local1 > -1) { _local2 = _bosses[_local1]; _local2.render(); }; } public function create(_arg1:int):void{ var _local2:Vector; var _local3:Vector; var _local4:Boss; var _local5:Vector; _local2 = startpositions[_arg1]; _local4 = new Boss(_arg1, _local2, _beams); if (_arg1 == 0){ _local3 = new Vector((_local2.x - 42), (_local2.y + 24)); _enemies.create_enemy(_local3, EnemyType.TURRET, -1, 0, -1, 0, _local4); _local5 = new Vector((_local2.x - 26), (_local2.y - 51)); _enemies.create_enemy(_local5, EnemyType.LASER, -1, 0, -1, 0, _local4); } else { if (_arg1 == 1){ _local3 = new Vector((_local2.x - 30), (_local2.y - 30)); _enemies.create_enemy(_local3, EnemyType.TURRET, -1, 0, -1, 0, _local4); _local3 = new Vector((_local2.x + 15), (_local2.y - 30)); _enemies.create_enemy(_local3, EnemyType.TURRET, -1, 0, -1, 0, _local4); }; }; _bosses.push(_local4); mc.addChild(_local4.mc); _liveboss = true; _spawntimer = 0; } public function pause():void{ _paused = true; } } }//package
Section 34
//BossSprite (BossSprite) package { import flash.display.*; public dynamic class BossSprite extends MovieClip { } }//package
Section 35
//Bullet (Bullet) package { import com.playerthree.util.*; import flash.display.*; public class Bullet { private const PLEN:int = 22; private var _points:Array; private var _friendly:Boolean; public var skip_draw:Boolean;// = false public var remove:Boolean; public var rad:int;// = 2 public var mc:MovieClip; public var id:int; private var _strength:int; public var startpos:Vector; private var _lifespan:int;// = 180 public var type:int; public var oldpos:Vector; private var _dir:int; public var pos:Vector; private var _timer:int;// = 0 public var canvas:Shape; private var _fireangle:Number; private var _movestate:int;// = 0 public var sine_rad:int;// = 1 private var _pointindex:int;// = 0 public var accel:Vector; public var gridx:int; private var _targpos:Vector; public var gridy:int; private static var ID:int = 0; public function Bullet(_arg1, _arg2:int, _arg3:int, _arg4:Boolean=true, _arg5:Vector=null){ sine_rad = 1; _points = new Array(); _pointindex = 0; skip_draw = false; rad = 2; _timer = 0; _movestate = 0; _lifespan = 180; super(); this._dir = _arg3; this.pos = _arg1; this.oldpos = _arg1; this.type = _arg2; this._friendly = _arg4; this._targpos = _arg5; ID++; id = ID; startpos = new Vector(pos.x, pos.y); this.mc = new BulletSprite(); mc.scaleX = (mc.scaleX * _arg3); canvas = new Shape(); remove = false; strength = Globals.get_strength(_arg2); accel = new Vector((Globals.FIRE_SPEED * _arg3), 0); mc.gotoAndStop((_arg2 + 1)); if (_arg2 == 3){ rad = 6; }; } public function set strength(_arg1:int):void{ _strength = _arg1; } public function get dir():int{ return (_dir); } public function render():void{ mc.x = pos.x; mc.y = pos.y; } public function get friendly():Boolean{ return (_friendly); } public function collision(_arg1):int{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = 0; if (_arg1.gridy != gridy){ return (0); }; if (_arg1.gridx != gridx){ return (0); }; if (_arg1.aabb){ _local6 = (_arg1.pos.y + (_arg1.height / 2)); _local4 = (_arg1.pos.y - (_arg1.height / 2)); _local5 = (_arg1.pos.x + (_arg1.width / 2)); _local3 = (_arg1.pos.x - (_arg1.width / 2)); if (pos.x > _local3){ if (pos.x < _local5){ if (pos.y > _local4){ if (pos.y < _local6){ _local2 = 1; return (_local2); }; }; }; }; } else { _local9 = ((_arg1.pos.x - _arg1.oldpos.x) - (pos.x - oldpos.x)); _local10 = ((_arg1.pos.y - _arg1.oldpos.y) - (pos.y - oldpos.y)); _local7 = (_arg1.oldpos.x - oldpos.x); _local8 = (_arg1.oldpos.y - oldpos.y); _local11 = ((_arg1.rad * _arg1.rad) + (rad * rad)); _local12 = (((_local7 * _local7) + (_local8 * _local8)) - _local11); if (_local12 < 0){ _local2 = 1; return (_local2); }; _local13 = ((_local7 * _local9) + (_local8 * _local10)); if (_local13 >= 0){ _local2 = 0; return (_local2); }; return (0); }; return (_local2); } public function get strength():int{ return (_strength); } private function draw_path():void{ var _local1:int; var _local2:Object; if (!skip_draw){ canvas.graphics.clear(); canvas.graphics.moveTo(_points[1].x, _points[1].y); _local1 = 0; while (_local1 < _points.length) { _local2 = _points[_local1]; canvas.graphics.lineStyle(_local2.wid, 0xF0F0F0, (_local2.fade / 100)); canvas.graphics.lineTo(_local2.x, _local2.y); if (_points[_local1].fade > 0){ _points[_local1].fade = (_points[_local1].fade - 6); }; _points[_local1].wid++; _points[_local1].y = (_points[_local1].y - 4); _points[_local1].x = (_points[_local1].x * ((dir)==1) ? 0.95 : 1.03); _local1++; }; } else { skip_draw = false; }; } private function on_screen():Boolean{ if (pos.x > Overkill.SW){ return (false); }; if (pos.y < 0){ return (false); }; if (pos.y > Overkill.SH){ return (false); }; if (pos.x < 0){ return (false); }; return (true); } public function kill():void{ remove = true; } public function update():void{ var _local1:int; var _local2:Object; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:int; _timer++; if (_timer > _lifespan){ kill(); }; if (!on_screen()){ kill(); }; oldpos.x = pos.x; oldpos.y = pos.y; switch (type){ case 0: break; case 1: switch (_movestate){ case 0: if (!(id % 2)){ sine_rad = (sine_rad * -1); }; _movestate = 1; break; case 1: pos.y = (startpos.y - ((Math.cos((_timer * 0.1)) * sine_rad) * 10)); break; }; break; case 2: switch (_movestate){ case 0: accel.y = 10; accel.x = (-10 * dir); _points.push({x:pos.x, y:pos.y, wid:1, fade:80}); _points.push({x:pos.x, y:pos.y, wid:1, fade:80}); _movestate = 1; break; case 1: accel.x = (accel.x * 0.8); accel.y = (accel.y * 0.7); _local1 = ((accel.y ^ (accel.y >> 31)) - (accel.y >> 31)); if (_local1 < 1){ accel.y = 0; accel.x = (1 * dir); _movestate = 2; }; break; case 2: accel.x = (accel.x * 1.4); _local1 = ((accel.x ^ (accel.x >> 31)) - (accel.x >> 31)); if (_local1 > 22){ accel.x = (35 * dir); _movestate = 3; }; break; case 3: break; }; if (!(_timer % 2)){ _pointindex++; _local2 = {x:pos.x, y:pos.y, wid:1, fade:80}; _local3 = (_pointindex % PLEN); if (!_local3){ skip_draw = true; }; _points[_local3] = _local2; }; draw_path(); break; case 3: switch (_movestate){ case 0: accel.x = 0; _movestate = 1; break; case 1: accel.y = (accel.y + 0.5); break; }; break; case 4: switch (_movestate){ case 0: _fireangle = 90; accel.x = Math.random(); accel.y = Math.random(); _movestate = 1; break; case 1: _fireangle++; accel.x = (accel.x + (Math.sin((_fireangle * 10)) * 1.1)); accel.y = (accel.y + (Math.cos((_fireangle * 10)) * 1.1)); _local4 = (_targpos.x - pos.x); _local5 = (_targpos.y - pos.y); _local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); _local4 = (_local4 / _local6); _local5 = (_local5 / _local6); _local7 = 3; accel.x = (_local10 * _local7); accel.y = (_local11 * _local7); break; }; break; case 5: switch (_movestate){ case 0: _movestate = 1; _local8 = 4; _local9 = ((Globals.get_ang(_targpos, pos) * 180) / Math.PI); pos.x = (pos.x - (_local8 * Math.cos(_local9))); pos.y = (pos.y - (_local8 * Math.sin(_local9))); _local10 = (_targpos.x - pos.x); _local11 = (_targpos.y - pos.y); _local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local12); _local11 = (_local11 / _local12); _local13 = 5; accel.x = (_local10 * _local13); accel.y = (_local11 * _local13); break; case 1: break; }; break; case 11: switch (_movestate){ case 0: accel.x = -25; accel.y = -5; mc.scaleX = (mc.scaleX * -1); pos.x = (pos.x - 18); pos.y = (pos.y - 82); _movestate = 1; break; case 1: break; }; break; case 12: switch (_movestate){ case 0: accel.x = -7.5; accel.y = -5; pos.x = (pos.x - 34); pos.y = (pos.y - 32); _movestate = 1; break; case 1: break; }; break; case 13: switch (_movestate){ case 0: accel.y = (((id % 3) + 1) * -1); accel.x = -5; _movestate = 1; break; case 1: accel.y = (accel.y * 1.1); break; }; break; }; pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); gridx = Math.floor((pos.x / Globals.GRID_SIZE)); gridy = Math.floor((pos.y / Globals.GRID_SIZE)); } } }//package
Section 36
//BulletPool (BulletPool) package { import com.playerthree.util.*; import flash.display.*; public class BulletPool { private const colours:Array; private var _nuke:Boolean;// = false private var _beziertimer:int;// = 0 private var _paused:Boolean;// = false private var _arcenabled:Boolean;// = false public var canvas:Sprite; public var mc:Sprite; public var bullets:Array; private var _bezierswitch:int;// = 0 private var _drawidx:int;// = 0 public function BulletPool(){ bullets = new Array(); colours = [1065152, 1077488, 2142448, 5296368, 0xF0F0F0]; _nuke = false; _paused = false; _arcenabled = false; _beziertimer = 0; _bezierswitch = 0; _drawidx = 0; super(); mc = new Sprite(); canvas = new Sprite(); mc.addChild(canvas); } public function update(_arg1:EnemyPool, _arg2:Ship, _arg3:ExplosionPool, _arg4:ItemPool, _arg5:BossManager, _arg6:PlumPool):void{ var _local7:int; var _local8:Bullet; var _local9:int; var _local10:Enemy; var _local11:int; var _local12:Boss; var _local13:int; if (_arcenabled){ if (((!((_arg1.targ == null))) && (!(_arg1.targ.remove)))){ bezier_laser(_arg2, _arg1.targ); _arg1.targ.damage(1); if (_arg1.targ.health < 1){ _arg1.targ.kill(); _arg3.create(ExplosionType.UPWARDS, _arg1.targ.pos); Globals.add_score(_arg1.targ.value); _arg6.create(_arg1.targ.pos, _arg1.targ.value); _arg1.kill_target(); } else { _arg1.targ.flash(1.6, 1.6, 1.6, 1); }; } else { canvas.graphics.clear(); }; }; _local7 = bullets.length; while (--_local7 > -1) { _local8 = bullets[_local7]; if (_nuke){ _local8.kill(); }; _local8.update(); if (_local8.friendly){ _local9 = 0; while (_local9 < _arg1.enemies.length) { _local10 = _arg1.enemies[_local9]; if (!_local10.remove){ _local11 = _local8.collision(_local10); if (_local11 > 0){ _local8.kill(); _local10.damage(_local8.strength); if (_local10.health < 1){ _local10.kill(); Globals.add_score(_local10.value); _arg6.create(_local10.pos, _local10.value); _arg3.create(_local10.explosion_type, _local10.pos); if (_local10.canspawnitem){ if (Math.random() < 0.3){ _arg4.create_item(Globals.get_pickup(), _local10.pos); }; }; } else { _arg3.create(ExplosionType.RICOCHET, _local10.pos); _local10.flash(2, 0.6, 0.6, 1); }; }; }; _local9++; }; _local9 = 0; while (_local9 < _arg5.bosses.length) { _local12 = _arg5.bosses[_local9]; if (!_local12.remove){ if (_local8.collision(_local12)){ _local8.kill(); _local12.damage(_local8.strength); if (_local12.health < 1){ _local12.kill(); Globals.add_score(_local12.value); _arg3.create(ExplosionType.BIG_UPWARDS, _local12.pos); } else { _arg3.create(ExplosionType.SMALL, _local12.pos); _local12.flash(1.8, 1.3, 1.8, 1); }; }; }; _local9++; }; } else { if (_local8.collision(_arg2)){ _local8.kill(); _arg2.damage(_local8.strength); if (_arg2.health < 1){ _arg2.kill(); _arg3.create(ExplosionType.KILL, _arg2.pos); _local13 = _arg2.ammo.length; while (--_local13 > -1) { if (_arg2.ammo[_local13]){ _arg4.create_item(_local13, _arg2.pos); }; }; } else { _arg2.flash(1.6, 1.6, 1.6, 1); _arg3.create(ExplosionType.SMALL, _arg2.pos); }; }; }; if (_local8.type == 3){ if (_local8.pos.y > 390){ _local8.kill(); _arg3.create(ExplosionType.GROUND1, _local8.pos); }; }; if (_local8.remove){ bullets.splice(_local7, 1); mc.removeChild(_local8.mc); mc.removeChild(_local8.canvas); }; }; if (_nuke){ _arg1.nuke(); _nuke = false; }; } private function draw_laser(_arg1:Array, _arg2:Array):void{ var _local3:int; var _local4:Boolean; _drawidx++; _drawidx = (_drawidx % 5); _local3 = 30; _local4 = true; canvas.graphics.clear(); canvas.graphics.lineStyle(_drawidx, colours[_drawidx], 0.8); while (--_local3 > -1) { if (_local4){ canvas.graphics.moveTo(_arg1[_local3], _arg2[_local3]); _local4 = false; } else { canvas.graphics.lineTo(_arg1[_local3], _arg2[_local3]); }; }; } public function reset():void{ var _local1:int; var _local2:Bullet; _local1 = bullets.length; while (--_local1 > -1) { _local2 = bullets[_local1]; bullets.splice(_local1, 1); mc.removeChild(_local2.mc); mc.removeChild(_local2.canvas); }; _nuke = false; } public function nuke():void{ _nuke = true; } public function create_bullet(_arg1:Vector, _arg2:int, _arg3:int=1, _arg4:Boolean=true, _arg5:Vector=null):void{ var _local6:Vector; var _local7:Bullet; _local6 = new Vector(_arg1.x, _arg1.y); _local7 = new Bullet(_local6, _arg2, _arg3, _arg4, _arg5); mc.addChild(_local7.mc); mc.addChild(_local7.canvas); bullets.push(_local7); } private function bezier_laser(_arg1:Ship, _arg2:Enemy):void{ var _local3:Number; var _local4:Number; var _local5:Array; var _local6:Array; var _local7:int; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local20 = _arg1.pos.x; _local21 = _arg1.pos.y; _local22 = _arg2.pos.x; _local23 = _arg2.pos.y; _local3 = 0; _local7 = 30; _local4 = (1 / _local7); _local5 = []; _local6 = []; _beziertimer++; if (!(_beziertimer % 6)){ _bezierswitch = ((_bezierswitch)==0) ? 1 : 0; }; if (_bezierswitch == 0){ _local8 = (_local20 + ((_local22 - _local20) / 2)); }; if (_bezierswitch == 1){ _local8 = (_local20 + ((_local22 + _local20) / 2)); }; _local9 = _local23; _local10 = (_local8 - _local20); _local11 = (_local9 - _local21); _local12 = (_local22 - _local8); _local13 = (_local23 - _local9); while (--_local7 > -1) { _local14 = (_local20 + (_local10 * _local3)); _local15 = (_local21 + (_local11 * _local3)); _local16 = (_local8 + (_local12 * _local3)); _local17 = (_local9 + (_local13 * _local3)); _local18 = (_local16 - _local14); _local19 = (_local17 - _local15); _local3 = (_local3 + _local4); _local5[_local7] = (_local14 + (_local18 * _local3)); _local6[_local7] = (_local15 + (_local19 * _local3)); }; draw_laser(_local5, _local6); } public function enable_arc():void{ _arcenabled = true; _beziertimer = 0; _bezierswitch = 0; } public function pause():void{ var _local1:int; var _local2:Bullet; _paused = true; _local1 = bullets.length; while (--_local1 > -1) { _local2 = bullets[_local1]; bullets.splice(_local1, 1); mc.removeChild(_local2.mc); mc.removeChild(_local2.canvas); }; } public function render():void{ var _local1:int; var _local2:Bullet; _local1 = bullets.length; while (--_local1 > -1) { _local2 = bullets[_local1]; _local2.render(); }; } public function disable_arc():void{ _arcenabled = false; canvas.graphics.clear(); } public function unpause():void{ _paused = true; } } }//package
Section 37
//BulletSprite (BulletSprite) package { import flash.display.*; public dynamic class BulletSprite extends MovieClip { public var clip:MovieClip; } }//package
Section 38
//BulletType (BulletType) package { public class BulletType { public static var MG_HARD:int = 9; public static var MG_MEDIUM:int = 8; public static var MG:int = 0; public static var MG_STRONG:int = 10; } }//package
Section 39
//ChopperLoopSound (ChopperLoopSound) package { import flash.media.*; public dynamic class ChopperLoopSound extends Sound { } }//package
Section 40
//Debris (Debris) package { import com.playerthree.util.*; import flash.display.*; public class Debris { private var _framewait:int;// = 0 public var remove:Boolean;// = false public var accel:Vector; public var floory:int;// = 390 public var pos:Vector; public var oldpos:Vector; public var mc:MovieClip; public function Debris(_arg1:Vector){ var _local2:Number; pos = new Vector(0, 0); oldpos = new Vector(0, 0); accel = new Vector(0, 0); remove = false; floory = 390; _framewait = 0; super(); mc = new DebrisSprite(); mc.visible = false; pos.x = _arg1.x; pos.y = _arg1.y; oldpos.x = pos.x; oldpos.y = pos.y; accel.y = 0; accel.x = (-9 + (Math.random() * 14)); if (pos.y < floory){ _local2 = ((Math.round(Math.random()) * 2) - 1); accel.y = (_local2 * (6 + (Math.random() * 6))); } else { accel.y = (-6 + (Math.random() * -6)); }; } public function update():void{ var _local1:int; if (_framewait < 3){ _framewait++; if (_framewait == 1){ _local1 = (Math.floor((Math.random() * 10)) + 1); mc.gotoAndStop(_local1); mc.visible = true; }; }; accel.y++; oldpos.x = pos.x; oldpos.y = pos.y; pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); mc.rotation = (mc.rotation + accel.x); if (Globals.LEVEL != 2){ if (pos.y > floory){ pos.y = floory; if (accel.y > 7){ accel.y = (accel.y * -0.5); accel.x = (accel.x - 8); } else { kill(); }; }; } else { if (pos.y > floory){ kill(); }; }; mc.x = pos.x; mc.y = pos.y; } public function kill():void{ remove = true; } } }//package
Section 41
//DebrisManager (DebrisManager) package { import com.playerthree.util.*; import flash.display.*; public class DebrisManager { private var _smoke:Array; public var mc:Sprite; private var _debris:Array; public function DebrisManager(_arg1:Sprite){ _debris = new Array(); _smoke = new Array(); super(); this.mc = _arg1; } public function update():void{ var _local1:int; var _local2:Debris; _local1 = _debris.length; while (--_local1 > -1) { _local2 = _debris[_local1]; _local2.update(); if (_local2.remove){ _debris.splice(_local1, 1); mc.removeChild(_local2.mc); }; }; } public function reset():void{ var _local1:int; var _local2:Debris; _local1 = _debris.length; while (--_local1 > -1) { _local2 = _debris[_local1]; _debris.splice(_local1, 1); mc.removeChild(_local2.mc); }; } public function create_debris(_arg1:Vector):void{ var _local2:Debris; if (_debris.length > 3){ return; }; _local2 = new Debris(_arg1); _debris.push(_local2); mc.addChild(_local2.mc); } } }//package
Section 42
//DebrisSprite (DebrisSprite) package { import flash.display.*; public dynamic class DebrisSprite extends MovieClip { } }//package
Section 43
//Enemy (Enemy) package { import com.playerthree.util.*; import flash.display.*; import flash.geom.*; public class Enemy { public var rad:int; private var _rot:Number; public var id:int; private var _canspawnitem:Boolean;// = false private var _shoot:Boolean; public var set_num:int; public var explosion_type:int; public var ax:Number;// = 0 private var _aabb:Boolean;// = false public var type:int; private var _timer:int;// = 0 public var ay:Number;// = 0 private var _boss:Boss; private var _defaultcolour:ColorTransform; public var pos:Vector; private var _targeted:Boolean;// = false private var _paused:Boolean;// = false private var _value:int;// = 100 private var _health:int; private var _delay:int; private var _attackmode:int;// = 0 private var _saveframe:int; private var _movetimer:int;// = 0 public var mc:MovieClip; private var _savey:Number; private var _remove:Boolean;// = false private var _targetpos:Vector; private var _savex:Number; public var oldpos:Vector; private var _dir:int; private var _movestate:int;// = 0 private var _framewait:int;// = 0 public var gridx:int; public var gridy:int; private var _flashnum:int; public var start_pos:Vector; private var _currframe:int; public static var AMP:Number = 0.005; public function Enemy(_arg1:int, _arg2:Vector, _arg3:int=0, _arg4:int=0, _arg5:int=-1, _arg6:int=0, _arg7:Boss=null, _arg8:int=0){ ax = 0; ay = 0; _timer = 0; _remove = false; _attackmode = 0; _movestate = 0; _movetimer = 0; _aabb = false; _value = 100; _canspawnitem = false; _targetpos = new Vector(0, 0); _framewait = 0; _paused = false; _targeted = false; super(); this.type = _arg1; this.id = _arg4; this._dir = _arg5; this._delay = _arg6; this._boss = _arg7; this.set_num = _arg8; this.start_pos = _arg2; switch (_arg1){ case EnemyType.TORNADO: explosion_type = ExplosionType.AIR1; _value = 150; break; case EnemyType.CHOPPER: explosion_type = ExplosionType.AIR1; _value = 100; _canspawnitem = true; break; case EnemyType.HOMING: _canspawnitem = true; _value = 50; break; case EnemyType.ROCKETJET: case EnemyType.BALLOON: _canspawnitem = true; explosion_type = ExplosionType.BIG_AIR; _value = 75; break; case EnemyType.TURRET: case EnemyType.LASER: _canspawnitem = true; explosion_type = ExplosionType.BIG_AIR; _value = 500; break; case 0: case 1: case 2: case EnemyType.TANK: case EnemyType.GUNSHIP: explosion_type = ExplosionType.GROUND1; _canspawnitem = true; _value = 250; break; case EnemyType.SNOW_RUIN: explosion_type = ExplosionType.UPWARDS; _value = 20; break; default: explosion_type = ExplosionType.AIR1; _value = 25; }; pos = new Vector(0, 0); oldpos = new Vector(0, 0); pos.x = _arg2.x; pos.y = _arg2.y; oldpos.x = pos.x; oldpos.y = pos.y; rad = Globals.get_enemyrad(_arg1); health = Globals.get_health(_arg1); mc = new EnemySprite(); mc.gotoAndStop((_arg1 + 1)); ax = 0; attackmode = _arg3; _rot = mc.rotation; _defaultcolour = mc.transform.colorTransform; if (_arg1 == EnemyType.SNOW_RUIN){ set_aabb(); }; } public function unpause():void{ var _local1:MovieClip; if (!_paused){ return; }; _local1 = mc.clip; if (_local1 == null){ return; }; _local1.gotoAndPlay(_saveframe); _paused = false; } private function big_circ():void{ var _local1:Number; _movetimer++; switch (_movestate){ case 0: ax = (((6 + (set_num * 5)) + (id * 2)) * -1); _delay = ((1 + id) * 5); _movestate++; break; case 1: if (_movetimer > 20){ _savey = pos.y; _savex = pos.x; ax = 0; _movestate = 2; }; break; case 2: _local1 = 100; circular_motion(_savex, (_savey + (_local1 / 2)), _local1, 1.2, 1, true); if (_movetimer > 100){ if (_movetimer == 50){ shoot = true; }; ax = -5; _movestate = 3; }; break; case 3: ax = (ax * 1.05); break; }; } public function set_target():void{ _targeted = true; } public function set remove(_arg1:Boolean):void{ _remove = _arg1; } public function get shoot():Boolean{ return (_shoot); } public function set_aabb():void{ aabb = true; } private function prong():void{ var _local1:int; _movetimer++; switch (_movestate){ case 0: _delay = (id * 10); ax = -12; _movestate = 1; break; case 1: ax = (ax * 0.6); if (_movetimer > 6){ _movestate = 2; _local1 = 1; if (!(id % 2)){ _local1 = (_local1 * -1); }; ay = (1 * _local1); shoot = true; }; break; case 2: ax = (ax * 1.01); ay = (ay * 0.9); if (ay < 0.1){ _movestate = 3; ay = 0; }; break; case 3: ax = (ax * 1.15); break; }; } public function get height():Number{ return (mc.height); } public function collision(_arg1:Ship):int{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:int; var _local11:int; var _local12:int; if (type == EnemyType.LASER){ if (_framewait < 2){ _framewait++; return (0); }; if ((((mc.clip.currentFrame > 5)) && ((mc.clip.currentFrame < 37)))){ _local3 = (pos.y - (mc.height / 2)); _local4 = (pos.y + mc.height); if ((((_arg1.pos.y > _local3)) && ((_arg1.pos.y < _local4)))){ return (1); }; return (0); } else { return (0); }; }; _local2 = 0; if (!_aabb){ if (_arg1.gridy == gridy){ if (_arg1.gridx == gridx){ _local7 = ((_arg1.rad * _arg1.rad) + (rad * rad)); _local5 = (_arg1.oldpos.x - oldpos.x); _local6 = (_arg1.oldpos.y - oldpos.y); _local8 = (((_local5 * _local5) + (_local6 * _local6)) - _local7); if (_local8 < 0){ _local2 = 1; }; }; }; } else { _local12 = pos.y; _local11 = (pos.x + (mc.width / 2)); _local9 = (pos.x - (mc.width / 2)); _local10 = (pos.y - mc.height); if (_arg1.pos.x > _local9){ if (_arg1.pos.x < _local11){ if (_arg1.pos.y > _local10){ if (_arg1.pos.y < _local12){ _local2 = 1; }; }; }; }; }; return (_local2); } public function get canspawnitem():Boolean{ return (_canspawnitem); } public function set shoot(_arg1:Boolean):void{ _shoot = _arg1; } public function get health():int{ return (_health); } private function circular_motion(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=1, _arg6:Boolean=false):void{ var _local7:int; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local7 = (_arg6) ? 8 : 1; _local8 = (((0.001 * 2) * Math.PI) / _arg4); _local9 = ((_movetimer * 10) * _local8); _local10 = (_arg1 - ((Math.sin(_local9) * _arg3) * _arg5)); _local11 = (_arg2 - ((Math.cos(_local9) * _arg3) * _arg5)); pos.x = (pos.x + ((_local10 - pos.x) / _local7)); pos.y = (pos.y + ((_local11 - pos.y) / _local7)); } public function kill():void{ remove = true; } private function sine_y():void{ switch (_movestate){ case 0: ax = -10; _movestate = 1; break; case 1: pos.y = (start_pos.y - (Math.cos((_timer * (0.075 + AMP))) * 18)); break; }; } public function get aabb():Boolean{ return (_aabb); } public function is_boss():Boolean{ if (_boss != null){ return (true); }; return (false); } private function boss_move():void{ if (_boss == null){ return; }; ax = _boss.accel.x; ay = _boss.accel.y; _movetimer++; if (!(_movetimer % 12)){ shoot = true; }; } public function unset_target():void{ _targeted = false; } private function attack_move():void{ if (_delay > 0){ _delay--; return; }; switch (_attackmode){ case -1: boss_move(); break; case 0: sine_y(); break; case 1: flat(); break; case 2: sweep(); break; case 3: firing(); break; case 4: prong(); break; case 5: big_circ(); break; }; } public function damage(_arg1:int):void{ health = (health - _arg1); } public function get value():int{ return (_value); } private function firing():void{ _movetimer++; switch (_movestate){ case 0: ax = (((16 + (set_num * 10)) + (id * 2)) * -1); _movestate = 1; break; case 1: ax = (ax * 0.9); if (_movetimer > (60 + (set_num * 10))){ ax = -2; shoot = true; _movestate = 2; }; break; case 2: ay = -0.8; ax = (ax * 1.1); break; }; } private function flat():void{ _movetimer++; switch (type){ case EnemyType.HOMING: switch (_movestate){ case 0: ax = -8; mc.scaleX = (mc.scaleX * -1); _movestate = 1; break; case 1: ay = ((_targetpos.y - pos.y) / 16); break; case 2: break; }; break; case 0: case 1: case 2: case EnemyType.BOAT: case EnemyType.BOAT_TURRET: switch (_movestate){ case 0: ax = -10; _movestate = 1; break; case 1: break; }; break; case EnemyType.MAN: switch (_movestate){ case 0: _movestate = 1; ax = -12; break; case 1: break; }; break; case EnemyType.CHOPPER: case EnemyType.TORNADO: switch (_movestate){ case 0: ax = -8; _movestate = 1; break; case 1: if (_movetimer > 30){ ax = -10; switch (id){ case 0: ay = -0.5; break; case 1: ay = -0.25; break; case 2: ay = -0.175; break; default: ay = -0.06; }; _movestate = 2; }; break; case 2: ay = (ay * 1.05); break; }; break; case EnemyType.ROCKETJET: switch (_movestate){ case 0: ax = -3; ay = -1; _movestate = 1; break; case 1: ay = (ay * 0.95); break; }; break; case EnemyType.BALLOON: switch (_movestate){ case 0: ay = (((id + 1) * 2) * -1); ax = (-2 - (id * 2)); if (ax < -10){ ax = -10; }; _movestate = 1; break; case 1: ay = (ay * 0.9); if (Math.abs(ay) < 0.01){ ay = 1; _movestate = 2; }; break; case 2: ay = (ay * 0.9); if (ay < 0.01){ ay = -1; _movestate = 1; }; break; }; break; case EnemyType.SNOW_RUIN: case EnemyType.JUNGLE_RUIN: case EnemyType.SEA_RUIN: case EnemyType.DESERT_RUIN: switch (_movestate){ case 0: ax = -16; _movestate = 1; break; case 1: if (_movetimer > 10){ if (!(_movetimer % Globals.get_fire_interval())){ shoot = true; }; if (_movetimer > 30){ _movetimer = 0; }; }; break; }; break; case EnemyType.DROP_SHIP: if (!(_movetimer % 12)){ shoot = true; }; switch (_movestate){ case 0: ax = 6; _movestate = 1; break; case 1: ax = (ax * 1.02); if (ax > 8){ ax = 8; _movestate = 2; }; break; case 2: break; }; break; case EnemyType.TANK: switch (_movestate){ case 0: ax = ((dir)<0) ? ax : 3; _movestate = 1; break; case 1: if (!(_movetimer % 46)){ shoot = true; }; break; }; break; case EnemyType.GUNSHIP: switch (_movestate){ case 0: ax = ((dir)<0) ? ax : 3; _movestate = 1; break; case 1: if (_movetimer == 160){ shoot = true; }; break; }; break; case EnemyType.PARATROOPER: switch (_movestate){ case 0: ax = (((Math.random() * 2) + 2) * -1); ay = (5 + (Math.random() * 5)); _movestate = 1; break; case 1: ax = (((Math.random() * 2) + 4) * -1); ay = (ay * 0.95); break; }; break; }; } public function get remove():Boolean{ return (_remove); } public function get dir():int{ return (_dir); } public function render():void{ var _local1:Number; mc.x = pos.x; mc.y = pos.y; if ((((type == EnemyType.TANK)) || ((type == EnemyType.GUNSHIP)))){ mc.parent.setChildIndex(mc, (mc.parent.numChildren - 1)); } else { if (type == EnemyType.SNOW_RUIN){ mc.parent.setChildIndex(mc, 0); } else { if (type == EnemyType.TURRET){ _local1 = ((Globals.get_ang(_targetpos, pos) * 180) / Math.PI); _local1 = Math.floor((_local1 / 45)); if (_framewait < 2){ _framewait++; } else { mc.clip.gotoAndStop((_local1 + 5)); }; mc.parent.setChildIndex(mc, (mc.parent.numChildren - 1)); }; }; }; _rot = mc.rotation; } public function set health(_arg1:int):void{ _health = _arg1; } private function reset_colour():void{ var _local1:Transform; var _local2:ColorTransform; if (_flashnum > 1){ _flashnum--; return; }; _flashnum--; _local1 = new Transform(mc); _local2 = _defaultcolour; _local1.colorTransform = _local2; } public function set aabb(_arg1:Boolean):void{ _aabb = _arg1; } public function get width():Number{ return (mc.width); } public function update(_arg1:Vector):void{ _timer++; if (_flashnum > 0){ reset_colour(); }; this._targetpos.x = _arg1.x; this._targetpos.y = _arg1.y; oldpos.x = pos.x; oldpos.y = pos.y; attack_move(); pos.x = (pos.x + ax); pos.y = (pos.y + ay); gridx = Math.floor((pos.x / Globals.GRID_SIZE)); gridy = Math.floor((pos.y / Globals.GRID_SIZE)); if (pos.x < -150){ kill(); }; if (pos.x > 900){ kill(); }; } public function set attackmode(_arg1:int):void{ _attackmode = _arg1; } public function get rot():Number{ return (_rot); } private function sweep():void{ var _local1:Number; _movetimer++; if (!(_movetimer % Globals.get_shootinterval())){ shoot = true; }; switch (_movestate){ case 0: ax = -10; if (_movetimer > ((id + 1) * 50)){ _movestate++; _savey = pos.y; _savex = pos.x; ax = 0; _movetimer = 0; }; break; case 1: _local1 = 70; circular_motion(_savex, (_savey + (_local1 / 2)), _local1, 1.1, 1, true); if (_movetimer > 130){ _movestate++; _movetimer = 0; }; break; case 2: ax = -10; break; }; } public function flash(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Transform; var _local6:ColorTransform; _local5 = new Transform(mc); _local6 = _local5.colorTransform; _local6.redMultiplier = _arg1; _local6.greenMultiplier = _arg2; _local6.blueMultiplier = _arg3; _local6.alphaMultiplier = _arg4; _local5.colorTransform = _local6; _flashnum = 10; } public function pause():void{ var _local1:MovieClip; if (_paused){ return; }; _local1 = mc.clip; if (_local1 == null){ return; }; _saveframe = _local1.currentFrame; _local1.gotoAndStop(_saveframe); _paused = true; } public function get attackmode():int{ return (_attackmode); } public function get targeted():Boolean{ return (_targeted); } } }//package
Section 44
//EnemyPool (EnemyPool) package { import com.playerthree.util.*; import flash.display.*; import de.polygonal.math.*; public class EnemyPool { public const NUKE_TIME:int = 40; private var _spacing:int;// = 72 private var _pausespawn:Boolean;// = false private var _waiting:Boolean;// = false private var _waitinterval:int;// = 3 private var _prng:PM_PRNG; private var _ship:Ship; private var _max_groundtype:int;// = 4 private var _tanktimer:int;// = 0 private var _interval:int;// = 24 public var enemies:Array; private var _airstrikepos:Vector; private var nuke_mc:MovieClip; private var _nuke:Boolean;// = false private var _targ:Enemy; private var _max_yrange:int;// = 4 private var _timer:int;// = 0 private var _nukepausetimer:int;// = 0 private var _wait:int;// = 0 private var _paused:Boolean;// = false private var _groundtimer:int;// = 0 private var _sounds:SoundManager; private var _groundinterval:int;// = 32 private var _min_groundtype:int;// = 0 private var _airstriketimer:int;// = 0 private var _bossorigin:Vector; private var _currenttype:int; private var _bullets:BulletPool; private var _tankinterval:int;// = 384 private var _min_yrange:int;// = 0 private var nuke_flash:Number;// = 0 private var _groundtypes:Array; public var mc:Sprite; private var _scroller:Scroller; private var _bossdeathtimer:int;// = 0 private var _max_xrange:int;// = 10 private var _set:int;// = 0 private var _beams:BeamPool; private var _set_total:int;// = 1 private var _oldlen:Number;// = 1000 private var _minmode:int;// = 0 private var _items:ItemPool; private var _tankwait:int;// = 0 private var _maxmode:int;// = 5 private var _groundbuildpos:Vector; private var _wave:int;// = 0 private var _currentmode:int; private var _groundpos:Vector; private var _min_xrange:int;// = 0 private var start_xs:Array; private var _tankset:int;// = 0 private var _tankpos:Vector; private static const GROUND_INTERVAL:int = 64; public function EnemyPool(_arg1:Ship, _arg2:BeamPool, _arg3:BulletPool, _arg4:Scroller, _arg5:PM_PRNG, _arg6:ItemPool, _arg7:SoundManager){ enemies = new Array(); _timer = 0; _interval = 24; _min_xrange = 0; _max_xrange = 10; _min_yrange = 0; _max_yrange = 4; _spacing = 72; start_xs = [760, -40]; _airstrikepos = new Vector(-80, -30); _airstriketimer = 0; _groundinterval = 32; _groundtimer = 0; _groundpos = new Vector(790, 365); _groundbuildpos = new Vector(790, 390); _groundtypes = EnemyType.GROUND_TYPES; _min_groundtype = 0; _max_groundtype = 4; _set = 0; _set_total = 1; _waiting = false; _waitinterval = 3; _wait = 0; _minmode = 0; _maxmode = 5; _tanktimer = 0; _tankinterval = 384; _tankpos = new Vector(-50, 365); _tankwait = 0; _tankset = 0; _wave = 0; _nuke = false; _nukepausetimer = 0; nuke_flash = 0; _bossdeathtimer = 0; _oldlen = 1000; _pausespawn = false; _paused = false; super(); mc = new Sprite(); this._ship = _arg1; this._beams = _arg2; this._bullets = _arg3; this._scroller = _arg4; this._prng = _arg5; this._items = _arg6; this._sounds = _arg7; _currentmode = 0; _currenttype = EnemyType.CHOPPER; } public function get wave():int{ return (_wave); } public function pause_spawn():void{ if (!_pausespawn){ _pausespawn = true; }; } private function get_bullet(_arg1:int, _arg2:int):int{ var _local3:int; switch (_arg2){ case EnemyType.TORNADO: switch (_arg1){ case 3: _local3 = 2; break; default: _local3 = 5; }; break; case EnemyType.CHOPPER: switch (_arg1){ case 0: _local3 = 1; break; case 1: _local3 = 3; break; default: _local3 = 1; }; break; case EnemyType.TANK: switch (_arg1){ case 0: case 1: _local3 = 12; break; default: _local3 = 12; }; }; return (_local3); } public function create_airstrike():void{ var _local1:Enemy; _local1 = new Enemy(EnemyType.DROP_SHIP, _airstrikepos, 1, 0); mc.addChild(_local1.mc); enemies.push(_local1); _airstriketimer = 200; } public function get settotal():int{ return (_set_total); } public function create_ground_enemy(_arg1:Vector, _arg2:int, _arg3:int, _arg4:int):void{ var _local5:Enemy; _local5 = new Enemy(_arg2, _arg1, _arg3, _arg4); _local5.set_aabb(); mc.addChild(_local5.mc); enemies.push(_local5); } public function fire(_arg1:Vector, _arg2:int, _arg3:int, _arg4:int, _arg5:MovieClip=null):void{ var _local6:int; var _local7:Vector; var _local8:Vector; var _local9:Vector; var _local10:Vector; switch (_arg2){ case EnemyType.SNOW_RUIN: case EnemyType.DESERT_RUIN: case EnemyType.JUNGLE_RUIN: _bullets.create_bullet(_arg1, 11, _arg4, false); _sounds.play_sound(OSounds.TANK_FIRE); break; case EnemyType.TORNADO: trace((((" sappening. mode " + _arg3) + ", type ") + _arg2)); _local6 = get_bullet(_arg3, _arg2); trace((" sappening result " + _local6)); _bullets.create_bullet(_arg1, _local6, _arg4, false, new Vector(_ship.pos.x, _ship.pos.y)); break; case EnemyType.CHOPPER: _bullets.create_bullet(_arg1, get_bullet(_arg3, _arg2), _arg4, false); break; case EnemyType.TANK: _bullets.create_bullet(_arg1, get_bullet(_arg3, _arg2), _arg4, false); _sounds.play_sound(OSounds.TANK_FIRE); break; case EnemyType.TURRET: _bullets.create_bullet(_arg1, 5, 1, false, new Vector(_ship.pos.x, _ship.pos.y)); break; case EnemyType.DROP_SHIP: _local7 = new Vector(_arg1.x, (_arg1.y + 100)); _bullets.create_bullet(_local7, 3, _arg4, false); break; case EnemyType.GUNSHIP: _local8 = new Vector((_arg1.x - 20), (_arg1.y - 2)); _local9 = new Vector((_arg1.x - 37), (_arg1.y - 2)); _local10 = new Vector((_arg1.x - 3), (_arg1.y - 2)); _bullets.create_bullet(_local8, 13, 1, false); _bullets.create_bullet(_local9, 13, 1, false); _bullets.create_bullet(_local10, 13, 1, false); _arg5.gotoAndStop((EnemyType.GUNSHIP_EMPTY + 1)); break; }; } public function reset():void{ var _local1:int; var _local2:Enemy; _currentmode = 0; _currenttype = EnemyType.CHOPPER; _wave = 0; _set = 0; _set_total = 3; _timer = 0; _tanktimer = 0; _groundtimer = 0; _wait = 0; _airstriketimer = 0; _nuke = false; nuke_flash = 0; _local1 = enemies.length; while (--_local1 > -1) { _local2 = enemies[_local1]; enemies.splice(_local1, 1); mc.removeChild(_local2.mc); }; } public function get currentset():int{ return (_set); } public function nuke():void{ _nuke = true; _nukepausetimer = NUKE_TIME; nuke_flash = 0; _sounds.play_sound(OSounds.NUKE); pause_toggle(); _scroller.pause(); } public function get targ():Enemy{ return (_targ); } private function spawn_enemy_set(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:Vector; _local4 = _arg1; while (--_local4 > -1) { _local5 = new Vector(start_xs[0], ((1 + _local4) * _spacing)); create_enemy(_local5, _arg2, _arg3, _local4, -1, (_local4 * 5)); }; } public function get bossdeathtimer():int{ return (_bossdeathtimer); } public function get nuketimer():int{ return (_nukepausetimer); } public function create_enemy(_arg1:Vector, _arg2:int, _arg3:int, _arg4:int, _arg5:int=-1, _arg6:int=0, _arg7:Boss=null):void{ var _local8:Enemy; _local8 = new Enemy(_arg2, _arg1, _arg3, _arg4, _arg5, _arg6, _arg7, _set_total); mc.addChild(_local8.mc); enemies.push(_local8); } private function check_spawn():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:Vector; var _local5:int; if (_ship.movingscreen){ return; }; if (_pausespawn){ return; }; _timer++; if (!(_timer % _interval)){ if (!_waiting){ _local3 = Globals.get_batchtotal(); _local1 = _currenttype; _local2 = _currentmode; spawn_enemy_set(_local3, _local1, _local2); if (_set_total > 0){ _set_total--; } else { _waiting = true; _wait = _waitinterval; }; } else { if (_wait > 0){ _wait--; } else { _waiting = false; _set++; if (_set > 5){ _wave++; _set = 0; spawn_jetmissile_set(); }; _set_total = Math.min(_wave, Globals.get_maxsettotal()); _currenttype = ((_currenttype)==EnemyType.CHOPPER) ? EnemyType.TORNADO : EnemyType.CHOPPER; _currentmode = _prng.nextIntRange(_minmode, _maxmode); }; }; }; _groundtimer++; if (!(_groundtimer % _groundinterval)){ _local1 = EnemyType.get_groundenemy(_prng.nextIntRange(_min_groundtype, _max_groundtype)); _local2 = 1; if ((((((((_local1 == EnemyType.SNOW_RUIN)) || ((_local1 == EnemyType.DESERT_RUIN)))) || ((_local1 == EnemyType.SEA_RUIN)))) || ((_local1 == EnemyType.JUNGLE_RUIN)))){ _local4 = _groundbuildpos; create_ground_enemy(_local4, _local1, _local2, 0); } else { _local4 = _groundpos; create_enemy(_local4, _local1, _local2, 0); }; }; _tanktimer++; if (!(_tanktimer % _tankinterval)){ if (_tankwait > 0){ _tankwait--; } else { _local5 = Globals.get_tanktotal(); _local1 = ((Globals.LEVEL)!=2) ? EnemyType.TANK : EnemyType.GUNSHIP; spawn_tank_set(_local5, _local1); _tankset++; if (_tankset > 2){ _tankwait = 4; }; }; }; } public function kill_boss_enemies(_arg1:Number, _arg2:Number):void{ var _local3:int; var _local4:Enemy; _bossdeathtimer = 80; _bossorigin = new Vector(_arg1, _arg2); _local3 = enemies.length; while (--_local3 > -1) { _local4 = enemies[_local3]; if (_local4.is_boss()){ enemies.splice(_local3, 1); mc.removeChild(_local4.mc); }; }; } public function kill_target():void{ _targ = null; } public function render():void{ var _local1:int; var _local2:Enemy; _local1 = enemies.length; while (--_local1 > -1) { _local2 = enemies[_local1]; _local2.render(); }; } private function check_bossdeath(_arg1:ExplosionPool):void{ if (_bossdeathtimer > 0){ _bossdeathtimer--; if (!(_bossdeathtimer % 20)){ _arg1.create(ExplosionType.KILL, _bossorigin); }; }; } public function unpause_spawn():void{ if (_pausespawn){ _pausespawn = false; }; } public function pause_toggle():void{ var _local1:int; var _local2:Enemy; _local1 = enemies.length; while (--_local1 > -1) { _local2 = enemies[_local1]; if (_paused){ _local2.unpause(); } else { _local2.pause(); }; }; _paused = !(_paused); } public function update(_arg1:ExplosionPool, _arg2:PlumPool):void{ var _local3:int; var _local4:int; var _local5:Enemy; var _local6:Enemy; var _local7:int; var _local8:int; if (nuke_mc != null){ if (nuke_mc.currentFrame == (nuke_mc.totalFrames - 1)){ mc.removeChild(nuke_mc); nuke_mc = null; }; }; if (_paused){ if (_nukepausetimer > 0){ _nukepausetimer--; nuke_flash = (nuke_flash + 0.03); _ship.flash((1 + nuke_flash), (1 + nuke_flash), (1 + nuke_flash), 1); _local4 = enemies.length; while (--_local4 > -1) { _local5 = enemies[_local4]; _local5.flash((1 + nuke_flash), (1 + nuke_flash), (1 + nuke_flash), 1); }; } else { pause_toggle(); _scroller.unpause(); nuke_mc = new NukeSprite(); nuke_mc.x = (Overkill.SW * 0.5); nuke_mc.y = (Overkill.SH * 0.5); mc.addChild(nuke_mc); }; return; }; check_spawn(); check_bossdeath(_arg1); _oldlen = 1000; _local3 = enemies.length; while (--_local3 > -1) { _local6 = enemies[_local3]; _local6.update(_ship.pos); get_closest_en(_local6); if (_nuke){ _local6.kill(); Globals.add_score(_local6.value); _arg2.create(_local6.pos, _local6.value); if (_local6.targeted){ _targ = null; _local6.unset_target(); }; _arg1.create(ExplosionType.AIR1, _local6.pos); }; if (_local6.shoot){ fire(_local6.pos, _local6.type, _local6.attackmode, _local6.dir, _local6.mc); _local6.shoot = false; }; if (_local6.remove){ enemies.splice(_local3, 1); mc.removeChild(_local6.mc); } else { if (_local6.collision(_ship)){ if (_local6.type != EnemyType.LASER){ _local6.kill(); Globals.add_score(_local6.value); _arg2.create(_local6.pos, _local6.value); if (_local6.targeted){ _targ = null; _local6.unset_target(); }; _ship.damage(35); } else { if (!_ship.dead){ _ship.damage(5); _arg1.shake(6); }; }; if (_ship.health < 1){ if (_local6.type != EnemyType.LASER){ _ship.kill(); _arg1.create(ExplosionType.KILL, _ship.pos); _local7 = _ship.ammo.length; while (--_local7 > -1) { if (_ship.ammo[_local7]){ _items.create_item(_local7, _ship.pos); }; }; } else { if (!_ship.dead){ _ship.kill(); _arg1.create(ExplosionType.KILL, _ship.pos); _local8 = _ship.ammo.length; while (--_local8 > -1) { if (_ship.ammo[_local8]){ _items.create_item(_local8, _ship.pos); }; }; }; }; } else { _ship.flash(1.6, 1.6, 1.6, 1); _arg1.create(ExplosionType.SMALL, _ship.pos); }; }; }; }; if (_nuke){ _nuke = false; }; } private function spawn_tank_set(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; _local3 = _arg1; while (--_local3 > -1) { _local4 = (_local3 * 48); create_enemy(_tankpos, _arg2, 1, _local3, 1, _local4); }; } private function spawn_jetmissile_set():void{ var _local1:int; var _local2:int; var _local3:Array; var _local4:Array; var _local5:Vector; var _local6:int; _local1 = 9; _local3 = [50, 50, 100, 100, 150, 200, 200, 250, 250]; _local4 = [0, 32, 8, 24, 16, 8, 24, 0, 32]; while (--_local1 > -1) { _local5 = new Vector(740, (_local3[_local1] + 25)); _local6 = ((Globals.LEVEL)!=2) ? EnemyType.ROCKETJET : EnemyType.BALLOON; create_enemy(_local5, _local6, 1, _local1, -1, _local4[_local1]); }; } public function airstrike_fin():Boolean{ if (_airstriketimer < 1){ return (true); }; _airstriketimer--; return (false); } function get_closest_en(_arg1:Enemy):void{ var _local2:Number; var _local3:Number; var _local4:Number; if (_arg1.type == EnemyType.DROP_SHIP){ return; }; _local3 = (_arg1.pos.x - _ship.pos.x); _local4 = (_arg1.pos.y - _ship.pos.y); _local2 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local2 < _oldlen){ _oldlen = _local2; _targ = _arg1; _arg1.set_target(); }; } } }//package
Section 45
//EnemySprite (EnemySprite) package { import flash.display.*; public dynamic class EnemySprite extends MovieClip { public var goat_clip:MovieClip; public var clip:MovieClip; } }//package
Section 46
//EnemyType (EnemyType) package { public class EnemyType { public static var PARATROOPER:int = 34; public static var BOAT:int = 29; public static var DROP_SHIP:int = 53; public static var LASER:int = 25; public static var BALLOON:int = 33; public static var SEA_RUIN:int = 17; public static var GUNSHIP_EMPTY:int = 32; public static var DESERT_RUIN:int = 42; public static var BOAT_TURRET:int = 30; public static var GUNSHIP:int = 31; public static var GROUND_TYPES:Array = [0, 1, 2, SNOW_RUIN, MAN]; public static var HOMING:int = 9; public static var SNOW_RUIN:int = 36; public static var ROCKETJET:int = 10; public static var TANK:int = 7; public static var TURRET:int = 5; private static var RUINS:Array = [SNOW_RUIN, JUNGLE_RUIN, SEA_RUIN, DESERT_RUIN]; public static var TORNADO:int = 4; public static var CHOPPER:int = 3; public static var JUNGLE_RUIN:int = 38; public static var MAN:int = 35; public static function get_groundenemy(_arg1:int):int{ switch (_arg1){ case 0: if (Globals.LEVEL != 2){ return (0); }; return (BOAT); case 1: if (Globals.LEVEL != 2){ return (1); }; return (BOAT); case 2: if (Globals.LEVEL != 2){ return (2); }; return (BOAT_TURRET); case 3: return (RUINS[Globals.LEVEL]); case 4: if (Globals.LEVEL != 2){ return (MAN); }; return (BOAT); default: return (0); }; } } }//package
Section 47
//EngineTroubleSound (EngineTroubleSound) package { import flash.media.*; public dynamic class EngineTroubleSound extends Sound { } }//package
Section 48
//ExplodeBigSound (ExplodeBigSound) package { import flash.media.*; public dynamic class ExplodeBigSound extends Sound { } }//package
Section 49
//ExplodeLongSound (ExplodeLongSound) package { import flash.media.*; public dynamic class ExplodeLongSound extends Sound { } }//package
Section 50
//ExplodeShortSound (ExplodeShortSound) package { import flash.media.*; public dynamic class ExplodeShortSound extends Sound { } }//package
Section 51
//Explosion (Explosion) package { import flash.events.*; import com.playerthree.util.*; import flash.display.*; public class Explosion { private var _added:Boolean;// = false private var _remove:Boolean;// = false private var _wait:int;// = 0 public var pos:Vector; public var mc:MovieClip; public var type:int; public function Explosion(_arg1:int, _arg2:Vector){ _remove = false; _added = false; _wait = 0; super(); this.type = _arg1; this.pos = _arg2; mc = new ExplosionSprite(); mc.gotoAndStop((_arg1 + 1)); mc.x = _arg2.x; mc.y = _arg2.y; mc.addEventListener(Event.ADDED_TO_STAGE, on_screen); } public function set remove(_arg1:Boolean):void{ _remove = _arg1; } public function get remove():Boolean{ return (_remove); } public function kill():void{ remove = true; } public function update():void{ if (!_added){ return; }; _wait++; if (_wait < 2){ return; }; if (mc.clip.currentFrame == (mc.clip.totalFrames - 1)){ kill(); }; } public function on_screen(_arg1:Event):void{ mc.removeEventListener(Event.ADDED_TO_STAGE, on_screen); _added = true; } } }//package
Section 52
//ExplosionPool (ExplosionPool) package { import com.playerthree.util.*; import flash.display.*; public class ExplosionPool { private const SHAKE_TIME:int = 24; private var _smokes:Array; private var _shakeforce:int; private var _sprites:Sprite; private var _paused:Boolean;// = false public var mc:Sprite; private var _shaketimer:int;// = 0 private var _sounds:SoundManager; private var _explosions:Array; private var _debrismgr:DebrisManager; public function ExplosionPool(_arg1:SoundManager, _arg2:Sprite){ _explosions = new Array(); _shaketimer = 0; _paused = false; _smokes = new Array(); super(); mc = new Sprite(); _debrismgr = new DebrisManager(mc); this._sounds = _arg1; this._sprites = _arg2; } public function update():void{ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Explosion; var _local5:Smoke; if (_paused){ return; }; _debrismgr.update(); if (_shaketimer > 0){ _shaketimer--; _local2 = (Math.random() * _shakeforce); _local2 = ((_local2)>(_shakeforce / 2)) ? _local2 = (_local2 - _shakeforce); _local2 : _local2; _local3 = (Math.random() * _shakeforce); _local3 = ((_local3)>(_shakeforce / 2)) ? _local3 = (_local3 - _shakeforce); _local3 : _local3; _sprites.x = _local2; _sprites.y = _local3; if (_shaketimer == 1){ _sprites.x = 0; _sprites.y = 0; }; }; _local1 = _explosions.length; while (--_local1 > -1) { _local4 = _explosions[_local1]; _local4.update(); if (_local4.remove){ _explosions.splice(_local1, 1); mc.removeChild(_local4.mc); }; }; _local1 = _smokes.length; while (--_local1 > -1) { _local5 = _smokes[_local1]; _local5.update(); if (_local5.remove){ _smokes.splice(_local1, 1); mc.removeChild(_local5.mc); }; }; } public function reset():void{ var _local1:int; var _local2:Explosion; var _local3:Smoke; _local1 = _explosions.length; while (--_local1 > -1) { _local2 = _explosions[_local1]; _explosions.splice(_local1, 1); mc.removeChild(_local2.mc); }; _local1 = _smokes.length; while (--_local1 > -1) { _local3 = _smokes[_local1]; _smokes.splice(_local1, 1); mc.removeChild(_local3.mc); }; _debrismgr.reset(); } public function shake(_arg1:int):void{ if (_shaketimer > 0){ return; }; _shakeforce = _arg1; _shaketimer = SHAKE_TIME; } public function create(_arg1:int, _arg2:Vector):void{ var _local3:Explosion; var _local4:int; var _local5:String; _local3 = new Explosion(_arg1, _arg2); if (_arg1 == ExplosionType.KILL){ _sounds.play_sound(OSounds.EXP_DEAD); } else { if ((((((_arg1 == ExplosionType.AIR1)) || ((_arg1 == ExplosionType.SMALL)))) || ((_arg1 == ExplosionType.GROUND1)))){ _sounds.play_sound(OSounds.EXP_SHORT); _debrismgr.create_debris(_arg2); } else { if ((((_arg1 == ExplosionType.BIG_AIR)) || ((_arg1 == ExplosionType.BIG_UPWARDS)))){ _sounds.play_sound(OSounds.EXP_LONG); _debrismgr.create_debris(_arg2); } else { if (_arg1 == ExplosionType.UPWARDS){ _sounds.play_sound(OSounds.EXP_SHORT); } else { if (Math.random() < 0.25){ _local4 = Math.floor((Math.random() * 4)); _local4 = (_local4 + 1); _local5 = ("RIC" + _local4); _sounds.play_sound(OSounds[_local5]); }; }; }; }; }; mc.addChild(_local3.mc); _explosions.push(_local3); } public function pause():void{ var _local1:int; var _local2:Explosion; var _local3:Smoke; _paused = true; _local1 = _explosions.length; while (--_local1 > -1) { _local2 = _explosions[_local1]; _explosions.splice(_local1, 1); mc.removeChild(_local2.mc); }; _local1 = _smokes.length; while (--_local1 > -1) { _local3 = _smokes[_local1]; _smokes.splice(_local1, 1); mc.removeChild(_local3.mc); }; } public function create_smoke(_arg1:int, _arg2:Vector):void{ var _local3:Smoke; _local3 = new Smoke(_arg1, _arg2); mc.addChild(_local3.mc); _smokes.push(_local3); } public function unpause():void{ _paused = false; } } }//package
Section 53
//ExplosionSprite (ExplosionSprite) package { import flash.display.*; public dynamic class ExplosionSprite extends MovieClip { public var clip:MovieClip; } }//package
Section 54
//ExplosionType (ExplosionType) package { public class ExplosionType { public static var BIG_UPWARDS:int = 7; public static var AIR1:int = 1; public static var GROUND1:int = 0; public static var BIG_AIR:int = 6; public static var FIRE:int = 5; public static var RICOCHET:int = 2; public static var UPWARDS:int = 4; public static var KILL:int = 9; public static var SMALL:int = 3; } }//package
Section 55
//GameMusicSound (GameMusicSound) package { import flash.media.*; public dynamic class GameMusicSound extends Sound { } }//package
Section 56
//GameOverSprite (GameOverSprite) package { import flash.display.*; public dynamic class GameOverSprite extends MovieClip { public function GameOverSprite(){ addFrameScript(38, frame39); } function frame39(){ stop(); } } }//package
Section 57
//Globals (Globals) package { import com.playerthree.util.*; public class Globals { public static var MISSILE_RATE:int = 16; private static var SCORE:int = 0; public static var E_HEALTH:Array = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]; public static var DECAY:Number = 0.6; public static var B_STRENGTH:Array = [1, 5, 25, 50, 5, 16, 16, 17, 18, 19, 10, 32, 24, 32, 24, 10]; public static var GROUND_Y:int = 385; public static var TANK_TOTALS:Array = [2, 3, 3, 5]; public static var MID_BOSS:int = 3; private static var RANK:int = 0; private static var JET_TOTALS:Array = [5, 10, 14, 22]; public static var MACHINE_GUN_RATE:int = 3; public static var MAX_VOL:Number = 0.75; private static var TYPE3:Array = [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12]; public static var SEEKER_RATE:int = 20; private static var TYPE1:Array = [0, 1, 2, 3, 5, 6, 7, 10, 11, 12]; private static var TYPE2:Array = [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12]; private static var TYPE4:Array = [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12]; private static var THRESHOLD:int = 10000; private static var SET_TOTALS:Array = [2, 3, 4, 5]; private static var BATCHES:Array = [2, 3, 4, 5]; private static var OLD_SCORE:int = 0; private static var TYPES:Array = [TYPE1, TYPE2, TYPE3, TYPE4]; public static var GRID_SIZE:int = 132; public static var BOMB_RATE:int = 12; public static var FIRE_SPEED:int = 16; public static var LEVEL:int = 0; public static var FIRE_INTERVALS:Array = [12, 10, 10, 8]; public static var SEED:int = 2; public static var INIT_DELAY:int = 140; public static var SHOOT_INTERVALS:Array = [32, 24, 20, 16]; private static var LAST_TYPES:Array = new Array(); public static function get_fire_interval():int{ return (FIRE_INTERVALS[Globals.LEVEL]); } public static function get_tanktotal():int{ return (TANK_TOTALS[Globals.LEVEL]); } public static function get_strength(_arg1:int):int{ if (_arg1 == BulletType.MG_MEDIUM){ return (3); }; if (_arg1 == BulletType.MG_HARD){ return (5); }; return (B_STRENGTH[_arg1]); } public static function get_shootinterval():int{ return (SHOOT_INTERVALS[Globals.LEVEL]); } public static function get_ang(_arg1:Vector, _arg2:Vector):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.atan2(_local4, -(_local3))); } public static function get_pickup():int{ var _local1:Array; var _local2:int; var _local3:int; _local1 = TYPES[Globals.LEVEL]; _local2 = _local1[Math.floor((Math.random() * _local1.length))]; if (_local2 == 12){ _local3 = LAST_TYPES.length; while (--_local3 > -1) { if (LAST_TYPES[_local3] == 12){ _local2 = 6; break; }; }; }; LAST_TYPES.push(_local2); if (LAST_TYPES.length > 9){ LAST_TYPES.shift(); }; return (_local2); } public static function get_rankframe():int{ return ((RANK + 1)); } public static function reset_score():void{ SCORE = (OLD_SCORE = 0); RANK = 0; } public static function add_score(_arg1:int):void{ SCORE = (OLD_SCORE + _arg1); if ((((SCORE > THRESHOLD)) && (((SCORE % THRESHOLD) < (OLD_SCORE % THRESHOLD))))){ RANK++; }; OLD_SCORE = SCORE; } public static function to_radians(_arg1:Number):Number{ return ((_arg1 * (Math.PI / 180))); } public static function get_batchtotal():int{ return (BATCHES[Globals.LEVEL]); } public static function get_jetset():int{ return (JET_TOTALS[Globals.LEVEL]); } public static function get_maxsettotal():int{ return (SET_TOTALS[Globals.LEVEL]); } public static function get_score():int{ return (SCORE); } public static function get_health(_arg1:int):int{ var _local2:int; switch (_arg1){ case EnemyType.CHOPPER: _local2 = 8; break; case EnemyType.TORNADO: _local2 = 10; break; case EnemyType.LASER: _local2 = 64; break; case EnemyType.TURRET: _local2 = 64; break; case EnemyType.TANK: _local2 = 16; break; case EnemyType.ROCKETJET: _local2 = 18; break; case 0: case 1: case 2: _local2 = 6; break; default: _local2 = 10; }; return (_local2); } public static function get_enemyrad(_arg1:int):int{ var _local2:int; switch (_arg1){ case EnemyType.CHOPPER: case EnemyType.TORNADO: case EnemyType.ROCKETJET: _local2 = 28; break; case 0: case 1: case 2: case EnemyType.TANK: _local2 = 24; break; case EnemyType.LASER: _local2 = 32; break; case EnemyType.DROP_SHIP: _local2 = 40; break; case EnemyType.TURRET: _local2 = 18; break; default: _local2 = 20; }; return (_local2); } } }//package
Section 58
//GunSprite (GunSprite) package { import flash.display.*; public dynamic class GunSprite extends MovieClip { } }//package
Section 59
//HaSound (HaSound) package { import flash.media.*; public dynamic class HaSound extends Sound { } }//package
Section 60
//HealthSound (HealthSound) package { import flash.media.*; public dynamic class HealthSound extends Sound { } }//package
Section 61
//HeavyMGPickupSound (HeavyMGPickupSound) package { import flash.media.*; public dynamic class HeavyMGPickupSound extends Sound { } }//package
Section 62
//Item (Item) package { import com.playerthree.util.*; import flash.display.*; public class Item { public var oldpos:Vector; public var pos:Vector; private var _timer:int;// = 0 public var mc:MovieClip; private var _hitground:Boolean;// = false public var rad:int;// = 12 private var _remove:Boolean;// = false public var accel:Vector; private var _movestate:int;// = 0 public var type:int; public function Item(_arg1:int, _arg2:Vector){ _remove = false; _hitground = false; _timer = 0; rad = 12; _movestate = 0; super(); this.type = _arg1; this.pos = _arg2; accel = new Vector((Math.random() * -1), 3); oldpos = new Vector(_arg2.x, _arg2.y); mc = new ItemSprite(); mc.gotoAndStop((_arg1 + 1)); } public function get remove():Boolean{ return (_remove); } public function set remove(_arg1:Boolean):void{ _remove = _arg1; } public function update():void{ _timer++; switch (_movestate){ case 0: accel.y = -6; accel.x = (-2 * Math.random()); _movestate = 1; break; case 1: accel.y = (accel.y * 0.8); if (Math.abs(accel.y) < 0.001){ _movestate = 2; }; break; case 2: accel.y = (accel.y + 0.015); break; }; if (!(_timer % 88)){ accel.x = (Math.random() * -2); }; oldpos.x = pos.x; oldpos.y = pos.y; pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); if (pos.y > Globals.GROUND_Y){ hitground = true; kill(); }; } public function render():void{ mc.x = pos.x; mc.y = pos.y; } public function kill():void{ remove = true; } public function get hitground():Boolean{ return (_hitground); } public function collision(_arg1:Ship):int{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = 0; _local5 = ((_arg1.rad * _arg1.rad) + (rad * rad)); _local3 = (_arg1.oldpos.x - oldpos.x); _local4 = (_arg1.oldpos.y - oldpos.y); _local6 = (((_local3 * _local3) + (_local4 * _local4)) - _local5); if (_local6 < 0){ _local2 = 1; }; return (_local2); } public function set hitground(_arg1:Boolean){ _hitground = _arg1; } } }//package
Section 63
//ItemPool (ItemPool) package { import com.playerthree.util.*; import flash.display.*; public class ItemPool { private var _items:Array; private var _paused:Boolean;// = false public var mc:Sprite; private var _ship:Ship; private var _explosions:ExplosionPool; public function ItemPool(_arg1:Ship, _arg2:ExplosionPool){ _items = new Array(); _paused = false; super(); mc = new Sprite(); this._ship = _arg1; this._explosions = _arg2; } public function render():void{ var _local1:int; var _local2:Item; _local1 = _items.length; while (--_local1 > -1) { _local2 = _items[_local1]; _local2.render(); }; } public function unpause():void{ _paused = false; } public function create_item(_arg1:int, _arg2:Vector):void{ var _local3:Item; _local3 = new Item(_arg1, _arg2); mc.addChild(_local3.mc); _items.push(_local3); } public function update():void{ var _local1:int; var _local2:Item; if (_paused){ return; }; _local1 = _items.length; while (--_local1 > -1) { _local2 = _items[_local1]; _local2.update(); if (_local2.collision(_ship)){ _local2.kill(); _ship.pickup(_local2.type); }; if (_local2.remove){ _items.splice(_local1, 1); mc.removeChild(_local2.mc); if (_local2.hitground){ _explosions.create(ExplosionType.GROUND1, _local2.pos); }; }; }; } public function pause():void{ _paused = true; } public function reset():void{ var _local1:int; var _local2:Item; _local1 = _items.length; while (--_local1 > -1) { _local2 = _items[_local1]; _items.splice(_local1, 1); mc.removeChild(_local2.mc); }; } } }//package
Section 64
//ItemSprite (ItemSprite) package { import flash.display.*; public dynamic class ItemSprite extends MovieClip { } }//package
Section 65
//LaserLoopSound (LaserLoopSound) package { import flash.media.*; public dynamic class LaserLoopSound extends Sound { } }//package
Section 66
//LaserPickupSound (LaserPickupSound) package { import flash.media.*; public dynamic class LaserPickupSound extends Sound { } }//package
Section 67
//LaserStartSound (LaserStartSound) package { import flash.media.*; public dynamic class LaserStartSound extends Sound { } }//package
Section 68
//LaserStopSound (LaserStopSound) package { import flash.media.*; public dynamic class LaserStopSound extends Sound { } }//package
Section 69
//LevelManager (LevelManager) package { public class LevelManager { private var _currwave:int; private var _overkill:Overkill; private var _midbossmode:Boolean; private var _gameoverwait:int;// = 0 private var _ship:Ship; private var _explosions:ExplosionPool; private var _scroller:Scroller; private var _vol:Number;// = 0 private var _gameover:Boolean;// = false private var _ui:UI; private var _items:ItemPool; private var _timer:int;// = 0 private var _bossmgr:BossManager; private var _transitiontimer:int;// = 0 private var _sounds:SoundManager; private var _pan:Number;// = 0 private var _enemies:EnemyPool; private var _bossmode:Boolean; private var _bullets:BulletPool; private var _transition:Boolean;// = false private var _totalwaves:int; private var _midbossdone:Boolean; private var _airstrike:Boolean; private var _airstrikedone:Boolean; private static const TOTAL_WAVES:Array = [6, 8, 12, 16]; public function LevelManager(_arg1:Overkill, _arg2:Ship, _arg3:EnemyPool, _arg4:ItemPool, _arg5:ExplosionPool, _arg6:BossManager, _arg7:BulletPool, _arg8:SoundManager, _arg9:Scroller, _arg10:UI){ _timer = 0; _transition = false; _transitiontimer = 0; _gameoverwait = 0; _gameover = false; _vol = 0; _pan = 0; super(); this._overkill = _arg1; this._ship = _arg2; this._enemies = _arg3; this._items = _arg4; this._explosions = _arg5; this._ui = _arg10; this._bossmgr = _arg6; this._bullets = _arg7; this._sounds = _arg8; this._scroller = _arg9; init_level(); } public function init_level():void{ _currwave = 0; _totalwaves = TOTAL_WAVES[Globals.LEVEL]; _bossmode = false; _midbossmode = false; _midbossdone = false; _airstrikedone = false; _airstrike = false; _timer = 0; _vol = 0; _transition = false; _enemies.unpause_spawn(); } private function update_sound():void{ if (_vol < Globals.MAX_VOL){ _vol = (_vol + 0.025); }; _sounds.update(_vol, _pan); } public function update():void{ _timer++; if (_enemies.nuketimer > 0){ if (_enemies.nuketimer == (_enemies.NUKE_TIME - 1)){ _pan = -1; _explosions.pause(); _items.pause(); _ship.pause(); _bullets.pause(); _bossmgr.pause(); }; _pan = (_pan + 0.05); if (_enemies.nuketimer == 1){ _pan = 0; _vol = 0; _explosions.unpause(); _items.unpause(); _ship.unpause(); _bullets.unpause(); _bossmgr.unpause(); }; }; if (_gameover){ if (_gameoverwait == 200){ _ship.pause(); _bullets.pause(); _ui.gameover(); _ui.blackout(true); }; if (_gameoverwait > 0){ _gameoverwait--; } else { Globals.LEVEL = 0; Globals.reset_score(); _overkill.reset_game(); _ship.reset(); _enemies.reset(); _bossmgr.reset(); _bullets.reset(); _explosions.reset(); _items.reset(); _scroller.reset(); _ui.reset(); init_level(); _explosions.unpause(); _items.unpause(); _ship.unpause(); _bullets.unpause(); _bossmgr.unpause(); _gameover = false; _ui.blackout(false); }; return; }; if (_ship.gameover){ _gameover = true; _gameoverwait = 200; }; update_sound(); _currwave = _enemies.wave; if (!_airstrikedone){ if (!_airstrike){ if (_currwave == int((_totalwaves / 2))){ _enemies.pause_spawn(); _airstrike = true; _enemies.create_airstrike(); }; } else { if (_enemies.airstrike_fin()){ _airstrikedone = true; _enemies.unpause_spawn(); }; }; }; if (!_midbossdone){ if (!_midbossmode){ if (_currwave == (_totalwaves - 2)){ _enemies.pause_spawn(); _midbossmode = true; _bossmgr.create(Globals.MID_BOSS); _sounds.play_sound(OSounds.SPECIALOPS); }; } else { if (!_bossmgr.liveboss){ _enemies.unpause_spawn(); _midbossdone = true; }; }; }; if (!_bossmode){ if (_currwave == _totalwaves){ _enemies.pause_spawn(); _bossmode = true; _bossmgr.create(Globals.LEVEL); }; } else { if (!_bossmgr.liveboss){ trace(" go to new level "); _gameover = true; _gameoverwait = 200; }; }; } public function get currentwave():int{ return (_currwave); } public static function get totalwaves():int{ return (TOTAL_WAVES[Globals.LEVEL]); } } }//package
Section 70
//LockLoadSound (LockLoadSound) package { import flash.media.*; public dynamic class LockLoadSound extends Sound { } }//package
Section 71
//Main (Main) package { import com.playerthree.util.*; import flash.display.*; import de.polygonal.math.*; public class Main { private var _items:ItemPool; private var _ui:UI; private var _bossmgr:BossManager; private var _background:Sprite; private var _maus:MouseState; private var _keys:KeyState; public var buffer:Sprite; private var _sprites:Sprite; private var _scroller:Scroller; private var _prng:PM_PRNG; private var _ship:Ship; private var _explosions:ExplosionPool; private var _plums:PlumPool; private var _sounds:SoundManager; private var _beams:BeamPool; private var _enemies:EnemyPool; private var _overkill:Overkill; private var _bmpscore:BitmapScore; private var _bullets:BulletPool; private var _levelmgr:LevelManager; private var _uilayer:Sprite; public function Main(_arg1:KeyState, _arg2:MouseState, _arg3:SoundManager, _arg4:Overkill){ this._keys = _arg1; this._maus = _arg2; this._sounds = _arg3; this._overkill = _arg4; _prng = new PM_PRNG(); _prng.seed = Globals.SEED; buffer = new Sprite(); _background = new Sprite(); _sprites = new Sprite(); _plums = new PlumPool(); _scroller = new Scroller(); _explosions = new ExplosionPool(_arg3, _sprites); _bullets = new BulletPool(); _beams = new BeamPool(); _ship = new Ship(_arg1, _beams, _bullets, _arg3, _explosions); _items = new ItemPool(_ship, _explosions); _enemies = new EnemyPool(_ship, _beams, _bullets, _scroller, _prng, _items, _arg3); _bossmgr = new BossManager(_ship, _beams, _bullets, _enemies, _arg3, _explosions); _bmpscore = new BitmapScore(); _ui = new UI(_ship, _enemies, _bmpscore, _levelmgr); _levelmgr = new LevelManager(_arg4, _ship, _enemies, _items, _explosions, _bossmgr, _bullets, _arg3, _scroller, _ui); _background.addChild(_scroller.mc); _sprites.addChild(_bossmgr.mc); _sprites.addChild(_enemies.mc); _sprites.addChild(_items.mc); _sprites.addChild(_bullets.mc); _sprites.addChild(_beams.mc); _sprites.addChild(_ship.mc); _sprites.addChild(_explosions.mc); _sprites.addChild(_plums.mc); buffer.addChild(_background); buffer.addChild(_sprites); buffer.addChild(_ui.mc); buffer.addChild(_bmpscore.bmp); buffer.addChild(_bmpscore.livesbmp); } public function update():void{ _levelmgr.update(); _ship.update(); _items.update(); _enemies.update(_explosions, _plums); _bossmgr.update(_explosions, _items); _bullets.update(_enemies, _ship, _explosions, _items, _bossmgr, _plums); _beams.update(_enemies, _bossmgr, _ship, _explosions, _items, _scroller); _explosions.update(); _scroller.update(); _plums.update(); _ui.update(); } public function render():void{ _ship.render(); _items.render(); _beams.render(); _enemies.render(); _bossmgr.render(); _bullets.render(); } } }//package
Section 72
//MediumMGPickupSound (MediumMGPickupSound) package { import flash.media.*; public dynamic class MediumMGPickupSound extends Sound { } }//package
Section 73
//Menu (Menu) package { import flash.events.*; import flash.display.*; import gs.*; import fl.motion.easing.*; import flash.net.*; public class Menu { private const BUTTONS_NUM:int = 4; private const soundstr:String = "SOUND ON / OFF"; private const fullversionstr:String = "PLAY THE FULL VERSION"; private const musicstr:String = "MUSIC ON / OFF"; private var _buttons:Array; private var _button_mc:MovieClip; private var _menuapache:MenuApache; private var _overkill:Overkill; public var mc:MovieClip; private var _sounds:SoundManager; private var _onscreen:Boolean;// = false private var _transition:Boolean;// = false private var _menu_mc:MovieClip; private var _volume:Number;// = 0 public function Menu(_arg1:Overkill, _arg2:SoundManager){ _transition = false; _onscreen = false; _buttons = new Array(); _volume = 0; super(); this._overkill = _arg1; this._sounds = _arg2; _menu_mc = new MenuSprite(); _menu_mc.title_mc.clickthru_mc.visible = false; _menu_mc.title_mc.finglink_mc.addEventListener(MouseEvent.MOUSE_UP, go_fing); _menu_mc.title_mc.p3link_mc.addEventListener(MouseEvent.MOUSE_UP, go_p3); _menu_mc.title_mc.finglink_mc.buttonMode = true; _menu_mc.title_mc.p3link_mc.buttonMode = true; _button_mc = new MovieClip(); _button_mc.x = (Overkill.SW * 0.5); _button_mc.y = (Overkill.SH * 0.5); _button_mc.y = (_button_mc.y + 35); _menuapache = new MenuApache(); mc = new MovieClip(); mc.addChild(_menu_mc); mc.addChild(_button_mc); mc.alpha = 0; _menu_mc.background_mc.alpha = 0.5; init_buttons(); _menu_mc.title_mc.gotoAndPlay(2); mc.addChild(_menuapache.mc); } private function fin():void{ _transition = false; } private function go_fing(_arg1:MouseEvent):void{ var _local2:String; var _local3:URLRequest; _local2 = "http://www.fingertime.com/"; _local3 = new URLRequest(_local2); navigateToURL(_local3, "_blank"); } private function init_buttons():void{ var _local1:int; var _local2:Array; var _local3:Array; var _local4:MenuButton; _local1 = BUTTONS_NUM; _local2 = ["play", musicstr, soundstr, fullversionstr]; _local3 = [play_game, music_toggle, sound_toggle, go_fullgame]; while (--_local1 > -1) { _local4 = new MenuButton(_local1, _local2[_local1], _local3[_local1], _menuapache, _sounds); _button_mc.addChild(_local4.mc); _buttons.push(_local4); }; } public function hide():void{ if (_transition){ return; }; _sounds.stop_menu_music(); _volume = 0; _menu_mc.title_mc.gotoAndPlay("off"); _transition = true; TweenLite.to(mc, 0.5, {ease:Exponential.easeIn, alpha:0, onComplete:fin}); _onscreen = false; deactivate_buttons(); mc.removeEventListener(Event.ENTER_FRAME, update); } private function music_toggle():void{ SoundManager.mtoggle(); if (SoundManager.MUSIC_MUTE){ _buttons[2].toggle_display(); _sounds.stop_menu_music(); _volume = 0; } else { _buttons[2].toggle_display(); _sounds.play_menu_music(); }; } private function sound_toggle():void{ SoundManager.stoggle(); if (SoundManager.MUTE){ _buttons[1].toggle_display(); } else { _buttons[1].toggle_display(); }; } private function play_game():void{ _overkill.play_game(); } public function update(_arg1:Event):void{ _menuapache.update(); if (!SoundManager.MUSIC_MUTE){ if (_volume < 1){ _volume = (_volume + 0.05); }; }; _sounds.update(_volume, 0); } private function go_p3(_arg1:MouseEvent):void{ var _local2:String; var _local3:URLRequest; _local2 = "http://www.playerthree.com/"; _local3 = new URLRequest(_local2); navigateToURL(_local3, "_blank"); } private function activate_buttons():void{ var _local1:int; var _local2:MenuButton; fin(); _local1 = BUTTONS_NUM; while (--_local1 > -1) { _local2 = _buttons[_local1]; _local2.show(); }; } private function deactivate_buttons():void{ var _local1:int; var _local2:MenuButton; _local1 = BUTTONS_NUM; while (--_local1 > -1) { _local2 = _buttons[_local1]; _local2.hide(); }; } private function go_fullgame():void{ var _local1:String; var _local2:URLRequest; _local1 = "http://www.fingertime.com/overkillapache2"; _local2 = new URLRequest(_local1); navigateToURL(_local2, "_blank"); } public function show():void{ if (_transition){ return; }; _sounds.play_menu_music(); _volume = 0; _menu_mc.title_mc.gotoAndPlay(2); _transition = true; TweenLite.to(mc, 0.5, {ease:Exponential.easeOut, alpha:1, onComplete:activate_buttons}); mc.addEventListener(Event.ENTER_FRAME, update); _onscreen = true; } } }//package
Section 74
//MenuApache (MenuApache) package { import com.playerthree.util.*; import flash.display.*; import flash.filters.*; public class MenuApache { public var remove:Boolean;// = false public var oldpos:Vector; private var _bounce:Boolean;// = false public var accel:Vector; private var _first:Boolean;// = true public var pos:Vector; public var mc:MovieClip; public var target:Vector; private var _dropshadow:DropShadowFilter; public function MenuApache(){ _first = true; pos = new Vector(0, 0); oldpos = new Vector(0, 0); accel = new Vector(0, 0); target = new Vector(225, 212.5); _bounce = false; remove = false; super(); mc = new MenuApacheSprite(); _dropshadow = new DropShadowFilter(16, 45, 0, 1, 8, 8); mc.filters = [_dropshadow]; } public function kill():void{ remove = true; } public function set_target(_arg1:Vector):void{ target.x = _arg1.x; target.y = _arg1.y; } public function update():void{ if (_first){ pos.x = -100; pos.y = 0; _bounce = false; mc.x = pos.x; mc.y = pos.y; _first = false; }; if (_bounce){ accel.y = (accel.y + ((target.y - pos.y) / 5)); accel.y = (accel.y * 0.7); } else { accel.y = ((target.y - pos.y) / 5); }; accel.x = Math.min(20, ((target.x - pos.x) / 5)); oldpos.x = pos.x; oldpos.y = pos.y; pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); mc.rotation = (accel.x + accel.y); mc.x = pos.x; mc.y = pos.y; if (pos.x > 760){ kill(); }; } } }//package
Section 75
//MenuApacheSprite (MenuApacheSprite) package { import flash.display.*; public dynamic class MenuApacheSprite extends MovieClip { } }//package
Section 76
//MenuButton (MenuButton) package { import flash.events.*; import com.playerthree.util.*; import flash.display.*; import gs.*; import flash.geom.*; import fl.motion.easing.*; import flash.text.*; public class MenuButton { private const OFF_SCREEN:int = 1000; private const SPACING:int = 36; public var name:String; private var _defcolour:uint;// = 0xFFCC00 public var id:int; private var _callback:Function; public var mc:MovieClip; private var _sounds:SoundManager; private var _colour:uint;// = 0xFFFFFF private var _apache:MenuApache; private var _on:Boolean;// = false private var _btn_mc:MovieClip; public function MenuButton(_arg1:int, _arg2:String, _arg3:Function, _arg4:MenuApache, _arg5:SoundManager){ var _local6:*; var _local7:TextFormat; var _local8:TextFormat; _colour = 0xFFFFFF; _defcolour = 0xFFCC00; _on = false; super(); this.id = _arg1; this.name = _arg2.toUpperCase(); this._callback = _arg3; mc = new MovieClip(); _btn_mc = new MenuButtonSprite(); _btn_mc.button_txt.text = this.name; mc.y = OFF_SCREEN; mc.addChild(_btn_mc); mc.mouseChildren = false; if ((((_arg1 > 0)) && ((_arg1 < 3)))){ _local6 = new TextFormat(); _local6.size = 24; _local6.color = _defcolour; _btn_mc.button_txt.setTextFormat(_local6); _local7 = new TextFormat(); _local7.size = 24; _local7.color = _colour; _btn_mc.button_txt.setTextFormat(_local7, 5, 8); } else { if (_arg1 == 0){ _local8 = new TextFormat(); _local8.color = 0xFFFFFF; _btn_mc.button_txt.defaultTextFormat = _local8; }; }; _apache = _arg4; this._sounds = _arg5; } private function activate():void{ mc.addEventListener(MouseEvent.MOUSE_UP, action); mc.addEventListener(MouseEvent.MOUSE_OVER, mouse_over); mc.addEventListener(MouseEvent.MOUSE_OUT, mouse_out); mc.buttonMode = true; } public function show():void{ TweenLite.to(mc, 0.5, {ease:Exponential.easeOut, delay:(id * 0.01), y:(id * SPACING), onComplete:activate}); } public function hide():void{ deactivate(); TweenLite.to(mc, 0.5, {ease:Exponential.easeIn, delay:(id * 0.01), y:OFF_SCREEN}); } public function toggle_display():void{ var _local1:TextFormat; var _local2:TextFormat; var _local3:int; var _local4:int; _local1 = new TextFormat(); _local1.size = 24; _local1.color = _defcolour; _local2 = new TextFormat(); _local2.size = 24; _local2.color = _colour; _btn_mc.button_txt.setTextFormat(_local1); if (_on){ _local3 = 5; _local4 = 8; _on = false; } else { _local3 = 10; _local4 = _btn_mc.button_txt.length; _on = true; }; _btn_mc.button_txt.setTextFormat(_local2, _local3, _local4); } public function set_name(_arg1:String):void{ name = _arg1.toUpperCase(); _btn_mc.button_txt.text = name; } private function mouse_over(_arg1:MouseEvent):void{ var _local2:Point; var _local3:Point; _local2 = new Point((mc.x - 100), mc.y); _local3 = mc.localToGlobal(_local2); if (id == 3){ _apache.set_target(new Vector(175, ((id * SPACING) + 225))); } else { _apache.set_target(new Vector(225, ((id * SPACING) + 225))); }; _sounds.play_sound(OSounds.LOCK); } private function deactivate():void{ mc.removeEventListener(MouseEvent.MOUSE_UP, action); mc.removeEventListener(MouseEvent.MOUSE_OVER, mouse_over); mc.removeEventListener(MouseEvent.MOUSE_OUT, mouse_out); mc.buttonMode = false; } private function mouse_out(_arg1:MouseEvent):void{ } private function action(_arg1:MouseEvent):void{ if (_callback != null){ _callback(); }; } } }//package
Section 77
//MenuButtonSprite (MenuButtonSprite) package { import flash.display.*; import flash.text.*; public dynamic class MenuButtonSprite extends MovieClip { public var button_txt:TextField; } }//package
Section 78
//MenuMusicIntroSound (MenuMusicIntroSound) package { import flash.media.*; public dynamic class MenuMusicIntroSound extends Sound { } }//package
Section 79
//MenuMusicSound (MenuMusicSound) package { import flash.media.*; public dynamic class MenuMusicSound extends Sound { } }//package
Section 80
//MenuSprite (MenuSprite) package { import flash.display.*; import com.playerthree.overkill.*; public dynamic class MenuSprite extends MovieClip { public var background_mc:MovieClip; public var title_mc:GameTitle; } }//package
Section 81
//MetalBack (MetalBack) package { import flash.display.*; public dynamic class MetalBack extends MovieClip { public function MetalBack(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package
Section 82
//MG1Sound (MG1Sound) package { import flash.media.*; public dynamic class MG1Sound extends Sound { } }//package
Section 83
//MG2Sound (MG2Sound) package { import flash.media.*; public dynamic class MG2Sound extends Sound { } }//package
Section 84
//MG3Sound (MG3Sound) package { import flash.media.*; public dynamic class MG3Sound extends Sound { } }//package
Section 85
//MissilePickupSound (MissilePickupSound) package { import flash.media.*; public dynamic class MissilePickupSound extends Sound { } }//package
Section 86
//MissileSound (MissileSound) package { import flash.media.*; public dynamic class MissileSound extends Sound { } }//package
Section 87
//MissionStatusSprite (MissionStatusSprite) package { import flash.display.*; public dynamic class MissionStatusSprite extends MovieClip { public var mission4_mc:MovieClip; public var mission2_mc:MovieClip; public var mission3_mc:MovieClip; public var mission1_mc:MovieClip; } }//package
Section 88
//NeededSound (NeededSound) package { import flash.media.*; public dynamic class NeededSound extends Sound { } }//package
Section 89
//NuclearPickupSound (NuclearPickupSound) package { import flash.media.*; public dynamic class NuclearPickupSound extends Sound { } }//package
Section 90
//NukeSound (NukeSound) package { import flash.media.*; public dynamic class NukeSound extends Sound { } }//package
Section 91
//NukeSprite (NukeSprite) package { import flash.display.*; public dynamic class NukeSprite extends MovieClip { } }//package
Section 92
//NumbersBitmap (NumbersBitmap) package { import flash.display.*; public dynamic class NumbersBitmap extends BitmapData { public function NumbersBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 93
//OSounds (OSounds) package { public class OSounds { public static var EXP_LONG:int = 11; public static var F_MISSILE:int = 3; public static var MISSILES:int = 13; public static var EXP_SHORT:int = 10; public static var MED_MG:int = 17; public static var TRUBS:int = 24; public static var LASER:int = 15; public static var OVERKILL:int = 19; public static var NEEDED:int = 25; public static var CHOPPER:int = 4; public static var LOCK:int = 27; public static var HEAVY_MG:int = 18; public static var RIC1:int = 5; public static var RIC2:int = 6; public static var RIC3:int = 7; public static var RIC4:int = 8; public static var NUCLEAR:int = 16; public static var MG1:int = 0; public static var MG2:int = 1; public static var MG3:int = 2; public static var HEALTH:int = 22; public static var SPECIALOPS:int = 26; public static var NUKE:int = 20; public static var EXP_DEAD:int = 9; public static var TANK_FIRE:int = 21; public static var BOMBS:int = 14; public static var HA:int = 23; public static var ROCKETS:int = 12; } }//package
Section 94
//Overkill (Overkill) package { import flash.events.*; import com.playerthree.util.*; import flash.display.*; import com.fingertime.core.*; public class Overkill extends MovieClip { private var _maus:MouseState; private var _menu:Menu; private var _sounds:SoundManager; private var _main:Main; private var _screen:Sprite; private var _keys:KeyState; private var _sfpreloader:SFPreloader; public static var SW:int = 720; public static var SH:int = 400; public function Overkill(){ addFrameScript(0, frame1); stop(); addEventListener(Event.ADDED_TO_STAGE, added); } private function added(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, added); _keys = new KeyState(); _maus = new MouseState(); _sounds = new SoundManager(); _screen = new Sprite(); _screen.visible = false; stage.addEventListener(KeyboardEvent.KEY_DOWN, _keys.onKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, _keys.onKeyUp); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; addFrameScript(9, init_game); init_preloader(); } private function init_preloader():void{ _sfpreloader = new SFPreloader(); _sfpreloader.addEventListener(Event.ADDED_TO_STAGE, init_preloader_events); addChild(_sfpreloader); } public function play_game():void{ _screen.visible = true; _menu.hide(); _sounds.play_game_music(); addEventListener(Event.ENTER_FRAME, update); } private function load_progress(_arg1:ProgressEvent):void{ _sfpreloader.update(_arg1.bytesLoaded, _arg1.bytesTotal); } private function init_preloader_events(_arg1:Event):void{ _sfpreloader.init(); _sfpreloader.removeEventListener(Event.ADDED_TO_STAGE, init_preloader_events); loaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress); loaderInfo.addEventListener(Event.COMPLETE, load_complete); } function frame1(){ } private function load_complete(_arg1:Event):void{ removeChild(_sfpreloader); play(); } private function init_game():void{ trace(" hi demo init "); stop(); _sounds.init(); _main = new Main(_keys, _maus, _sounds, this); _screen.addChild(_main.buffer); addChild(_screen); _menu = new Menu(this, _sounds); addChild(_menu.mc); _menu.show(); } private function update(_arg1:Event):void{ _main.update(); _main.render(); } public function reset_game():void{ _screen.visible = false; _sounds.stop_game_music(); _menu.show(); removeEventListener(Event.ENTER_FRAME, update); } } }//package
Section 95
//OverkillPickupSound (OverkillPickupSound) package { import flash.media.*; public dynamic class OverkillPickupSound extends Sound { } }//package
Section 96
//Plum (Plum) package { import com.playerthree.util.*; import flash.display.*; public class Plum { public var pos:Vector; public var mc:MovieClip; public function Plum(_arg1:Vector, _arg2:int){ this.pos = new Vector(_arg1.x, _arg1.y); mc = new PlumSprite(); mc.x = _arg1.x; mc.y = _arg1.y; display_value(_arg2); } private function display_value(_arg1:int):void{ var _local2:String; var _local3:Array; var _local4:int; _local2 = _arg1.toString(); _local3 = _local2.split(""); _local4 = (int(_local3[0]) + 1); mc.plum_mc.plum.num0.gotoAndStop(_local4); _local4 = (int(_local3[1]) + 1); mc.plum_mc.plum.num1.gotoAndStop(_local4); _local4 = (int(_local3[2]) + 1); mc.plum_mc.plum.num2.gotoAndStop(_local4); if (_local2.length < 3){ mc.plum_mc.plum.num2.visible = false; }; } public function kill():void{ mc.parent.removeChild(mc); delete ??getglobalscope [this]; } } }//package
Section 97
//PlumPool (PlumPool) package { import com.playerthree.util.*; import flash.display.*; public class PlumPool { private var _plums:Array; public var mc:Sprite; public function PlumPool(){ _plums = new Array(); super(); mc = new Sprite(); } public function update():void{ var _local1:int; var _local2:Plum; _local1 = 0; while (_local1 < _plums.length) { _local2 = _plums[_local1]; if (_local2.mc.currentFrame > 25){ _plums.splice(_local1, 1); _local2.kill(); }; _local1++; }; } public function create(_arg1:Vector, _arg2:int):void{ var _local3:Plum; _local3 = new Plum(_arg1, _arg2); mc.addChild(_local3.mc); _plums.push(_local3); } } }//package
Section 98
//PlumSprite (PlumSprite) package { import flash.display.*; public dynamic class PlumSprite extends MovieClip { public var plum_mc:MovieClip; } }//package
Section 99
//ProgressBar (ProgressBar) package { import flash.display.*; import flash.geom.*; public class ProgressBar { public var bmp:Bitmap; private var _data:BitmapData; public function ProgressBar(){ _data = new BitmapData(0x0100, 6, false, 0); bmp = new Bitmap(_data); bmp.x = 600; bmp.y = 14; } public function update(_arg1:int, _arg2:int):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:uint; _data.fillRect(new Rectangle(0, 0, 0x0100, 6), 0); _local3 = 0; while (_local3 < _arg2) { _local4 = (1 + (_local3 * 6)); if (_local3 > _arg1){ _local6 = 0xFFFFFF; } else { if (_local3 == _arg1){ _local6 = 0xFF0000; } else { _local6 = 0xFFFF00; }; }; _data.fillRect(new Rectangle(_local4, 1, 4, 4), _local6); _local3++; }; } } }//package
Section 100
//Ricochet1Sound (Ricochet1Sound) package { import flash.media.*; public dynamic class Ricochet1Sound extends Sound { } }//package
Section 101
//Ricochet2Sound (Ricochet2Sound) package { import flash.media.*; public dynamic class Ricochet2Sound extends Sound { } }//package
Section 102
//Ricochet3Sound (Ricochet3Sound) package { import flash.media.*; public dynamic class Ricochet3Sound extends Sound { } }//package
Section 103
//Ricochet4Sound (Ricochet4Sound) package { import flash.media.*; public dynamic class Ricochet4Sound extends Sound { } }//package
Section 104
//RocketPickupSound (RocketPickupSound) package { import flash.media.*; public dynamic class RocketPickupSound extends Sound { } }//package
Section 105
//ScoreOverlaySprite (ScoreOverlaySprite) package { import flash.display.*; import flash.text.*; public dynamic class ScoreOverlaySprite extends MovieClip { public var deb:TextField; public var nuke_mc:MovieClip; public var badge_mc:MovieClip; public var currentwave_txt:TextField; } }//package
Section 106
//Scroller (Scroller) package { import com.playerthree.util.*; import flash.display.*; import flash.filters.*; import flash.geom.*; public class Scroller { private var _skies:Array; private var _snowroad:BitmapData; private var _fxcanvas:Sprite; private var _mids:Array; private var _bgs:Array; private var _currentfar:BitmapData; private var _fars:Array; public var mc:Sprite; private var _snowmid:BitmapData; private var _currentsky:BitmapData; private var _tx:Number; private var _fadeshape:Shape; private var _current:BitmapData; private var _fadetimer:int;// = 0 private var _paused:Boolean;// = false private var _currentmid:BitmapData; private var _mx:Number; private var _roads:Array; private var _fxblur:BlurFilter; private var _currentroad:BitmapData; private var _buffer:BitmapData; private var _snow:BitmapData; private var _skybmp:Bitmap; private var _rx:Number; private var _fx:Number; private var _snowfar:BitmapData; private var _sky:BitmapData; private var _snowsky:BitmapData; public static var FY:Array = [320]; public static var TY:Array = [340]; public static var RY:Array = [320]; public static var MY:Array = [300]; public function Scroller(){ _snowsky = new SnowSkyBmp(0, 0); _snow = new SnowBmp(0, 0); _snowmid = new SnowMidBmp(0, 0); _snowfar = new SnowFarBmp(0, 0); _snowroad = new SnowRoadBmp(0, 0); _mids = [_snowmid]; _fars = [_snowfar]; _roads = [_snowroad]; _bgs = [_snow]; _skies = [_snowsky]; _fadetimer = 0; _paused = false; _sky = new BitmapData(Overkill.SW, Overkill.SH, false, 0); _buffer = new BitmapData(Overkill.SW, Overkill.SH, false, 0); super(); mc = new Sprite(); init(); mc.addChild(_skybmp); } public function init():void{ _fxblur = new BlurFilter(8, 8, 1); _fxcanvas = new Sprite(); _fxcanvas.filters = [_fxblur]; _fadeshape = new Shape(); _fxcanvas.addChild(_fadeshape); init_level(); } public function init_level():void{ var _local1:int; _current = _bgs[Globals.LEVEL]; _currentfar = _fars[Globals.LEVEL]; _currentmid = _mids[Globals.LEVEL]; _currentroad = _roads[Globals.LEVEL]; _currentsky = _skies[Globals.LEVEL]; _fx = (_mx = (_tx = (_rx = 0))); _local1 = Math.ceil((Overkill.SW / 5)); while (--_local1 > -1) { _sky.copyPixels(_currentsky, new Rectangle(0, 0, 5, Overkill.SH), new Point((_local1 * 5), 0)); }; _buffer.copyPixels(_currentfar, new Rectangle(0, 0, _currentfar.width, _currentfar.height), new Point(0, FY[Globals.LEVEL])); _buffer.copyPixels(_current, new Rectangle(0, 0, _current.width, _current.height), new Point(0, TY[Globals.LEVEL])); _buffer.copyPixels(_currentmid, new Rectangle(0, 0, _currentmid.width, _currentmid.height), new Point(0, MY[Globals.LEVEL])); _buffer.copyPixels(_currentroad, new Rectangle(0, 0, _currentroad.width, _currentroad.height), new Point(0, RY[Globals.LEVEL])); _skybmp = new Bitmap(_buffer); } public function burn_background(_arg1:Vector, _arg2:Vector):void{ _fadeshape.graphics.clear(); _fadeshape.graphics.lineStyle(5, 0xFFFFFF, 1); _fadeshape.graphics.moveTo(_arg1.x, _arg1.y); _fadeshape.graphics.lineTo(_arg2.x, _arg2.y); _fadetimer = 100; } public function update():void{ var _local1:Rectangle; var _local2:Point; var _local3:int; var _local4:int; if (_paused){ return; }; _buffer.copyPixels(_sky, new Rectangle(0, 0, Overkill.SW, Overkill.SH), new Point(0, 0)); if (_fadetimer > 0){ _fxcanvas.alpha = (_fadetimer * 0.01); _buffer.draw(_fxcanvas, _fxcanvas.transform.matrix, _fxcanvas.transform.colorTransform, BlendMode.OVERLAY); _fadetimer = (_fadetimer - 5); if (_fadetimer == 1){ }; }; _local1 = new Rectangle(0, 0, _currentfar.width, _currentfar.height); _local2 = new Point(0, 0); _fx = (((_fx + 0.25))<_currentfar.width) ? (_fx + 0.25) : 0; _local2.x = int(-(_fx)); _local2.y = FY[Globals.LEVEL]; _buffer.copyPixels(_currentfar, _local1, _local2); _local2.x = int((-(_fx) + _currentfar.width)); _buffer.copyPixels(_currentfar, _local1, _local2); _local1 = new Rectangle(0, 0, _currentmid.width, _currentmid.height); _mx = (((_mx + 0.5))<_currentmid.width) ? (_mx + 0.5) : 0; _local2.x = int(-(_mx)); _local2.y = MY[Globals.LEVEL]; _buffer.copyPixels(_currentmid, _local1, _local2); _local2.x = int(((-(_mx) + _currentmid.width) - 2)); _buffer.copyPixels(_currentmid, _local1, _local2); _local3 = ((Globals.LEVEL)==0) ? 1 : 2; _local1 = new Rectangle(0, 0, _current.width, _current.height); _tx = (((_tx + _local3))<_current.width) ? (_tx + _local3) : 0; _local2.x = int(-(_tx)); _local2.y = TY[Globals.LEVEL]; _buffer.copyPixels(_current, _local1, _local2); _local2.x = (int((-(_tx) + _current.width)) - 2); _buffer.copyPixels(_current, _local1, _local2); _local1 = new Rectangle(0, 0, _currentroad.width, _currentroad.height); _local4 = ((Globals.LEVEL)==0) ? 7 : 16; _rx = (((_rx + _local4))<_currentroad.width) ? (_rx + _local4) : 0; _local2.x = int(-(_rx)); _local2.y = RY[Globals.LEVEL]; _buffer.copyPixels(_currentroad, _local1, _local2); _local2.x = int((-(_rx) + _currentroad.width)); _buffer.copyPixels(_currentroad, _local1, _local2); } public function reset():void{ init_level(); } public function pause():void{ if (_paused){ return; }; _paused = true; } public function unpause():void{ if (!_paused){ return; }; _paused = false; } } }//package
Section 107
//Ship (Ship) package { import com.playerthree.util.*; import flash.display.*; import flash.geom.*; public class Ship { private const initial_ammo:Array; public var ammo_pickup:Array; private var _lives:int;// = 3 private var _rot:Number; private var _gameover:Boolean;// = false private var _lowhealth:Boolean;// = false public var ax:Number;// = 0 public var ay:Number;// = 0 public var type:int;// = 0 private var _aabb:Boolean;// = false public var gun:MovieClip; private var _brate:int;// = 0 private var _timer:int;// = 0 private var _initmove:Boolean;// = false private var _dead:Boolean;// = false private var _paused:Boolean;// = false private var _defaultcolour:ColorTransform; private var _rad:int;// = 32 private var _sounds:SoundManager; private var _initx:Number; private var _inity:Number; private var _arcing:Boolean;// = false private var _bullets:BulletPool; private var _mgsound:int; private var _health:int;// = 100 public var tx:Number;// = 0 public var ty:Number;// = 0 private var _movetimer:int;// = 0 public var mc:MovieClip; private var _explosions:ExplosionPool; private var _beams:BeamPool; private var _xheld:Boolean;// = false private var _spaceheld:Boolean;// = false private var _ftimer:int;// = 0 private var _rate:int;// = 0 private var _hasnuke:Boolean;// = false private var _outx:Number; private var _outy:Number;// = 50 private var _live:Boolean;// = false private var _mrate:int;// = 0 private var _movedelay:int;// = 0 public var ammo:Array; private var _keys:KeyState; private var _outmove:Boolean;// = false private var _movestate:int;// = 0 private var _srate:int;// = 0 private var _savemgsound:int; public var ox:Number;// = 0 private var _isbeaming:Boolean;// = false public var oy:Number;// = 0 public var gridx:int; private var _mgtype:int; private var _flashnum:int;// = 0 public var gridy:int; private static const MAX_SPEED:int = 10; public function Ship(_arg1:KeyState, _arg2:BeamPool, _arg3:BulletPool, _arg4:SoundManager, _arg5:ExplosionPool){ ax = 0; ay = 0; ox = 0; oy = 0; tx = 0; ty = 0; type = 0; _spaceheld = false; _xheld = false; _rate = 0; _mrate = 0; _brate = 0; _srate = 0; _ftimer = 0; _dead = false; _health = 100; _rad = 32; _timer = 0; _gameover = false; _paused = false; _flashnum = 0; _lives = 3; _isbeaming = false; _aabb = false; _hasnuke = false; _initmove = false; _initx = (Overkill.SW * 0.25); _inity = (Overkill.SH * 0.5); _live = false; _outmove = false; _outx = (Overkill.SW + 100); _outy = 50; _movetimer = 0; _movestate = 0; _movedelay = 0; _lowhealth = false; _arcing = false; _mgtype = BulletType.MG; _mgsound = OSounds.MG1; _savemgsound = OSounds.MG1; initial_ammo = [50, 0, 0, 0, 0]; ammo = initial_ammo.slice(); ammo_pickup = [OSounds.ROCKETS, OSounds.MISSILES, OSounds.BOMBS, OSounds.LASER, OSounds.LASER]; super(); this._keys = _arg1; this._beams = _arg2; this._bullets = _arg3; this._sounds = _arg4; this._explosions = _arg5; mc = new ShipSprite(); _defaultcolour = mc.transform.colorTransform; gun = mc.machine_mc; gun.gotoAndStop(1); _rot = mc.rotation; reset_pos(); } private function reset_colour():void{ var _local1:Transform; var _local2:ColorTransform; if (_flashnum > 1){ _flashnum--; return; }; _flashnum--; _local1 = new Transform(mc); _local2 = _defaultcolour; _local1.colorTransform = _local2; } public function unpause():void{ _paused = false; } public function pause():void{ _paused = true; stop_fire(); stop_secondary_fire(); _sounds.stop_sound(_savemgsound); } public function render():void{ var _local1:int; mc.x = tx; mc.y = ty; _local1 = 2; if (ay < -1){ _local1 = 1; }; if (ay > 1){ _local1 = 3; }; mc.rotation = (ax * 1.5); gun.rotation = -(mc.rotation); mc.gotoAndStop(_local1); _rot = mc.rotation; mc.blade.visible = !(mc.blade.visible); } public function get lives():int{ return (_lives); } public function get rad():int{ return (_rad); } private function secondary_fire():void{ var _local1:Point; _local1 = mc.localToGlobal(new Point(gun.x, gun.y)); if (ammo[3] > 0){ if (!_arcing){ _sounds.play_arc_sound(); _bullets.enable_arc(); _arcing = true; }; var _local2 = ammo; var _local3 = 3; var _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; } else { if (_arcing){ _sounds.stop_arc_sound(); _bullets.disable_arc(); _arcing = false; }; }; if (ammo[4] > 0){ if (!_isbeaming){ _sounds.play_laser_sound(); _beams.create_beam(this); _isbeaming = true; }; _local2 = ammo; _local3 = 4; _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; } else { if (_isbeaming){ _sounds.stop_laser_sound(); _beams.kill(this); _isbeaming = false; }; }; } public function fire():void{ var _local1:Point; _local1 = mc.localToGlobal(new Point(gun.x, gun.y)); if (_rate == 0){ _bullets.create_bullet(new Vector(_local1.x, _local1.y), _mgtype); _rate = Globals.MACHINE_GUN_RATE; }; gun.gotoAndStop(((_ftimer % 3) + 1)); _ftimer++; if (ammo[0] > 0){ if (_srate == 0){ _bullets.create_bullet(new Vector(_local1.x, _local1.y), 1); _bullets.create_bullet(new Vector(_local1.x, _local1.y), 1); var _local2 = ammo; var _local3:int; var _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; _srate = Globals.SEEKER_RATE; }; }; if (ammo[1] > 0){ if (_mrate == 0){ _bullets.create_bullet(new Vector(_local1.x, _local1.y), 2); _local2 = ammo; _local3 = 1; _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; _sounds.play_sound(OSounds.F_MISSILE); _mrate = Globals.MISSILE_RATE; }; }; if (ammo[2] > 0){ if (_brate == 0){ _bullets.create_bullet(new Vector((_local1.x - 10), (_local1.y + 6)), 3); _local2 = ammo; _local3 = 2; _local4 = (_local2[_local3] - 1); _local2[_local3] = _local4; _brate = Globals.BOMB_RATE; }; }; } public function get movingscreen():Boolean{ if (_initmove){ return (true); }; return (false); } public function reset():void{ _lives = 3; _flashnum = 0; reset_pos(); health = 100; dead = false; _gameover = false; _movestate = 0; _rate = (_srate = (_mrate = (_brate = (_ftimer = 0)))); _mgtype = BulletType.MG; _mgsound = OSounds.MG1; _savemgsound = OSounds.MG1; } public function stop_fire():void{ gun.gotoAndStop(1); } public function get pos():Vector{ return (new Vector(tx, ty)); } public function kill():void{ dead = true; } public function get aabb():Boolean{ return (_aabb); } private function nuke():void{ if (hasnuke){ _bullets.nuke(); _hasnuke = false; }; } public function get dead():Boolean{ return (_dead); } public function get health():int{ return (_health); } public function get initdelay():int{ return (_movedelay); } public function pickup(_arg1:int):void{ var _local2:int; if (_arg1 < 6){ if (_arg1 > 0){ ammo[(_arg1 - 1)] = (ammo[(_arg1 - 1)] + 50); _sounds.play_sound(ammo_pickup[(_arg1 - 1)]); } else { if (_mgtype != BulletType.MG_HARD){ _mgtype = BulletType.MG_MEDIUM; _mgsound = OSounds.MG2; if (_spaceheld){ _sounds.stop_sound(_savemgsound); _sounds.play_sound(_mgsound, true); _savemgsound = _mgsound; }; _sounds.play_sound(OSounds.MED_MG); }; }; } else { switch (_arg1){ case 6: if (health < 25){ _sounds.play_sound(OSounds.NEEDED); } else { _sounds.play_sound(OSounds.HEALTH); }; health = (health + 35); if (health > 100){ health = 100; }; break; case 7: _mgtype = BulletType.MG_HARD; _mgsound = OSounds.MG3; _sounds.play_sound(OSounds.HEAVY_MG); if (_spaceheld){ _sounds.stop_sound(_savemgsound); _sounds.play_sound(_mgsound, true); _savemgsound = _mgsound; }; break; case 8: ammo[1] = (ammo[1] + 50); _sounds.play_sound(OSounds.MISSILES); break; case 9: ammo[1] = (ammo[1] + 50); _sounds.play_sound(OSounds.MISSILES); break; case 10: _local2 = ammo.length; while (--_local2 > -1) { ammo[_local2] = (ammo[_local2] + 100); }; _xheld = false; _sounds.play_sound(OSounds.OVERKILL); break; case 11: enable_nuke(); _sounds.play_sound(OSounds.NUCLEAR); break; case 12: _sounds.play_sound(OSounds.HA); _lives++; break; }; }; } public function damage(_arg1:int):void{ if (!_live){ return; }; health = (health - _arg1); } private function reset_pos():void{ ox = (tx = -50); oy = (ty = (Overkill.SH * 0.5)); ax = (ay = 0); gridx = 0; gridy = 0; gun.gotoAndStop(1); _live = false; _initmove = true; _movedelay = Globals.INIT_DELAY; } private function move_offscreen():void{ _movetimer++; switch (_movestate){ case 0: ax = 5; ay = -2; _movestate = 1; break; case 1: ax = (ax * 1.05); ay = (ay * 0.95); if (pos.x > _outx){ reset_pos(); _movestate = 0; _movetimer = 0; _outmove = false; }; break; }; } public function enable_nuke():void{ _hasnuke = true; } public function set health(_arg1:int):void{ _health = _arg1; } private function move_onscreen():void{ if (_movedelay > 0){ _movedelay--; return; }; _movetimer++; switch (_movestate){ case 0: _sounds.play_chopper_sound(); ax = 20; ay = 0; _movestate = 1; break; case 1: ax = (ax * 0.9); if (!(_movetimer % 3)){ flash(1.6, 1.6, 1.6, 0.6); } else { flash(1, 1, 1, 1); }; if (ax < 1){ _live = true; _initmove = false; _movestate = 0; _movetimer = 0; }; break; }; } public function get beamrot():Number{ return (_rot); } public function get gameover():Boolean{ return (_gameover); } public function set dead(_arg1:Boolean):void{ _dead = _arg1; } public function update():void{ var _local1:Vector; if (_paused){ return; }; if (dead){ _lives--; if (_lives > -1){ reset_pos(); health = 100; dead = false; _hasnuke = false; _sounds.stop_sound(_savemgsound); ammo = initial_ammo.slice(); _mgtype = BulletType.MG; _mgsound = OSounds.MG1; _savemgsound = _mgsound; _lowhealth = false; _sounds.stop_chopper_sound(); if (_spaceheld){ _sounds.stop_sound(_savemgsound); _spaceheld = false; }; stop_fire(); stop_secondary_fire(); } else { trace(" game over "); if (!_gameover){ reset_pos(); _lowhealth = false; _sounds.stop_chopper_sound(); _sounds.stop_all(); if (_spaceheld){ _sounds.stop_sound(_savemgsound); _spaceheld = false; }; trace(" stop chopper sound? "); stop_fire(); stop_secondary_fire(); _gameover = true; }; return; }; }; if (_flashnum > 0){ reset_colour(); }; if (((!(_initmove)) && (!(_outmove)))){ input(); } else { if (_initmove){ move_onscreen(); } else { move_offscreen(); }; }; if (_rate > 0){ _rate--; }; if (_mrate > 0){ _mrate--; }; if (_brate > 0){ _brate--; }; if (_srate > 0){ _srate--; }; ox = tx; oy = ty; tx = (tx + ax); ty = (ty + ay); if (_live){ if (tx < 50){ tx = 50; }; if (ty < 30){ ty = 30; }; if (ty > 340){ ty = 340; }; if (tx > 690){ tx = 690; }; }; _timer++; gridx = Math.floor((tx / Globals.GRID_SIZE)); gridy = Math.floor((ty / Globals.GRID_SIZE)); _local1 = new Vector(0, 0); if (health < 25){ if (!_lowhealth){ _sounds.play_sound(OSounds.TRUBS); _lowhealth = true; }; if (!(_timer % 2)){ _local1.x = (pos.x + (Math.random() * 3)); _local1.y = (pos.y + (Math.random() * 3)); _explosions.create_smoke(1, _local1); _local1.x = (pos.x - (Math.random() * 3)); _local1.y = (pos.y - (Math.random() * 3)); _explosions.create_smoke(0, _local1); }; } else { if (health < 50){ if (!(_timer % 6)){ _local1.x = (pos.x + (Math.random() * 3)); _local1.y = (pos.y + (Math.random() * 3)); _explosions.create_smoke(1, _local1); _local1.x = (pos.x - (Math.random() * 3)); _local1.y = (pos.y - (Math.random() * 3)); _explosions.create_smoke(0, _local1); }; }; }; } private function input():void{ var _local1:Number; var _local2:Number; var _local3:Number; _local3 = Globals.DECAY; _local2 = 0; _local1 = _local2; if (_keys.left){ _local1 = (-1 * 2); }; if (_keys.right){ _local1 = (1 * 2); }; if (_local1 != 0){ ax = (ax + _local1); ax = Math.max(-(MAX_SPEED), Math.min(MAX_SPEED, ax)); } else { ax = (ax * _local3); }; if (_keys.up){ _local2 = -1; }; if (_keys.down){ _local2 = 1; }; if (_local2 != 0){ ay = (ay + (_local2 * 2)); ay = Math.max(-(MAX_SPEED), Math.min(MAX_SPEED, ay)); } else { ay = (ay * _local3); }; if (_keys.c){ nuke(); }; if (_keys.x){ secondary_fire(); if (!_xheld){ _xheld = true; }; } else { if (_xheld){ _xheld = false; stop_secondary_fire(); }; }; if (_keys.z){ fire(); if (!_spaceheld){ _sounds.play_sound(_mgsound, true); _savemgsound = _mgsound; _spaceheld = true; }; } else { if (_spaceheld){ _spaceheld = false; stop_fire(); _sounds.stop_sound(_savemgsound); }; }; } public function get rot():Number{ return (_rot); } public function get oldpos():Vector{ return (new Vector(ox, oy)); } public function moveout():void{ _outmove = true; _live = false; if (_spaceheld){ _sounds.stop_sound(_savemgsound); _spaceheld = false; }; stop_fire(); stop_secondary_fire(); } public function flash(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Transform; var _local6:ColorTransform; _local5 = new Transform(mc); _local6 = _local5.colorTransform; _local6.redMultiplier = _arg1; _local6.greenMultiplier = _arg2; _local6.blueMultiplier = _arg3; _local6.alphaMultiplier = _arg4; _local5.colorTransform = _local6; _flashnum = 10; } public function get hasnuke():Boolean{ return (_hasnuke); } private function stop_secondary_fire():void{ if (_isbeaming){ _beams.kill(this); _isbeaming = false; _sounds.stop_laser_sound(); }; if (_arcing){ _sounds.stop_arc_sound(); _bullets.disable_arc(); _arcing = false; }; } } }//package
Section 108
//ShipSprite (ShipSprite) package { import flash.display.*; public dynamic class ShipSprite extends MovieClip { public var blade:MovieClip; public var apache:MovieClip; public var gattling_mc:MovieClip; public var machine_mc:GunSprite; } }//package
Section 109
//Smoke (Smoke) package { import com.playerthree.util.*; import flash.display.*; public class Smoke { public var remove:Boolean;// = false public var accel:Vector; public var oldpos:Vector; public var pos:Vector; private var _movetimer:int;// = 0 public var mc:MovieClip; private var _movestate:int;// = 0 public function Smoke(_arg1:int, _arg2:Vector){ _movestate = 0; _movetimer = 0; remove = false; super(); this.pos = new Vector(_arg2.x, _arg2.y); if (_arg1 == 0){ mc = new SmokeSprite(); } else { mc = new SmokeHeavySprite(); }; oldpos = new Vector(_arg2.x, _arg2.y); accel = new Vector(-5, 0); mc.x = _arg2.x; mc.y = _arg2.y; } public function kill():void{ remove = true; } public function update():void{ oldpos.x = pos.x; oldpos.y = pos.y; switch (_movestate){ case 0: _movestate = 1; accel.y = -1; break; case 1: accel.x = (accel.x * 1.1); accel.y = (accel.y * 1.05); break; }; pos.x = (pos.x + accel.x); pos.y = (pos.y + accel.y); mc.x = pos.x; mc.y = pos.y; if (mc.currentFrame == mc.totalFrames){ kill(); }; } } }//package
Section 110
//SmokeHeavySprite (SmokeHeavySprite) package { import flash.display.*; public dynamic class SmokeHeavySprite extends MovieClip { } }//package
Section 111
//SmokeSprite (SmokeSprite) package { import flash.display.*; public dynamic class SmokeSprite extends MovieClip { } }//package
Section 112
//SnowBmp (SnowBmp) package { import flash.display.*; public dynamic class SnowBmp extends BitmapData { public function SnowBmp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 113
//SnowFarBmp (SnowFarBmp) package { import flash.display.*; public dynamic class SnowFarBmp extends BitmapData { public function SnowFarBmp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 114
//SnowMidBmp (SnowMidBmp) package { import flash.display.*; public dynamic class SnowMidBmp extends BitmapData { public function SnowMidBmp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 115
//SnowRoadBmp (SnowRoadBmp) package { import flash.display.*; public dynamic class SnowRoadBmp extends BitmapData { public function SnowRoadBmp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 116
//SnowSkyBmp (SnowSkyBmp) package { import flash.display.*; public dynamic class SnowSkyBmp extends BitmapData { public function SnowSkyBmp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 117
//SoundManager (SoundManager) package { import flash.events.*; import flash.media.*; public class SoundManager { private var _musichannel:SoundChannel; private var _chns:Array; private var _laserstop:Sound; private var _snds:Array; private var _chopperchn:SoundChannel; private var _arcstop:Sound; private var _laserstart:Sound; private var _choppertrans:SoundTransform; private var _choppersnd:Sound; private var _arcloopchn:SoundChannel; private var _globaltrans:SoundTransform; private var _laserloop:Sound; private var _arcloop:Sound; private var _laserloopchn:SoundChannel; public static var MUSIC_MUTE:Boolean = false; public static var MUTE:Boolean = false; public function SoundManager(){ _snds = new Array(); _chns = new Array(); super(); } function play_menu_loop(_arg1:Event):void{ var _local2:Sound; _local2 = new MenuMusicSound(); _musichannel.removeEventListener(Event.SOUND_COMPLETE, play_menu_loop); _musichannel = _local2.play(0, 999); } public function stop_chopper_sound():void{ if (MUTE){ return; }; if (_chopperchn != null){ _chopperchn.stop(); _chopperchn = null; }; } function play_game_music():void{ var _local1:Sound; if (MUSIC_MUTE){ return; }; _local1 = new GameMusicSound(); _musichannel = _local1.play(0, 999); } public function play_sound(_arg1:int, _arg2:Boolean=false):void{ var _local3:int; if (MUTE){ return; }; _local3 = (_arg2) ? 999 : 1; _chns[_arg1] = _snds[_arg1].play(0, _local3, _globaltrans); } public function stop_laser_sound():void{ if (MUTE){ return; }; if (_laserloopchn == null){ trace(" error in laser sound "); return; }; _laserloopchn.stop(); _laserstop.play(); _laserloopchn = null; } public function init():void{ var _local1:Sound; var _local2:Sound; var _local3:Sound; var _local4:Sound; var _local5:Sound; var _local6:Sound; var _local7:Sound; var _local8:Sound; var _local9:Sound; var _local10:Sound; var _local11:Sound; var _local12:Sound; var _local13:Sound; var _local14:Sound; var _local15:Sound; var _local16:Sound; var _local17:Sound; var _local18:Sound; var _local19:Sound; var _local20:*; var _local21:Sound; var _local22:Sound; var _local23:Sound; var _local24:Sound; var _local25:Sound; var _local26:Sound; var _local27:Sound; var _local28:Sound; _local1 = new MG1Sound(); _local2 = new MG2Sound(); _local3 = new MG3Sound(); _local4 = new MissileSound(); _local5 = new ChopperLoopSound(); _local6 = new Ricochet1Sound(); _local7 = new Ricochet2Sound(); _local8 = new Ricochet3Sound(); _local9 = new Ricochet4Sound(); _local10 = new ExplodeBigSound(); _local11 = new ExplodeShortSound(); _local12 = new ExplodeLongSound(); _local13 = new RocketPickupSound(); _local14 = new MissilePickupSound(); _local15 = new BombPickupSound(); _local16 = new LaserPickupSound(); _local17 = new NuclearPickupSound(); _local18 = new MediumMGPickupSound(); _local19 = new HeavyMGPickupSound(); _local20 = new OverkillPickupSound(); _local21 = new NukeSound(); _local22 = new TankFireSound(); _local23 = new HealthSound(); _local24 = new HaSound(); _local25 = new EngineTroubleSound(); _local26 = new NeededSound(); _local27 = new SpecialOpsSound(); _local28 = new LockLoadSound(); _snds.push(_local1, _local2, _local3, _local4, _local5, _local6, _local7, _local8, _local9, _local10, _local11, _local12, _local13, _local14, _local15, _local16, _local17, _local18, _local19, _local20, _local21, _local22, _local23, _local24, _local25, _local26, _local27, _local28); _globaltrans = new SoundTransform(); _choppertrans = new SoundTransform(); _laserloop = new LaserLoopSound(); _laserstart = new LaserStartSound(); _laserstop = new LaserStopSound(); _arcloop = new ArcLoopSound(); _arcstop = new ArcStopSound(); _choppersnd = _local5; } public function play_chopper_sound():void{ if (MUTE){ return; }; if (_chopperchn == null){ _chopperchn = _choppersnd.play(0, 9999, _choppertrans); }; } public function stop_arc_sound():void{ if (MUTE){ return; }; if (_arcloopchn == null){ trace(" error in arc sound "); return; }; _arcloopchn.stop(); _arcstop.play(); _arcloopchn = null; } public function play_laser_sound():void{ if (MUTE){ return; }; _laserstart.play(); _laserloopchn = _laserloop.play(0, 9999); } public function update(_arg1:Number, _arg2:Number, _arg3:Number=0):void{ _globaltrans.volume = _arg1; _globaltrans.pan = _arg2; SoundMixer.soundTransform = _globaltrans; } public function play_arc_sound():void{ if (MUTE){ return; }; _arcloopchn = _arcloop.play(0, 9999); } function stop_menu_music():void{ if (_musichannel == null){ return; }; _musichannel.stop(); if (_musichannel.hasEventListener(Event.SOUND_COMPLETE)){ _musichannel.removeEventListener(Event.SOUND_COMPLETE, play_menu_loop); }; _musichannel = null; } public function stop_sound(_arg1:int):void{ if (MUTE){ return; }; if (_chns[_arg1] != null){ _chns[_arg1].stop(); }; } function stop_game_music():void{ if (MUSIC_MUTE){ return; }; _musichannel.stop(); _musichannel = null; } public function stop_all():void{ var _local1:*; var _local2:SoundChannel; for (_local1 in _chns) { if (_chns[_local1] != null){ if (_chns[_local1] != undefined){ _local2 = _chns[_local1]; _local2.stop(); }; }; }; stop_laser_sound(); stop_arc_sound(); stop_chopper_sound(); } function play_menu_music():void{ var _local1:Sound; if (MUSIC_MUTE){ return; }; _local1 = new MenuMusicIntroSound(); _musichannel = _local1.play(); _musichannel.addEventListener(Event.SOUND_COMPLETE, play_menu_loop); } public static function stoggle():void{ if (MUTE){ MUTE = false; } else { MUTE = true; }; } public static function mtoggle():void{ if (MUSIC_MUTE){ MUSIC_MUTE = false; } else { MUSIC_MUTE = true; }; } } }//package
Section 118
//SpecialOpsSound (SpecialOpsSound) package { import flash.media.*; public dynamic class SpecialOpsSound extends Sound { } }//package
Section 119
//TankFireSound (TankFireSound) package { import flash.media.*; public dynamic class TankFireSound extends Sound { } }//package
Section 120
//UI (UI) package { import flash.display.*; import gs.*; import flash.geom.*; import fl.motion.easing.*; import flash.system.*; public class UI { private var ammo_counters:Array; private var _bmpscore:BitmapScore; private var _mupdated:Array; private var _blackout:Bitmap; private var _overlay:MovieClip; public var mc:Sprite; private var _mtimer:int;// = 0 private var _missioncolour:ColorTransform; private var _ship:Ship; private var _progressbar:ProgressBar; private var _healthbar:Shape; private var _enemies:EnemyPool; private var _first:Boolean;// = true private var _levelmgr:LevelManager; private var _blackoutdata:BitmapData; private var _gameovermc:MovieClip; private var _missionstatus:MovieClip; public function UI(_arg1:Ship, _arg2:EnemyPool, _arg3:BitmapScore, _arg4:LevelManager){ var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:ColorTransform; var _local10:MovieClip; ammo_counters = new Array(); _mupdated = [false, false, false, false]; _mtimer = 0; _first = true; super(); this._ship = _arg1; this._enemies = _arg2; this._levelmgr = _arg4; _bmpscore = _arg3; _blackoutdata = new BitmapData(Overkill.SW, Overkill.SH, false, 0); _blackout = new Bitmap(_blackoutdata); mc = new Sprite(); mc.addChild(_blackout); TweenLite.to(_blackout, 0.5, {ease:Exponential.easeOut, alpha:0}); _healthbar = new Shape(); _healthbar.graphics.beginFill(0xFF0000, 0.5); _healthbar.graphics.drawRect(9, 17, 100, 5); _healthbar.graphics.endFill(); mc.addChild(_healthbar); _overlay = new ScoreOverlaySprite(); _overlay.x = 8; _overlay.y = 4; mc.addChild(_overlay); _overlay.nuke_mc.alpha = 0.25; _local5 = 14; _local6 = 38; _local7 = 124; _local8 = 0; while (_local8 < 5) { _local10 = new AmmoCounterSprite(); _local10.x = ((_local8 * _local6) + _local7); _local10.y = _local5; ammo_counters.push(_local10); mc.addChild(_local10); _local8++; }; _missionstatus = new MissionStatusSprite(); _missionstatus.x = (Overkill.SW * 0.5); _missionstatus.y = -100; _missioncolour = _missionstatus.mission2_mc.transform.colorTransform; _local9 = _missionstatus.mission1_mc.transform.colorTransform; _local9.redMultiplier = 0.5; _local9.greenMultiplier = 0.5; _local9.blueMultiplier = 0.5; _missionstatus.mission1_mc.transform.colorTransform = _local9; _missionstatus.mission2_mc.transform.colorTransform = _local9; _missionstatus.mission3_mc.transform.colorTransform = _local9; _missionstatus.mission4_mc.transform.colorTransform = _local9; _progressbar = new ProgressBar(); mc.addChild(_progressbar.bmp); mc.addChild(_missionstatus); _overlay.deb.visible = false; } public function update_mission():void{ var _local1:Boolean; var _local2:String; var _local3:ColorTransform; if (_ship.initdelay > 0){ if ((((_ship.initdelay == (Globals.INIT_DELAY - 1))) && (_first))){ TweenLite.to(_missionstatus, 0.25, {ease:Exponential.easeOut, y:(Overkill.SH * 0.5)}); _first = false; }; _local1 = _mupdated[Globals.LEVEL]; if (!_local1){ _local2 = (("mission" + (Globals.LEVEL + 1)) + "_mc"); _local3 = _missionstatus[_local2].transform.colorTransform; if (_mtimer < 48){ _local3.redMultiplier = (_local3.redMultiplier * 1.0525); _local3.greenMultiplier = (_local3.greenMultiplier * 1.0525); _local3.blueMultiplier = (_local3.blueMultiplier * 1.0525); if (_local3.redMultiplier > 1){ _local3.redMultiplier = 1; }; if (_local3.greenMultiplier > 1){ _local3.greenMultiplier = 1; }; if (_local3.blueMultiplier > 1){ _local3.blueMultiplier = 1; }; _missionstatus[_local2].transform.colorTransform = _local3; _mtimer++; } else { _local3.redMultiplier = 1; _local3.greenMultiplier = 1; _local3.blueMultiplier = 1; _missionstatus[_local2].transform.colorTransform = _local3; _mtimer = 0; _mupdated[Globals.LEVEL] = true; }; }; if (_ship.initdelay == 1){ TweenLite.to(_missionstatus, 0.25, {ease:Exponential.easeIn, y:-100}); }; }; } private function show_num(_arg1:MovieClip, _arg2:int):void{ _arg1.digit_mc.y = (_arg2 * -10); } public function gameover():void{ _gameovermc = new GameOverSprite(); _gameovermc.x = (Overkill.SW * 0.5); _gameovermc.y = (Overkill.SH * 0.5); mc.addChild(_gameovermc); } public function update():void{ var _local1:String; var _local2:int; var _local3:int; var _local4:int; _local1 = ((System.totalMemory / 0x0400) / 0x0400).toFixed(2); _local1 = (_local1 + "\n"); _local1 = (_local1 + (_enemies.wave + " < wave \n")); _local1 = (_local1 + (_enemies.currentset + " < current set \n")); _local1 = (_local1 + (_enemies.settotal + " < set total \n")); _overlay.deb.text = _local1; _local3 = LevelManager.totalwaves; _local4 = _enemies.wave; _progressbar.update(_local4, _local3); if (_ship.hasnuke){ if (_overlay.nuke_mc.alpha != 1){ _overlay.nuke_mc.alpha = 1; }; } else { if (_overlay.nuke_mc.alpha != 0.25){ _overlay.nuke_mc.alpha = 0.25; }; }; _overlay.badge_mc.gotoAndStop(Globals.get_rankframe()); update_mission(); _local2 = _ship.ammo.length; while (--_local2 > -1) { update_num(_local2, _ship.ammo[_local2]); }; _bmpscore.update(_ship.lives); _healthbar.graphics.clear(); _healthbar.graphics.beginFill(0xFF0000, 0.5); _healthbar.graphics.drawRect(9, 17, _ship.health, 5); _healthbar.graphics.endFill(); } public function reset():void{ var _local1:ColorTransform; if (_gameovermc != null){ mc.removeChild(_gameovermc); _gameovermc = null; }; _overlay.badge_mc.gotoAndStop(1); _mupdated = [false, false, false, false]; _mtimer = 0; _missionstatus.y = -100; _first = true; _local1 = _missionstatus.mission1_mc.transform.colorTransform; _local1.redMultiplier = 0.5; _local1.greenMultiplier = 0.5; _local1.blueMultiplier = 0.5; _missionstatus.mission1_mc.transform.colorTransform = _local1; _missionstatus.mission2_mc.transform.colorTransform = _local1; _missionstatus.mission3_mc.transform.colorTransform = _local1; _missionstatus.mission4_mc.transform.colorTransform = _local1; } private function update_num(_arg1:int, _arg2:int):void{ var _local3:String; var _local4:Array; var _local5:MovieClip; var _local6:int; var _local7:String; if (_arg2 < 0){ _arg2 = 0; } else { if (_arg2 > 999){ _arg2 = 999; }; }; _local3 = ("00000000" + _arg2.toString()); _local4 = _local3.substr(-3).split(""); _local5 = ammo_counters[_arg1]; _local6 = 0; while (_local6 < 3) { _local7 = (("num" + _local6) + "_mc"); show_num(_local5[_local7], _local4[_local6]); _local6++; }; } public function blackout(_arg1:Boolean):void{ var _local2:Object; _local2 = {}; if (_arg1){ _local2.ease = Exponential.easeIn; _local2.alpha = 1; } else { _local2.ease = Exponential.easeOut; _local2.alpha = 0; }; TweenLite.to(_blackout, 0.5, _local2); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {com.fingertime.core.PreloaderPiece}Uses:1
Symbol 3 MovieClipUsed by:30
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClipUses:4Used by:19
Symbol 6 GraphicUsed by:19
Symbol 7 GraphicUsed by:19
Symbol 8 GraphicUsed by:19
Symbol 9 GraphicUsed by:19
Symbol 10 GraphicUsed by:19
Symbol 11 GraphicUsed by:19
Symbol 12 GraphicUsed by:19
Symbol 13 GraphicUsed by:19
Symbol 14 GraphicUsed by:19
Symbol 15 GraphicUsed by:19
Symbol 16 GraphicUsed by:19
Symbol 17 GraphicUsed by:19
Symbol 18 GraphicUsed by:19
Symbol 19 MovieClip {oa2_demo_fla.mc_94}Uses:5 6 7 8 9 10 11 12 13 14 15 16 17 18Used by:20
Symbol 20 MovieClip {oa2_demo_fla.mc_93}Uses:19Used by:30
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:29
Symbol 23 ShapeTweeningUsed by:29
Symbol 24 MovieClipUsed by:29
Symbol 25 ShapeTweeningUsed by:29
Symbol 26 ShapeTweeningUsed by:29
Symbol 27 GraphicUsed by:29
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClip {oa2_demo_fla.mc_96}Uses:22 23 24 25 26 27 28Used by:30
Symbol 30 MovieClip {com.fingertime.core.SFPreloader}Uses:3 20 29
Symbol 31 FontUsed by:32
Symbol 32 TextUses:31Used by:33
Symbol 33 MovieClipUses:32Used by:74
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:36
Symbol 36 MovieClipUses:35Used by:74
Symbol 37 FontUsed by:38 54 55 56 455 514
Symbol 38 TextUses:37Used by:39
Symbol 39 MovieClipUses:38Used by:74
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:74
Symbol 42 GraphicUsed by:49
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:49
Symbol 45 GraphicUsed by:49
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:48
Symbol 48 MovieClipUses:47Used by:49
Symbol 49 MovieClip {oa2_demo_fla.mc_51}Uses:42 44 45 48Used by:74
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:74
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:58
Symbol 54 TextUses:37Used by:58
Symbol 55 TextUses:37Used by:58
Symbol 56 TextUses:37Used by:58
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:53 54 55 56 57Used by:73
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:73 344
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:73 356
Symbol 63 GraphicUsed by:73 356
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 MovieClipUses:65Used by:73 356
Symbol 67 GraphicUsed by:73 237
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:73
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClipUses:71Used by:73 640
Symbol 73 MovieClipUses:58 60 62 63 66 67 69 72Used by:74
Symbol 74 MovieClip {com.playerthree.overkill.GameTitle}Uses:33 36 39 41 49 51 73Used by:454
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:85
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:85
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:85
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:85
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:85
Symbol 85 MovieClip {MetalBack}Uses:76 78 80 82 84Used by:454
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:90 98
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:90 98
Symbol 90 MovieClip {GunSprite}Uses:87 89Used by:107  Timeline
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClipUses:92Used by:107
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:98
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:98
Symbol 98 MovieClip {oa2_demo_fla.mc_4}Uses:95 87 97 89Used by:107
Symbol 99 GraphicUsed by:100 581 739
Symbol 100 MovieClipUses:99Used by:107
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClipUses:102Used by:107
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClipUses:105Used by:107
Symbol 107 MovieClip {ShipSprite}Uses:93 98 90 100 103 106Used by:Timeline
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:115 181 204 207
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:115
Symbol 112 BitmapUsed by:113 114 203
Symbol 113 GraphicUses:112Used by:115
Symbol 114 GraphicUses:112Used by:115 120
Symbol 115 MovieClipUses:109 111 113 114Used by:342
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:120
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:120
Symbol 120 MovieClipUses:117 119 114Used by:342
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:128
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:128
Symbol 125 BitmapUsed by:127
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:125 126Used by:128
Symbol 128 MovieClipUses:122 124 127Used by:342
Symbol 129 BitmapUsed by:130 131
Symbol 130 GraphicUses:129Used by:132
Symbol 131 GraphicUses:129Used by:132
Symbol 132 MovieClipUses:130 131Used by:342
Symbol 133 BitmapUsed by:134
Symbol 134 GraphicUses:133Used by:342
Symbol 135 BitmapUsed by:136
Symbol 136 GraphicUses:135Used by:151
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:151
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:151
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:151
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:151
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:151
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:151
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:151
Symbol 151 MovieClipUses:136 138 140 142 144 146 148 150Used by:342
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:154
Symbol 154 MovieClipUses:153Used by:342
Symbol 155 BitmapUsed by:157
Symbol 156 BitmapUsed by:157 165 171 176
Symbol 157 GraphicUses:155 156Used by:181
Symbol 158 BitmapUsed by:160
Symbol 159 BitmapUsed by:160 167 173 179
Symbol 160 GraphicUses:158 159Used by:181
Symbol 161 BitmapUsed by:163
Symbol 162 BitmapUsed by:163 169 175 180
Symbol 163 GraphicUses:161 162Used by:181
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164 156Used by:181
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166 159Used by:181
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168 162Used by:181
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170 156Used by:181
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172 159Used by:181
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174 162Used by:181
Symbol 176 GraphicUses:156Used by:181
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:181
Symbol 179 GraphicUses:159Used by:181
Symbol 180 GraphicUses:162Used by:181
Symbol 181 MovieClipUses:109 157 160 163 165 167 169 171 173 175 176 178 179 180Used by:342
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:184
Symbol 184 MovieClipUses:183Used by:342
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:191
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:191
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:191
Symbol 191 MovieClipUses:186 188 190Used by:342
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:200
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:200
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:200
Symbol 198 BitmapUsed by:199
Symbol 199 GraphicUses:198Used by:200
Symbol 200 MovieClipUses:193 195 197 199Used by:342
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:204
Symbol 203 GraphicUses:112Used by:204 207
Symbol 204 MovieClipUses:109 202 203Used by:342
Symbol 205 BitmapUsed by:206
Symbol 206 GraphicUses:205Used by:207
Symbol 207 MovieClipUses:109 206 203Used by:342
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:342
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:342
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:342
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:342
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:342
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:342
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:342
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:342
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:342
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:342
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:342
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:237
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:237
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:237
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClipUses:231 233 235 67 236Used by:342
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:342
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:342
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:250
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:250 255 258 261
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:250 255 258 261
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:250 255 258 261
Symbol 250 MovieClipUses:243 245 247 249Used by:342
Symbol 251 BitmapUsed by:252
Symbol 252 GraphicUses:251Used by:255
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:255
Symbol 255 MovieClipUses:252 254 245 247 249Used by:342
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:258
Symbol 258 MovieClipUses:257 245 247 249Used by:342
Symbol 259 BitmapUsed by:260
Symbol 260 GraphicUses:259Used by:261
Symbol 261 MovieClipUses:260 245 247 249Used by:342
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:342
Symbol 264 BitmapUsed by:266
Symbol 265 BitmapUsed by:266 267
Symbol 266 GraphicUses:264 265Used by:272
Symbol 267 GraphicUses:265Used by:272
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:272
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClipUses:266 267 269 271Used by:342
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:275
Symbol 275 MovieClipUses:274Used by:294
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:294
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:294
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:294
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:294
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284Used by:294
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:294
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:294
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:294
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:294
Symbol 294 MovieClipUses:275 277 279 281 283 285 287 289 291 293Used by:342
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:342
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:342
Symbol 299 BitmapUsed by:300
Symbol 300 GraphicUses:299Used by:342
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:342
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:342
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:342
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:342
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:342
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:342
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:342
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:342
Symbol 317 BitmapUsed by:318
Symbol 318 GraphicUses:317Used by:320
Symbol 319 GraphicUsed by:320 566
Symbol 320 MovieClipUses:318 319Used by:321
Symbol 321 MovieClip {oa2_demo_fla.mc_29}Uses:320Used by:342
Symbol 322 BitmapUsed by:323 326
Symbol 323 GraphicUses:322Used by:329
Symbol 324 BitmapUsed by:326 328
Symbol 325 BitmapUsed by:326 328
Symbol 326 GraphicUses:324 325 322Used by:329
Symbol 327 BitmapUsed by:328
Symbol 328 GraphicUses:324 327 325Used by:329
Symbol 329 MovieClipUses:323 326 328Used by:342
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:342
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:342
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:342
Symbol 336 BitmapUsed by:337
Symbol 337 GraphicUses:336Used by:342
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:342
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:342
Symbol 342 MovieClip {EnemySprite}Uses:115 120 128 132 134 151 154 181 184 191 200 204 207 209 211 213 215 217 219 221 223 225 227 229 237 239 241 250 255 258 261 263 272 294 296 298 300 302 304 306 308 310 312 314 316 321 329 331 333 335 337 339 341Used by:Timeline
Symbol 343 GraphicUsed by:356
Symbol 344 MovieClipUses:60Used by:356
Symbol 345 GraphicUsed by:356
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:356
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:356
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:356
Symbol 352 GraphicUsed by:356
Symbol 353 GraphicUsed by:356
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:356
Symbol 356 MovieClip {BulletSprite}Uses:343 344 62 66 345 347 349 351 63 352 353 355Used by:Timeline
Symbol 357 BitmapUsed by:358
Symbol 358 GraphicUses:357Used by:395
Symbol 359 BitmapUsed by:360
Symbol 360 GraphicUses:359Used by:395 412 433 449 450
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:395
Symbol 363 BitmapUsed by:364
Symbol 364 GraphicUses:363Used by:395 412 433 449 450
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:365Used by:395
Symbol 367 BitmapUsed by:368
Symbol 368 GraphicUses:367Used by:395 412 433 449 450
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:395
Symbol 371 BitmapUsed by:372
Symbol 372 GraphicUses:371Used by:395 412 433 449 450
Symbol 373 BitmapUsed by:374
Symbol 374 GraphicUses:373Used by:395
Symbol 375 BitmapUsed by:376
Symbol 376 GraphicUses:375Used by:395 412 433 449 450
Symbol 377 BitmapUsed by:378
Symbol 378 GraphicUses:377Used by:395
Symbol 379 BitmapUsed by:380
Symbol 380 GraphicUses:379Used by:395 412 433 449 450
Symbol 381 BitmapUsed by:382
Symbol 382 GraphicUses:381Used by:395
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:395 412 433 449 450
Symbol 385 BitmapUsed by:386
Symbol 386 GraphicUses:385Used by:395
Symbol 387 BitmapUsed by:388
Symbol 388 GraphicUses:387Used by:395 412 433 449 450
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:395 412 433 449 450
Symbol 391 BitmapUsed by:392
Symbol 392 GraphicUses:391Used by:395 412 433 449 450
Symbol 393 BitmapUsed by:394
Symbol 394 GraphicUses:393Used by:395 412 433 449 450
Symbol 395 MovieClipUses:358 360 362 364 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394Used by:451
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:412 450
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:412 450
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:412 450
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:412 450
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:412 450
Symbol 406 BitmapUsed by:407
Symbol 407 GraphicUses:406Used by:412 450
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:408Used by:412 450
Symbol 410 BitmapUsed by:411
Symbol 411 GraphicUses:410Used by:412 450
Symbol 412 MovieClipUses:397 360 399 364 401 368 403 372 405 376 407 380 409 384 411 388 390 392 394Used by:451
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:415
Symbol 415 MovieClipUses:414Used by:451
Symbol 416 BitmapUsed by:417
Symbol 417 GraphicUses:416Used by:432
Symbol 418 BitmapUsed by:419
Symbol 419 GraphicUses:418Used by:432
Symbol 420 BitmapUsed by:421
Symbol 421 GraphicUses:420Used by:432
Symbol 422 BitmapUsed by:423
Symbol 423 GraphicUses:422Used by:432
Symbol 424 BitmapUsed by:425
Symbol 425 GraphicUses:424Used by:432
Symbol 426 BitmapUsed by:427
Symbol 427 GraphicUses:426Used by:432
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:432
Symbol 430 BitmapUsed by:431
Symbol 431 GraphicUses:430Used by:432
Symbol 432 MovieClipUses:417 419 421 423 425 427 429 431Used by:451
Symbol 433 MovieClipUses:360 364 368 372 376 380 384 388 390 392 394Used by:451
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:448
Symbol 436 BitmapUsed by:437
Symbol 437 GraphicUses:436Used by:448
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:448
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:448
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:448
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:448
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:448
Symbol 448 MovieClipUses:435 437 439 441 443 445 447Used by:451
Symbol 449 MovieClipUses:360 364 368 372 376 380 384 388 390 392 394Used by:451
Symbol 450 MovieClipUses:397 360 399 364 401 368 403 372 405 376 407 380 409 384 411 388 390 392 394Used by:451
Symbol 451 MovieClip {ExplosionSprite}Uses:395 412 415 432 433 448 449 450Used by:Timeline
Symbol 452 GraphicUsed by:453
Symbol 453 MovieClipUses:452Used by:454
Symbol 454 MovieClip {MenuSprite}Uses:453 85 74Used by:Timeline
Symbol 455 EditableTextUses:37Used by:456
Symbol 456 MovieClip {MenuButtonSprite}Uses:455Used by:Timeline
Symbol 457 FontUsed by:458 636 637
Symbol 458 EditableTextUses:457Used by:522
Symbol 459 Sound {MG2Sound}Used by:522
Symbol 460 Sound {MG3Sound}Used by:522
Symbol 461 Sound {MG1Sound}Used by:522
Symbol 462 Sound {MissileSound}Used by:522
Symbol 463 Sound {ChopperLoopSound}Used by:522
Symbol 464 Sound {Ricochet1Sound}Used by:522
Symbol 465 Sound {Ricochet2Sound}Used by:522
Symbol 466 Sound {Ricochet3Sound}Used by:522
Symbol 467 Sound {Ricochet4Sound}Used by:522
Symbol 468 Sound {ExplodeLongSound}Used by:522
Symbol 469 Sound {ExplodeShortSound}Used by:522
Symbol 470 Sound {ExplodeBigSound}Used by:522
Symbol 471 Sound {BombPickupSound}Used by:522
Symbol 472 Sound {LaserPickupSound}Used by:522
Symbol 473 Sound {NuclearPickupSound}Used by:522
Symbol 474 Sound {RocketPickupSound}Used by:522
Symbol 475 Sound {MissilePickupSound}Used by:522
Symbol 476 Sound {MediumMGPickupSound}Used by:522
Symbol 477 Sound {HeavyMGPickupSound}Used by:522
Symbol 478 Sound {OverkillPickupSound}Used by:522
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:499
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:499
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:499
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:499
Symbol 487 BitmapUsed by:488
Symbol 488 GraphicUses:487Used by:499
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:499
Symbol 491 BitmapUsed by:492
Symbol 492 GraphicUses:491Used by:499
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:499
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:499
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:499
Symbol 499 MovieClip {DebrisSprite}Uses:480 482 484 486 488 490 492 494 496 498Used by:522
Symbol 500 Bitmap {NumbersBitmap}Used by:522
Symbol 501 Sound {NukeSound}Used by:522
Symbol 502 Sound {TankFireSound}Used by:522
Symbol 503 Sound {HealthSound}Used by:522
Symbol 504 Sound {HaSound}Used by:522
Symbol 505 Sound {ArcLoopSound}Used by:522
Symbol 506 Sound {ArcStopSound}Used by:522
Symbol 507 Sound {LaserLoopSound}Used by:522
Symbol 508 Sound {LaserStartSound}Used by:522
Symbol 509 Sound {LaserStopSound}Used by:522
Symbol 510 Sound {EngineTroubleSound}Used by:522
Symbol 511 Sound {NeededSound}Used by:522
Symbol 512 BitmapUsed by:513
Symbol 513 GraphicUses:512Used by:516
Symbol 514 TextUses:37Used by:515
Symbol 515 MovieClipUses:514Used by:516
Symbol 516 MovieClip {GameOverSprite}Uses:513 515Used by:522
Symbol 517 Sound {SpecialOpsSound}Used by:522
Symbol 518 Sound {MenuMusicSound}Used by:522
Symbol 519 Sound {MenuMusicIntroSound}Used by:522
Symbol 520 Sound {LockLoadSound}Used by:522
Symbol 521 Sound {GameMusicSound}Used by:522
Symbol 522 MovieClip {oa2_demo_fla.mc_59}Uses:458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 499 500 501 502 503 504 505 506 507 508 509 510 511 516 517 518 519 520 521Used by:Timeline
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:549
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:549
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:549
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:549
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:549
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:549
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:549
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:549
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:549
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:549
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:549
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:549
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:549
Symbol 549 MovieClip {ItemSprite}Uses:524 526 528 530 532 534 536 538 540 542 544 546 548Used by:Timeline
Symbol 550 Bitmap {SnowSkyBmp}Used by:Timeline
Symbol 551 Bitmap {SnowMidBmp}Used by:Timeline
Symbol 552 Bitmap {SnowBmp}Used by:Timeline
Symbol 553 Bitmap {SnowRoadBmp}Used by:Timeline
Symbol 554 Bitmap {SnowFarBmp}Used by:Timeline
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:563
Symbol 557 BitmapUsed by:560 561
Symbol 558 BitmapUsed by:560
Symbol 559 BitmapUsed by:560 562
Symbol 560 GraphicUses:557 558 559Used by:563
Symbol 561 GraphicUses:557Used by:563
Symbol 562 GraphicUses:559Used by:563
Symbol 563 MovieClipUses:556 560 561 562Used by:583
Symbol 564 BitmapUsed by:565
Symbol 565 GraphicUses:564Used by:566
Symbol 566 MovieClipUses:565 319Used by:583
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:569
Symbol 569 MovieClipUses:568Used by:578
Symbol 570 BitmapUsed by:571
Symbol 571 GraphicUses:570Used by:578
Symbol 572 BitmapUsed by:573
Symbol 573 GraphicUses:572Used by:578
Symbol 574 BitmapUsed by:575
Symbol 575 GraphicUses:574Used by:578
Symbol 576 BitmapUsed by:577
Symbol 577 GraphicUses:576Used by:578
Symbol 578 MovieClipUses:569 571 573 575 577Used by:583
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:582
Symbol 581 MovieClipUses:99Used by:582
Symbol 582 MovieClipUses:580 581Used by:583
Symbol 583 MovieClip {BossSprite}Uses:563 566 578 582Used by:Timeline
Symbol 584 BitmapUsed by:585
Symbol 585 GraphicUses:584Used by:586
Symbol 586 MovieClipUses:585Used by:640
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:635
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:635
Symbol 591 BitmapUsed by:592
Symbol 592 GraphicUses:591Used by:635
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:635
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:635
Symbol 597 BitmapUsed by:598
Symbol 598 GraphicUses:597Used by:635
Symbol 599 BitmapUsed by:600
Symbol 600 GraphicUses:599Used by:635
Symbol 601 BitmapUsed by:602
Symbol 602 GraphicUses:601Used by:635
Symbol 603 BitmapUsed by:604
Symbol 604 GraphicUses:603Used by:635
Symbol 605 BitmapUsed by:606
Symbol 606 GraphicUses:605Used by:635
Symbol 607 BitmapUsed by:608
Symbol 608 GraphicUses:607Used by:635
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:635
Symbol 611 BitmapUsed by:612
Symbol 612 GraphicUses:611Used by:635
Symbol 613 BitmapUsed by:614
Symbol 614 GraphicUses:613Used by:635
Symbol 615 BitmapUsed by:616
Symbol 616 GraphicUses:615Used by:635
Symbol 617 BitmapUsed by:618
Symbol 618 GraphicUses:617Used by:635
Symbol 619 BitmapUsed by:620
Symbol 620 GraphicUses:619Used by:635
Symbol 621 BitmapUsed by:622
Symbol 622 GraphicUses:621Used by:635
Symbol 623 BitmapUsed by:624
Symbol 624 GraphicUses:623Used by:635
Symbol 625 BitmapUsed by:626
Symbol 626 GraphicUses:625Used by:635
Symbol 627 BitmapUsed by:628
Symbol 628 GraphicUses:627Used by:635
Symbol 629 BitmapUsed by:630
Symbol 630 GraphicUses:629Used by:635
Symbol 631 BitmapUsed by:632
Symbol 632 GraphicUses:631Used by:635
Symbol 633 BitmapUsed by:634
Symbol 634 GraphicUses:633Used by:635
Symbol 635 MovieClip {oa2_demo_fla.mc_73}Uses:588 590 592 594 596 598 600 602 604 606 608 610 612 614 616 618 620 622 624 626 628 630 632 634Used by:640
Symbol 636 EditableTextUses:457Used by:640
Symbol 637 EditableTextUses:457Used by:640
Symbol 638 BitmapUsed by:639
Symbol 639 GraphicUses:638Used by:640
Symbol 640 MovieClip {ScoreOverlaySprite}Uses:586 635 72 636 637 639Used by:Timeline
Symbol 641 GraphicUsed by:664
Symbol 642 BitmapUsed by:662
Symbol 643 BitmapUsed by:662
Symbol 644 BitmapUsed by:662
Symbol 645 BitmapUsed by:662
Symbol 646 BitmapUsed by:662
Symbol 647 BitmapUsed by:662
Symbol 648 BitmapUsed by:662
Symbol 649 BitmapUsed by:662
Symbol 650 BitmapUsed by:662
Symbol 651 BitmapUsed by:662
Symbol 652 BitmapUsed by:662
Symbol 653 BitmapUsed by:662
Symbol 654 BitmapUsed by:662
Symbol 655 BitmapUsed by:662
Symbol 656 BitmapUsed by:662
Symbol 657 BitmapUsed by:662
Symbol 658 BitmapUsed by:662
Symbol 659 BitmapUsed by:662
Symbol 660 BitmapUsed by:662
Symbol 661 BitmapUsed by:662
Symbol 662 GraphicUses:642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661Used by:663
Symbol 663 MovieClipUses:662Used by:664
Symbol 664 MovieClip {oa2_demo_fla.mc_75}Uses:641 663Used by:665
Symbol 665 MovieClip {AmmoCounterSprite}Uses:664Used by:Timeline
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClipUses:666Used by:669
Symbol 668 GraphicUsed by:669
Symbol 669 MovieClip {NukeSprite}Uses:667 668Used by:Timeline
Symbol 670 BitmapUsed by:671
Symbol 671 GraphicUses:670Used by:672
Symbol 672 MovieClipUses:671Used by:682
Symbol 673 BitmapUsed by:674
Symbol 674 GraphicUses:673Used by:675
Symbol 675 MovieClipUses:674Used by:682
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:678
Symbol 678 MovieClipUses:677Used by:682
Symbol 679 BitmapUsed by:680
Symbol 680 GraphicUses:679Used by:681
Symbol 681 MovieClipUses:680Used by:682
Symbol 682 MovieClip {MissionStatusSprite}Uses:672 675 678 681Used by:Timeline
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:703
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:703
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:703
Symbol 689 BitmapUsed by:690
Symbol 690 GraphicUses:689Used by:703
Symbol 691 BitmapUsed by:692
Symbol 692 GraphicUses:691Used by:703
Symbol 693 BitmapUsed by:694
Symbol 694 GraphicUses:693Used by:703
Symbol 695 BitmapUsed by:696
Symbol 696 GraphicUses:695Used by:703
Symbol 697 BitmapUsed by:698
Symbol 698 GraphicUses:697Used by:703
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:703
Symbol 701 BitmapUsed by:702
Symbol 702 GraphicUses:701Used by:703
Symbol 703 MovieClipUses:684 686 688 690 692 694 696 698 700 702Used by:704
Symbol 704 MovieClip {oa2_demo_fla.mc_86}Uses:703Used by:705
Symbol 705 MovieClip {oa2_demo_fla.mc_85}Uses:704Used by:706
Symbol 706 MovieClip {PlumSprite}Uses:705Used by:Timeline
Symbol 707 BitmapUsed by:708
Symbol 708 GraphicUses:707Used by:723
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:723
Symbol 711 BitmapUsed by:712
Symbol 712 GraphicUses:711Used by:723
Symbol 713 BitmapUsed by:714
Symbol 714 GraphicUses:713Used by:723
Symbol 715 BitmapUsed by:716
Symbol 716 GraphicUses:715Used by:723
Symbol 717 BitmapUsed by:718
Symbol 718 GraphicUses:717Used by:723
Symbol 719 BitmapUsed by:720
Symbol 720 GraphicUses:719Used by:723
Symbol 721 BitmapUsed by:722
Symbol 722 GraphicUses:721Used by:723
Symbol 723 MovieClip {SmokeHeavySprite}Uses:708 710 712 714 716 718 720 722Used by:Timeline
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:736
Symbol 726 BitmapUsed by:727
Symbol 727 GraphicUses:726Used by:736
Symbol 728 BitmapUsed by:729
Symbol 729 GraphicUses:728Used by:736
Symbol 730 BitmapUsed by:731
Symbol 731 GraphicUses:730Used by:736
Symbol 732 BitmapUsed by:733
Symbol 733 GraphicUses:732Used by:736
Symbol 734 BitmapUsed by:735
Symbol 735 GraphicUses:734Used by:736
Symbol 736 MovieClip {SmokeSprite}Uses:725 727 729 731 733 735Used by:Timeline
Symbol 737 BitmapUsed by:738
Symbol 738 GraphicUses:737Used by:739
Symbol 739 MovieClip {MenuApacheSprite}Uses:738 99Used by:Timeline

Instance Names

"bar"Symbol 29 MovieClip {oa2_demo_fla.mc_96} Frame 1Symbol 24 MovieClip
"bar"Symbol 29 MovieClip {oa2_demo_fla.mc_96} Frame 11Symbol 24 MovieClip
"bar"Symbol 29 MovieClip {oa2_demo_fla.mc_96} Frame 23Symbol 24 MovieClip
"bg"Symbol 30 MovieClip {com.fingertime.core.SFPreloader} Frame 1Symbol 3 MovieClip
"sting"Symbol 30 MovieClip {com.fingertime.core.SFPreloader} Frame 1Symbol 20 MovieClip {oa2_demo_fla.mc_93}
"bar"Symbol 30 MovieClip {com.fingertime.core.SFPreloader} Frame 1Symbol 29 MovieClip {oa2_demo_fla.mc_96}
"p3link_mc"Symbol 74 MovieClip {com.playerthree.overkill.GameTitle} Frame 1Symbol 33 MovieClip
"finglink_mc"Symbol 74 MovieClip {com.playerthree.overkill.GameTitle} Frame 1Symbol 36 MovieClip
"clickthru_mc"Symbol 74 MovieClip {com.playerthree.overkill.GameTitle} Frame 1Symbol 39 MovieClip
"apache"Symbol 107 MovieClip {ShipSprite} Frame 1Symbol 93 MovieClip
"gattling_mc"Symbol 107 MovieClip {ShipSprite} Frame 1Symbol 98 MovieClip {oa2_demo_fla.mc_4}
"machine_mc"Symbol 107 MovieClip {ShipSprite} Frame 1Symbol 90 MovieClip {GunSprite}
"blade"Symbol 107 MovieClip {ShipSprite} Frame 1Symbol 100 MovieClip
"apache"Symbol 107 MovieClip {ShipSprite} Frame 2Symbol 103 MovieClip
"apache"Symbol 107 MovieClip {ShipSprite} Frame 3Symbol 106 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 1Symbol 115 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 2Symbol 120 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 3Symbol 128 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 6Symbol 151 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 7Symbol 154 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 8Symbol 181 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 11Symbol 200 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 12Symbol 204 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 26Symbol 237 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 35Symbol 272 MovieClip
"clip"Symbol 342 MovieClip {EnemySprite} Frame 36Symbol 294 MovieClip
"goat_clip"Symbol 342 MovieClip {EnemySprite} Frame 55Symbol 329 MovieClip
"goat_clip"Symbol 342 MovieClip {EnemySprite} Frame 61Symbol 329 MovieClip
"clip"Symbol 356 MovieClip {BulletSprite} Frame 2Symbol 344 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 1Symbol 395 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 2Symbol 412 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 3Symbol 415 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 4Symbol 432 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 5Symbol 433 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 6Symbol 448 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 7Symbol 449 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 8Symbol 450 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 9Symbol 449 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 10Symbol 450 MovieClip
"clip"Symbol 451 MovieClip {ExplosionSprite} Frame 12Symbol 449 MovieClip
"background_mc"Symbol 454 MovieClip {MenuSprite} Frame 1Symbol 453 MovieClip
"title_mc"Symbol 454 MovieClip {MenuSprite} Frame 1Symbol 74 MovieClip {com.playerthree.overkill.GameTitle}
"button_txt"Symbol 456 MovieClip {MenuButtonSprite} Frame 1Symbol 455 EditableText
"badge_mc"Symbol 640 MovieClip {ScoreOverlaySprite} Frame 1Symbol 635 MovieClip {oa2_demo_fla.mc_73}
"nuke_mc"Symbol 640 MovieClip {ScoreOverlaySprite} Frame 1Symbol 72 MovieClip
"deb"Symbol 640 MovieClip {ScoreOverlaySprite} Frame 1Symbol 636 EditableText
"currentwave_txt"Symbol 640 MovieClip {ScoreOverlaySprite} Frame 1Symbol 637 EditableText
"digit_mc"Symbol 664 MovieClip {oa2_demo_fla.mc_75} Frame 1Symbol 663 MovieClip
"num1_mc"Symbol 665 MovieClip {AmmoCounterSprite} Frame 1Symbol 664 MovieClip {oa2_demo_fla.mc_75}
"num2_mc"Symbol 665 MovieClip {AmmoCounterSprite} Frame 1Symbol 664 MovieClip {oa2_demo_fla.mc_75}
"num0_mc"Symbol 665 MovieClip {AmmoCounterSprite} Frame 1Symbol 664 MovieClip {oa2_demo_fla.mc_75}
"mission1_mc"Symbol 682 MovieClip {MissionStatusSprite} Frame 1Symbol 672 MovieClip
"mission2_mc"Symbol 682 MovieClip {MissionStatusSprite} Frame 1Symbol 675 MovieClip
"mission3_mc"Symbol 682 MovieClip {MissionStatusSprite} Frame 1Symbol 678 MovieClip
"mission4_mc"Symbol 682 MovieClip {MissionStatusSprite} Frame 1Symbol 681 MovieClip
"num0"Symbol 704 MovieClip {oa2_demo_fla.mc_86} Frame 1Symbol 703 MovieClip
"num1"Symbol 704 MovieClip {oa2_demo_fla.mc_86} Frame 1Symbol 703 MovieClip
"num2"Symbol 704 MovieClip {oa2_demo_fla.mc_86} Frame 1Symbol 703 MovieClip
"plum"Symbol 705 MovieClip {oa2_demo_fla.mc_85} Frame 1Symbol 704 MovieClip {oa2_demo_fla.mc_86}
"plum_mc"Symbol 706 MovieClip {PlumSprite} Frame 1Symbol 705 MovieClip {oa2_demo_fla.mc_85}

Special Tags

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

Labels

"off"Symbol 74 MovieClip {com.playerthree.overkill.GameTitle} Frame 30
"loop"Symbol 98 MovieClip {oa2_demo_fla.mc_4} Frame 2




http://swfchan.com/10/46922/info.shtml
Created: 2/5 -2019 20:18:50 Last modified: 2/5 -2019 20:18:50 Server time: 22/12 -2024 15:24:46