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

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

Black Space - fun retro style arcade shooting game.swf

This is the info page for
Flash #133399

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


Text
<p align="right"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Game description</font></p>

Special thanks to
Alexander Chaika

Developed by
Dreemchest

Art by
LostGarden.com

<p align="center"><font face="Myriad Pro" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1">Game name</font></p>

You may also like:

<p align="center"><font face="Myriad Web Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

<p align="center"><font face="Berlin Sans FB" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1">100/100</font></p>

<p align="center"><font face="Myriad Web Pro" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Score: 999999, money: 999999</b></font></p>

01

Rampage 4X

<p align="right"><font face="Myriad Web Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>1</b></font></p>

<p align="center"><font face="Berlin Sans FB" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1">100/100</font></p>

<p align="left"><font face="Myriad Pro Light" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">96659</font></p>

<p align="left"><font face="Myriad Pro Light" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">96659</font></p>

<p align="center"><font face="Berlin Sans FB" size="18" color="#ffffff" letterSpacing="0.000000" kerning="1">99989898</font></p>

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

<p align="center"><font face="Berlin Sans FB" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1">100%</font></p>

Press 1, 2, 3 to activate abilities

Collect to purchase ship upgrades

Collect to restore energy
Collect 10  to powerup your weapon

Collect to purchase abilities

Click here to start battle!
Controll your ship with the mouse
Press and hold left mouse button to strafe

Super Crystal

Press SPACE to open this menu and PAUSE game

Press 1, 2, 3 to activate purchased abilities

Menu

Quality

low

medium

high

1

2

3

Close

OR

99999

Energy Blast

Level 1 - 25 dmg, range 150;
15 energy, 2 sec. cooldown

Level 2 - 50 dmg, range 200
10 energy, 2 sec. cooldown

Level 3 - 75 dmg, range 250
5 energy, 2 sec. cooldown

Turret

Level 1 - 8 dmg;
15 energy, 2 sec. cooldown

Level 2 - 15 dmg
10 energy, 2 sec. cooldown

Level 3 - 25 dmg
5 energy, 2 sec. cooldown

Missile Strike

Level 1 - 10 dmg, 8 missiles;
20 energy, 3 sec. cooldown

Level 2 - 25 dmg, 10 missiles
15 energy, 3 sec. cooldown

Level 3 - 70 dmg, 15 missiles
10 energy, 3 sec. cooldown

Seeking Missiles

Level 1 - 14 dmg, 8 missiles;
20 energy, 3 sec. cooldown

Level 2 - 30 dmg, 10 missiles
15 energy, 3 sec. cooldown

Level 3 - 100 dmg, 15 missiles
10 energy, 3 sec. cooldown

Shield

Level 1 - duration 3 sec.;
35 energy, 30 sec. cooldown

Level 2 - duration 4 sec.;
30 energy, 30 sec. cooldown

Level 3 - duration 5 sec.
20 energy, 30 sec. cooldown

Missile Storm

Level 1 - 30 dmg, 50 missiles;
35 energy, 30 sec. cooldown

Level 2 - 60 dmg, 75 missiles;
30 energy, 30 sec. cooldown

Level 3 - 150 dmg, 100 missiles;
20 energy, 30 sec. cooldown

Minigun Damage

Level 1 - 14 damage ; 10 fire rate

Level 2 - 20 damage; 10 fire rate

Minigun Barrels

Level 1 - 2 barrels; 5 fire rate

Level 2 - 3 barrels; 5 fire rate

Repair

Level 1 - regen 0.5 HP/sec.

Level 2 - regen 0.75 HP/sec.

Level 3 - regen 1.0 HP/sec.

Armor

Level 1 - 125 max. health

Level 2 - 150 max. health

Level 3 - 200 max. health

<p align="left"><font face="Myriad Web Pro" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>999999999</b></font></p>

<p align="left"><font face="Myriad Web Pro" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">9999</font></p>

Upgrades

Bosses

Sounds

+10 HP

Black Space

1.3

ActionScript [AS3]

Section 1
//AbilitySlot_61 (black_space_fgl_fla.AbilitySlot_61) package black_space_fgl_fla { import flash.display.*; import flash.text.*; public dynamic class AbilitySlot_61 extends MovieClip { public var cooldown:MovieClip; public var image:MovieClip; public var caption:TextField; public function AbilitySlot_61(){ addFrameScript(0, frame1); } function frame1(){ image.gotoAndStop(((Math.random() * image.totalFrames) + 1)); } } }//package black_space_fgl_fla
Section 2
//BossFinalThroat_154 (black_space_fgl_fla.BossFinalThroat_154) package black_space_fgl_fla { import flash.display.*; public dynamic class BossFinalThroat_154 extends MovieClip { public function BossFinalThroat_154(){ addFrameScript(1, frame2, 31, frame32); } function frame32(){ stop(); } function frame2(){ stop(); } } }//package black_space_fgl_fla
Section 3
//BossSpiderEye_141 (black_space_fgl_fla.BossSpiderEye_141) package black_space_fgl_fla { import flash.display.*; public dynamic class BossSpiderEye_141 extends MovieClip { public function BossSpiderEye_141(){ addFrameScript(0, frame1, 7, frame8); } function frame8(){ stop(); } function frame1(){ stop(); } } }//package black_space_fgl_fla
Section 4
//ClickHere_78 (black_space_fgl_fla.ClickHere_78) package black_space_fgl_fla { import game.*; import flash.events.*; import flash.display.*; public dynamic class ClickHere_78 extends MovieClip { public var high:SimpleButton; public var button:SimpleButton; public var low:SimpleButton; public var medium:SimpleButton; public var menu:SimpleButton; public function ClickHere_78(){ addFrameScript(0, frame1); } public function buttonsOff(){ low.alpha = 0.5; medium.alpha = 0.5; high.alpha = 0.5; } function frame1(){ buttonsOff(); if (Game.instance.save.quality == 0){ low.alpha = 1; }; if (Game.instance.save.quality == 1){ medium.alpha = 1; }; if (Game.instance.save.quality == 2){ high.alpha = 1; }; low.addEventListener(MouseEvent.CLICK, function (_arg1){ buttonsOff(); low.alpha = 1; Game.instance.gameScreen.setQuality(0); }); medium.addEventListener(MouseEvent.CLICK, function (_arg1){ buttonsOff(); medium.alpha = 1; Game.instance.gameScreen.setQuality(1); }); high.addEventListener(MouseEvent.CLICK, function (_arg1){ buttonsOff(); high.alpha = 1; Game.instance.gameScreen.setQuality(2); }); } } }//package black_space_fgl_fla
Section 5
//GlobalBackground_165 (black_space_fgl_fla.GlobalBackground_165) package black_space_fgl_fla { import flash.events.*; import flash.display.*; public dynamic class GlobalBackground_165 extends MovieClip { public var caption:MovieClip; public function GlobalBackground_165(){ addFrameScript(0, frame1); } function frame1(){ caption.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ }); } } }//package black_space_fgl_fla
Section 6
//Logo_173 (black_space_fgl_fla.Logo_173) package black_space_fgl_fla { import flash.events.*; import flash.display.*; import SWFStats.*; import flash.net.*; public dynamic class Logo_173 extends MovieClip { public var button:SimpleButton; public function Logo_173(){ addFrameScript(0, frame1, 228, frame229); } function frame1(){ button.addEventListener(MouseEvent.CLICK, onLogoClicked); } function frame229(){ (parent as MovieClip).play(); } public function onLogoClicked(_arg1:MouseEvent){ Log.CustomMetric("Dreemchest Logo"); navigateToURL(new URLRequest("http://dreemchest.com")); } } }//package black_space_fgl_fla
Section 7
//SmallLogo_73 (black_space_fgl_fla.SmallLogo_73) package black_space_fgl_fla { import flash.events.*; import flash.display.*; import SWFStats.*; import flash.net.*; public dynamic class SmallLogo_73 extends MovieClip { public var button:SimpleButton; public function SmallLogo_73(){ addFrameScript(0, frame1); } function frame1(){ button.addEventListener(MouseEvent.CLICK, onLogoClicked); } public function onLogoClicked(_arg1:MouseEvent){ Log.CustomMetric("Sponsor Logo Small"); navigateToURL(new URLRequest("http://www.jokeroo.com/")); } } }//package black_space_fgl_fla
Section 8
//SoundClip_157 (black_space_fgl_fla.SoundClip_157) package black_space_fgl_fla { import flash.display.*; public dynamic class SoundClip_157 extends MovieClip { public function SoundClip_157(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package black_space_fgl_fla
Section 9
//SponsorLogo_171 (black_space_fgl_fla.SponsorLogo_171) package black_space_fgl_fla { import flash.events.*; import flash.display.*; import SWFStats.*; import flash.net.*; public dynamic class SponsorLogo_171 extends MovieClip { public var button:SimpleButton; public function SponsorLogo_171(){ addFrameScript(0, frame1); } function frame1(){ button.addEventListener(MouseEvent.CLICK, onLogoClicked); } public function onLogoClicked(_arg1:MouseEvent){ Log.CustomMetric("Sponsor Logo"); navigateToURL(new URLRequest("http://www.jokeroo.com/")); } } }//package black_space_fgl_fla
Section 10
//ToggleMusic_82 (black_space_fgl_fla.ToggleMusic_82) package black_space_fgl_fla { import game.*; import flash.events.*; import flash.display.*; public dynamic class ToggleMusic_82 extends MovieClip { public var button:SimpleButton; public var isOn:Boolean; public function ToggleMusic_82(){ addFrameScript(0, frame1); } public function onEnterFrameHandler(_arg1:Event){ button.alpha = (GameScreen.isMusicToggled()) ? 1 : 0.5; } public function onClicked(_arg1:MouseEvent){ isOn = !(isOn); GameScreen.toggleMusic(); } function frame1(){ isOn = true; button.addEventListener(MouseEvent.CLICK, onClicked); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } } }//package black_space_fgl_fla
Section 11
//ToggleSound_84 (black_space_fgl_fla.ToggleSound_84) package black_space_fgl_fla { import dreemchest.*; import flash.events.*; import flash.display.*; public dynamic class ToggleSound_84 extends MovieClip { public var button:SimpleButton; public var isOn:Boolean; public function ToggleSound_84(){ addFrameScript(0, frame1); } public function onEnterFrameHandler(_arg1:Event){ button.alpha = (Engine.isSoundToggled()) ? 1 : 0.5; } public function onClicked(_arg1:MouseEvent){ isOn = !(isOn); Engine.toggleSound(); } function frame1(){ isOn = true; button.addEventListener(MouseEvent.CLICK, onClicked); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } } }//package black_space_fgl_fla
Section 12
//UpgradeButton_97 (black_space_fgl_fla.UpgradeButton_97) package black_space_fgl_fla { import flash.events.*; import flash.display.*; public dynamic class UpgradeButton_97 extends MovieClip { public var level:MovieClip; public var back:MovieClip; public var selected:MovieClip; public var button:SimpleButton; public var image:MovieClip; public function UpgradeButton_97(){ addFrameScript(0, frame1); } public function onMouseOutHandler(_arg1:MouseEvent){ back.gotoAndStop(1); } public function onMouseOverHandler(_arg1:MouseEvent){ back.gotoAndStop(2); } function frame1(){ back.gotoAndStop(1); selected.visible = false; button.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler); button.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler); } } }//package black_space_fgl_fla
Section 13
//UpgradeDescription_106 (black_space_fgl_fla.UpgradeDescription_106) package black_space_fgl_fla { import flash.display.*; import flash.text.*; import game.powerup.*; public dynamic class UpgradeDescription_106 extends MovieClip { public var coin:MovieClip; public var crystal:Crystal; public var cost:TextField; public function UpgradeDescription_106(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package black_space_fgl_fla
Section 14
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader { private static var cpmstarLoader:Loader; public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{ Security.allowDomain("server.cpmstar.com"); var _local3 = "http://server.cpmstar.com/adviewas3.swf"; cpmstarLoader = new Loader(); cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2))); return (cpmstarLoader); } } }//package CPMStar
Section 15
//Common (dreemchest.Common) package dreemchest { public class Common { public static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (Math.max(Math.min(_arg1, _arg3), _arg2)); } public static function deg2Rad(_arg1:Number):Number{ return (((_arg1 / 180) * Math.PI)); } public static function random(_arg1:Number, _arg2:Number):Number{ return (((Math.random() * (_arg2 - _arg1)) + _arg1)); } public static function rad2Dad(_arg1:Number):Number{ return (((_arg1 * 180) / Math.PI)); } public static function bit(_arg1:Number):Number{ return ((1 << _arg1)); } } }//package dreemchest
Section 16
//Config (dreemchest.Config) package dreemchest { import flash.events.*; import flash.utils.*; import flash.net.*; public dynamic class Config extends EventDispatcher { public static const LOADED:String = "Loaded"; public function loadEmbedded(_arg1:Class){ var _local2:ByteArray = (new (_arg1) as ByteArray); processXML(this, new XML(_local2.readUTFBytes(_local2.length))); dispatchEvent(new Event(LOADED)); } private function addString(_arg1:String, _arg2:String){ this[_arg1] = _arg2; } public function load(_arg1:String){ var _local2:URLLoader = new URLLoader(); _local2.addEventListener(Event.COMPLETE, onXMLLoaded); _local2.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _local2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); _local2.load(new URLRequest(_arg1)); } private function addArray(_arg1:String, _arg2:String){ var _local4:int; this[_arg1] = new Array(); var _local3:int; while (1) { _local4 = _arg2.indexOf(",", _local3); if (_local4 == -1){ this[_arg1].push(Number(_arg2.substr(_local3, (_arg2.length - _local3)))); break; }; this[_arg1].push(Number(_arg2.substr(_local3, (_local4 - _local3)))); _local3 = (_local4 + 1); }; } private function onSecurityError(_arg1:SecurityErrorEvent):void{ trace(("Config : " + _arg1.toString())); } private function addNumber(_arg1:String, _arg2:Number){ this[_arg1] = _arg2; } private function onIOError(_arg1:IOErrorEvent):void{ trace(("Config : " + _arg1.toString())); } private function onXMLLoaded(_arg1:Event){ var _local2:XML = new XML(_arg1.target.data); var _local3:int; processXML(this, _local2); dispatchEvent(new Event(LOADED)); } private function processXML(_arg1:Config, _arg2:XML){ if (_arg2.name() != "config"){ if (_arg2.@type == "Array"){ _arg1.addArray(_arg2.name(), _arg2.@value); } else { if (_arg2.@type == "String"){ _arg1.addString(_arg2.name(), _arg2.@value); } else { if (_arg2.@value == undefined){ _arg1[_arg2.name()] = new Config(); _arg1 = _arg1[_arg2.name()]; } else { _arg1.addNumber(_arg2.name(), Number(_arg2.@value)); }; }; }; }; var _local3:XMLList = _arg2.elements(); var _local4:int; while (_local4 < _local3.length()) { processXML(_arg1, _local3[_local4]); _local4++; }; } } }//package dreemchest
Section 17
//Engine (dreemchest.Engine) package dreemchest { import flash.media.*; import flash.display.*; import flash.net.*; public dynamic class Engine extends MovieClip { protected var addThisURL:String;// = "" protected var state:GameState;// = null protected var sponsorURL:String;// = "" private static var isSoundOn:Boolean = true; public function Engine(){ new FPSCounter(); } protected function isLocal():Boolean{ var _local1:* = stage.loaderInfo.loaderURL.split("://"); return ((_local1[0] == "file")); } public function lockURL(_arg1):Boolean{ var _local2:* = stage.loaderInfo.loaderURL.split("://"); var _local3:* = _local2[1].split("/"); if (_local3[0] != _arg1){ return (false); }; return (true); } public function navigateToSponsor(){ navigateToURL(new URLRequest(sponsorURL)); } protected function lockURLs(_arg1:Array):Boolean{ var _local2:int; while (_local2 < _arg1.length) { if (lockURL(_arg1[_local2])){ return (true); }; _local2++; }; return (false); } public function get url():String{ return (stage.loaderInfo.loaderURL); } public function enterState(_arg1:GameState){ if (state != null){ state.leave(); }; state = _arg1; state.enter(this); } public function navigateToAddThis(){ navigateToURL(new URLRequest(addThisURL)); } public function getState():GameState{ return (state); } public static function toggleSound(){ var _local1:SoundTransform = new SoundTransform(); if (isSoundOn){ _local1.volume = 0; SoundMixer.soundTransform = _local1; } else { _local1.volume = 1; SoundMixer.soundTransform = _local1; }; isSoundOn = !(isSoundOn); } public static function isSoundToggled(){ return (isSoundOn); } } }//package dreemchest
Section 18
//FadeToBlack (dreemchest.FadeToBlack) package dreemchest { import flash.events.*; import flash.display.*; public class FadeToBlack extends MovieClip { public var filler:MovieClip; private var _isFading:Boolean;// = false private var speed:Number;// = 0.1 public static const FADED:String = "Faded"; public function FadeToBlack(){ filler.alpha = 0; visible = false; addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } public function get isFading():Boolean{ return (_isFading); } private function onEnterFrameHandler(_arg1:Event){ if (!visible){ return; }; filler.alpha = (filler.alpha + speed); if (filler.alpha >= 1){ dispatchEvent(new Event(FADED)); visible = false; filler.alpha = 0; _isFading = false; }; } public function fade(_arg1:Number){ visible = true; speed = _arg1; _isFading = true; } } }//package dreemchest
Section 19
//Feed (dreemchest.Feed) package dreemchest { import flash.events.*; import flash.display.*; import flash.net.*; public class Feed extends MovieClip { private var games:Array; private var loaded:Boolean;// = false public function Feed(){ games = new Array(); super(); addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); visible = false; } private function onAddedToStage(_arg1:Event){ if (!loaded){ load("http://dreemchest.com/feeds/black-space.xml"); loaded = true; }; } public function load(_arg1:String){ var _local2:URLLoader = new URLLoader(); _local2.addEventListener(Event.COMPLETE, onXMLLoaded); _local2.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _local2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); _local2.load(new URLRequest(_arg1)); } private function onSecurityError(_arg1:SecurityErrorEvent):void{ trace(_arg1.toString()); } private function onIOError(_arg1:IOErrorEvent):void{ trace(_arg1.toString()); } private function onXMLLoaded(_arg1:Event){ var _local3:int; var _local4:FeedGame; var _local2:XML = new XML(_arg1.target.data); _local3 = 0; while (_local2.game[_local3]) { _local4 = new FeedGame(); _local4.x = 10; _local4.y = (10 + ((_local4.height + 10) * _local3)); addChild(_local4); _local4.load(_local2.game[_local3]); _local3++; }; visible = true; } } }//package dreemchest
Section 20
//FeedGame (dreemchest.FeedGame) package dreemchest { import flash.events.*; import flash.display.*; import flash.net.*; import flash.text.*; import flash.system.*; public class FeedGame extends MovieClip { public var caption:TextField; private var url:String;// = "" private var desc:MovieClip;// = null public var button:SimpleButton; private var loader:Loader;// = null public var image:MovieClip; private function onImageLoaded(_arg1:Event){ var _local2:Bitmap; _local2 = (loader.content as Bitmap); var _local3:Number = ((image.width / scaleX) / _local2.width); var _local4:Number = ((image.height / scaleY) / _local2.height); if (_local2.width > _local2.height){ _local2.scaleX = (_local3 * 0.8); _local2.scaleY = (_local3 * 0.8); } else { _local2.scaleX = (_local4 * 0.8); _local2.scaleY = (_local4 * 0.8); }; _local2.x = ((((image.width / scaleX) * 0.5) - (_local2.width * 0.5)) - 2); _local2.y = (((image.height / scaleY) * 0.5) - (_local2.height * 0.5)); addChild(_local2); } private function onIOError(_arg1:IOErrorEvent):void{ trace(_arg1.toString()); } private function onClicked(_arg1:MouseEvent){ navigateToURL(new URLRequest(url)); } private function onMouseOutHandler(_arg1:MouseEvent){ desc.visible = false; } private function onMouseOverHandler(_arg1:MouseEvent){ desc.visible = true; } public function load(_arg1:XML){ caption.text = _arg1.@title; url = _arg1.@url; desc = new FeedDescription(); desc.visible = false; desc.desc.text = _arg1; addChild(desc); button.addEventListener(MouseEvent.CLICK, onClicked); button.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler); button.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler); var _local2:LoaderContext = new LoaderContext(); _local2.checkPolicyFile = true; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded); loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); loader.load(new URLRequest(_arg1.@img), _local2); } private function onSecurityError(_arg1:SecurityErrorEvent):void{ trace(_arg1.toString()); } } }//package dreemchest
Section 21
//FPSCounter (dreemchest.FPSCounter) package dreemchest { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class FPSCounter extends MovieClip { private var prevTime:Number; private var minFrameTime:Number;// = 99999999999 private var FPS:TextField; private var lastTick:Number; private var maxFrameTime:Number;// = -1 private var FrameTime:TextField; private var numFrames:Number; private var framesElapsed:int;// = 0 public static var k_FrameTime:Number = 0; public function FPSCounter(){ numFrames = 0; prevTime = getTimer(); lastTick = getTimer(); FPS = new TextField(); FPS.selectable = false; FrameTime = new TextField(); FrameTime.y = 20; FrameTime.width = 200; FrameTime.selectable = false; FPS.textColor = 4294967295; addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } public function onEnterFrameHandler(_arg1:Event):void{ numFrames++; framesElapsed++; var _local2:Number = getTimer(); var _local3:Number = (_local2 - prevTime); var _local4:Number = (_local2 - lastTick); prevTime = _local2; if (_local4 >= 500){ lastTick = _local2; FPS.text = ("FPS: " + (numFrames * 2)); numFrames = 0; }; if (framesElapsed > 100){ if (_local3 > maxFrameTime){ maxFrameTime = _local3; }; if (_local3 < minFrameTime){ minFrameTime = _local3; }; }; k_FrameTime = (_local3 * 0.001); FrameTime.text = (((("Frame time: " + _local3) + " ms / Avg: ") + ((minFrameTime + maxFrameTime) * 0.5)) + " ms"); } } }//package dreemchest
Section 22
//GameSound (dreemchest.GameSound) package dreemchest { import flash.media.*; import flash.events.*; public class GameSound { private var resumePos:Number;// = 0 private var _isLooped:Boolean;// = false private var sound:Sound;// = null private var soundCh:SoundChannel;// = null private var _isPaused:Boolean;// = false private var _volume:Number;// = 1 private var onComplete:Function;// = null private static var transform:SoundTransform = new SoundTransform(); public function GameSound(_arg1:Sound){ sound = _arg1; } public function get volume():Number{ return (soundCh.soundTransform.volume); } public function play(_arg1:Boolean, _arg2:Number=0){ if (soundCh){ closeSoundChannel(); }; soundCh = sound.play(Math.min(sound.length, _arg2)); _isLooped = _arg1; if (_arg1){ soundCh.addEventListener(Event.SOUND_COMPLETE, onSoundCompleteHandler); }; } private function closeSoundChannel(){ soundCh.removeEventListener(Event.SOUND_COMPLETE, onSoundCompleteHandler); soundCh.stop(); soundCh = null; } private function onSoundCompleteHandler(_arg1:Event){ closeSoundChannel(); soundCh = sound.play(); soundCh.addEventListener(Event.SOUND_COMPLETE, onSoundCompleteHandler); volume = _volume; if (onComplete != null){ onComplete(this); }; } public function setOnComplete(_arg1:Function){ onComplete = _arg1; } public function get isLooped():Boolean{ return (_isLooped); } public function get isPaused():Boolean{ return (_isPaused); } public function set volume(_arg1:Number){ var _local2:SoundTransform = soundCh.soundTransform; _local2.volume = _arg1; soundCh.soundTransform = _local2; _volume = _arg1; } public function setSound(_arg1:Sound){ sound = _arg1; } public function set isPaused(_arg1:Boolean){ if (!soundCh){ return; }; if (_arg1){ resumePos = soundCh.position; soundCh.stop(); } else { if (_isPaused){ play(_isLooped, resumePos); }; }; _isPaused = _arg1; } public static function emitSound(_arg1:Class, _arg2:Number=1){ if (_arg1 == null){ return; }; var _local3:Sound = new (_arg1); transform.volume = _arg2; _local3.play(0, 0, transform); } } }//package dreemchest
Section 23
//GameState (dreemchest.GameState) package dreemchest { import flash.events.*; import flash.display.*; public class GameState extends MovieClip { protected var _isInitialized:Boolean;// = false protected var _isActive:Boolean;// = false protected function update(){ } public function get isInitialized():Boolean{ return (_isInitialized); } public function get isActive():Boolean{ return (_isActive); } public function leave(){ if (parent){ parent.removeChild(this); }; _isActive = false; removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); onLeave(); } public function enter(_arg1:MovieClip){ _arg1.addChild(this); _isActive = true; addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); onEnter(); } protected function onEnter(){ } private function onEnterFrameHandler(_arg1:Event){ if (!_isActive){ return; }; update(); } public function processPacket(_arg1){ } protected function onLeave(){ } } }//package dreemchest
Section 24
//Input (dreemchest.Input) package dreemchest { import flash.events.*; import flash.display.*; public class Input { public static const _0 = 48; public static const _2 = 50; public static const _4 = 52; public static const _5 = 53; public static const _6 = 54; public static const _7 = 55; public static const _1 = 49; public static const _9 = 57; public static const _3 = 51; public static const _8 = 56; public static const A = 65; public static const D = 68; public static const E = 69; public static const F = 70; public static const G = 71; public static const H = 72; public static const I = 73; public static const C = 67; public static const K = 75; public static const L = 76; public static const M = 77; public static const N = 78; public static const O = 79; public static const P = 80; public static const J = 74; public static const R = 82; public static const S = 83; public static const T = 84; public static const U = 85; public static const V = 86; public static const W = 87; public static const Q = 81; public static const Y = 89; public static const B = 66; public static const X = 88; public static const Z = 90; private static var _isMouseDown:Boolean = false; private static var keyDown:Array = new Array(); private static var keyPressed:Array = new Array(); private static var _mouseX:Number = 0; private static var _mouseY:Number = 0; public static function isKeyPressed(_arg1:Number):Boolean{ if (keyDown[_arg1]){ if (!keyPressed[_arg1]){ keyPressed[_arg1] = true; return (true); }; } else { keyPressed[_arg1] = false; }; return (false); } private static function onKeyUpHandler(_arg1:KeyboardEvent){ keyDown[_arg1.keyCode] = false; } public static function initialize(_arg1:Stage){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownHandler); _arg1.addEventListener(KeyboardEvent.KEY_UP, onKeyUpHandler); _arg1.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler); _arg1.addEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler); _arg1.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoveHandler); } private static function onMouseMoveHandler(_arg1:MouseEvent){ _mouseX = _arg1.stageX; _mouseY = _arg1.stageY; } public static function isKeyDown(_arg1:Number):Boolean{ return (keyDown[_arg1]); } public static function get mouseY():Number{ return (_mouseY); } public static function get isMouseDown():Boolean{ return (_isMouseDown); } private static function onMouseDownHandler(_arg1:MouseEvent){ _isMouseDown = true; } public static function get mouseX():Number{ return (_mouseX); } private static function onMouseUpHandler(_arg1:MouseEvent){ _isMouseDown = false; } private static function onKeyDownHandler(_arg1:KeyboardEvent){ keyDown[_arg1.keyCode] = true; } } }//package dreemchest
Section 25
//List (dreemchest.List) package dreemchest { public class List { private var _size:int;// = 0 private var _tail:ListNode;// = null private var _head:ListNode;// = null public function List(){ _head = new ListNode(this); _tail = new ListNode(this); _head.next = _tail; _tail.prev = _head; } public function get size():int{ return (_size); } private function insertAfter(_arg1, _arg2:ListNode):ListNode{ var _local3:ListNode = new ListNode(this, _arg1); _local3.prev = _arg2; _local3.next = _arg2.next; _arg2.next = _local3; _local3.next.prev = _local3; _size++; return (_local3); } public function remove(_arg1:ListNode):ListNode{ if (_arg1.list != this){ trace("ERROR! invalid node"); return (_tail); }; var _local2:ListNode = _arg1.next; _arg1.prev.next = _arg1.next; _arg1.next.prev = _arg1.prev; _arg1.data = null; _arg1.list = null; _size--; return (_local2); } public function get begin():ListNode{ return (_head.next); } public function forEach(_arg1:Function){ var _local2:ListNode = _head.next; while (_local2 != _tail) { _arg1(_local2); _local2 = _local2.next; }; } public function traceNodes(_arg1:ListNode){ while (_arg1.data != null) { trace(_arg1.data); _arg1 = _arg1.next; }; } public function sort(_arg1:Function=null):List{ var _local2:List = mergeSort(this, _arg1); return (_local2); } public function traceListBack(){ var _local1:ListNode = _tail.prev; trace("-- List values --"); while (_local1 != _head) { trace(((((("Value: " + _local1.data) + " Prev. data: ") + ((_local1.prev)!=null) ? _local1.prev.data : "null") + " Next data: ") + ((_local1.next)!=null) ? _local1.next.data : "null")); _local1 = _local1.prev; }; trace("-----------------"); } public function traceList(){ var _local1:ListNode = _head.next; trace((("-- List values( " + size) + " total ) --")); while (_local1 != _tail) { trace(((((("Value: " + _local1.data) + " Prev. data: ") + ((_local1.prev)!=null) ? _local1.prev.data : "null") + " Next data: ") + ((_local1.next)!=null) ? _local1.next.data : "null")); _local1 = _local1.next; }; trace("-----------------"); } public function attach(_arg1:ListNode, _arg2:ListNode=null){ if (_arg1.list != null){ _arg1.list.detach(_arg1); }; if (_arg2 == null){ _arg2 = _tail.prev; }; _arg1.list = this; _arg1.prev = _arg2; _arg1.next = _arg2.next; _arg2.next = _arg1; _arg1.next.prev = _arg1; _size++; } private function mergeSort(_arg1:List, _arg2:Function):List{ var _local9:*; if (_arg1.size <= 1){ return (_arg1); }; var _local3:List = new List(); var _local4:List = new List(); var _local5:List; var _local6:ListNode = _arg1.begin; var _local7:uint; var _local8:uint = (_arg1.size / 2); while (_local7 < _local8) { _local9 = _local6.next; _local3.attach(_local6); _local6 = _local9; _local7++; }; while (_local6 != _arg1._tail) { _local9 = _local6.next; _local4.attach(_local6); _local6 = _local9; }; _local3 = mergeSort(_local3, _arg2); _local4 = mergeSort(_local4, _arg2); _local5 = mergeLists(_local3, _local4, _arg2); return (_local5); } public function insert(_arg1):ListNode{ return (insertAfter(_arg1, _tail.prev)); } public function detach(_arg1:ListNode){ _arg1.prev.next = _arg1.next; _arg1.next.prev = _arg1.prev; _arg1.list = null; _size--; } public function get end():ListNode{ return (_tail); } private function mergeLists(_arg1:List, _arg2:List, _arg3:Function):List{ var _local5:int; var _local4:List = new List(); if (_arg3 == null){ while ((((_arg1.size > 0)) && ((_arg2.size > 0)))) { if (_arg1.begin.data <= _arg2.begin.data){ _local4.attach(_arg1.begin); } else { _local4.attach(_arg2.begin); }; }; } else { while ((((_arg1.size > 0)) && ((_arg2.size > 0)))) { _local5 = _arg3(_arg1.begin.data, _arg2.begin.data); if ((((_local5 == -1)) || ((_local5 == 0)))){ _local4.attach(_arg1.begin); } else { _local4.attach(_arg2.begin); }; }; }; while (_arg1.size > 0) { _local4.attach(_arg1.begin); }; while (_arg2.size > 0) { _local4.attach(_arg2.begin); }; return (_local4); } } }//package dreemchest
Section 26
//ListNode (dreemchest.ListNode) package dreemchest { public class ListNode { public var data;// = null public var next:ListNode;// = null public var prev:ListNode;// = null public var list:List;// = null public function ListNode(_arg1:List, _arg2=null){ list = _arg1; data = _arg2; } } }//package dreemchest
Section 27
//Preloader (dreemchest.Preloader) package dreemchest { import flash.events.*; import flash.display.*; import SWFStats.*; import CPMStar.*; import flash.net.*; public class Preloader extends MovieClip { public var ad:DisplayObject; public var CPMStarSubPoolID:int; public var CPMStarPoolID:int; private var target:MovieClip;// = null public var bar:MovieClip; public var cpmStar:MovieClip; public static const DONE:String = "Done"; public function Preloader(){ addFrameScript(0, frame1, 280, frame281, 281, frame282); } function frame1(){ CPMStarPoolID = 17171; CPMStarSubPoolID = 1; ad = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID); cpmStar.addChild(ad); } private function done(){ dispatchEvent(new Event(DONE)); if (this.parent == target){ target.removeChild(this); target.play(); }; } public function initialize(_arg1:MovieClip){ target = _arg1; addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); stop(); } private function onEnterFrameHandler(_arg1:Event){ bar.filler.scaleX = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal); bar.caption.text = (int((bar.filler.scaleX * 100)) + "%"); if (bar.filler.scaleX >= 1){ removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); play(); }; } function frame281(){ stop(); } function frame282(){ done(); } public static function put(_arg1:MovieClip){ var _local2:Preloader = new (Preloader); _local2.initialize(_arg1); _arg1.stop(); _arg1.addChild(_local2); } } }//package dreemchest
Section 28
//RenderSurface (dreemchest.RenderSurface) package dreemchest { import flash.display.*; import flash.geom.*; public class RenderSurface extends MovieClip { private var tr:Matrix; private var bitmap:Bitmap;// = null private var ct:ColorTransform; private var _bitmapData:BitmapData;// = null public function RenderSurface(){ tr = new Matrix(); ct = new ColorTransform(); super(); } public function unlock(){ _bitmapData.unlock(); } public function renderClip(_arg1:MovieClip){ tr.identity(); tr.rotate(_arg1.rotation); tr.scale(_arg1.scaleX, _arg1.scaleY); tr.translate(_arg1.x, _arg1.y); ct.redMultiplier = 1; ct.greenMultiplier = 1; ct.blueMultiplier = 1; ct.alphaMultiplier = _arg1.alpha; _bitmapData.draw(_arg1, tr, ct); } public function get bd():BitmapData{ return (_bitmapData); } public function lock(){ _bitmapData.lock(); } public function renderBitmap(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ var _local7:Number = ((_arg1.rect.width * 0.5) * _arg5); var _local8:Number = ((_arg1.rect.height * 0.5) * _arg5); tr.identity(); tr.scale(_arg5, _arg5); tr.translate(-(_local7), -(_local8)); tr.rotate(Common.deg2Rad(_arg4)); tr.translate(_arg2, _arg3); ct.redMultiplier = 1; ct.greenMultiplier = 1; ct.blueMultiplier = 1; ct.alphaMultiplier = _arg6; _bitmapData.draw(_arg1, tr, ct); } public function clear(_arg1:Number){ _bitmapData.fillRect(_bitmapData.rect, _arg1); } public function create(_arg1:MovieClip, _arg2:Number, _arg3:Number){ _bitmapData = new BitmapData(_arg2, _arg3, true, 0); bitmap = new Bitmap(_bitmapData); addChild(bitmap); if (_arg1){ _arg1.addChild(this); }; } } }//package dreemchest
Section 29
//Vector (dreemchest.Vector) package dreemchest { public class Vector { public var x:Number; public var y:Number; public function Vector(_arg1:Number=0, _arg2:Number=0){ x = _arg1; y = _arg2; } public function add(_arg1:Vector){ x = (x + _arg1.x); y = (y + _arg1.y); } public function mul(_arg1:Number){ x = (x * _arg1); y = (y * _arg1); } public function addF(_arg1:Number, _arg2:Number){ x = (x + _arg1); y = (y + _arg2); } public function length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function dirTo(_arg1:Number, _arg2:Number):Number{ x = (_arg1 - x); y = (_arg2 - y); return (normalize()); } public function dot(_arg1:Vector):Number{ return (((x * _arg1.x) + (y * _arg1.y))); } public function normalize():Number{ var _local1:* = Math.sqrt(((x * x) + (y * y))); if (_local1){ x = (x / _local1); y = (y / _local1); }; return (_local1); } public function equal(_arg1:Vector):Boolean{ return ((((x == _arg1.x)) && ((y == _arg1.y)))); } public function subtract(_arg1:Vector){ x = (x - _arg1.x); y = (y - _arg1.y); } public function setTo(_arg1:Number, _arg2:Number){ x = _arg1; y = _arg2; } public static function angle(_arg1:Vector, _arg2:Vector):Number{ return (((Math.acos(_arg1.dot(_arg2)) * 180) / Math.PI)); } public static function distance(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = (_arg3 - _arg1); var _local6:Number = (_arg4 - _arg2); return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))); } public static function lerp(_arg1:Vector, _arg2:Vector, _arg3:Number):Vector{ return (new Vector(((_arg1.x * (1 - _arg3)) + (_arg2.x * _arg3)), ((_arg1.y * (1 - _arg3)) + (_arg2.y * _arg3)))); } public static function fromAngle(_arg1:Number):Vector{ var _local2:Number = ((_arg1 / 180) * Math.PI); return (new Vector(Math.cos(_local2), Math.sin(_local2))); } public static function randomDir():Vector{ var _local1:Number = (((Math.random() * 360) / 180) * Math.PI); var _local2:Vector = new (Vector); _local2.x = Math.sin(_local1); _local2.y = Math.cos(_local1); return (_local2); } public static function direction(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Vector{ var _local5:Number = (_arg3 - _arg1); var _local6:Number = (_arg4 - _arg2); var _local7:Vector = new Vector(_local5, _local6); _local7.normalize(); return (_local7); } } }//package dreemchest
Section 30
//DoubleMinigun (game.abilities.DoubleMinigun) package game.abilities { import dreemchest.*; import game.*; public class DoubleMinigun extends Minigun { public function DoubleMinigun(_arg1:Config, _arg2:Player){ super(_arg1, _arg2, 0); rateOfFire = 5; _level = "2"; } override protected function shot(_arg1:Number, _arg2:Number, _arg3:Vector){ spawnBullet(_arg1, _arg2, _arg3, 0.5, Resources.class_MinigunHit, 500); spawnBullet(_arg1, _arg2, _arg3, -0.5, Resources.class_MinigunHit, 500); } } }//package game.abilities
Section 31
//EnergyRegen (game.abilities.EnergyRegen) package game.abilities { import game.*; public class EnergyRegen extends Ability { protected var regenSpeed:Number;// = 1.5 public function EnergyRegen(_arg1:Player){ super(_arg1); upgrade(); _cost = 0; } override public function update(_arg1:Number, _arg2:Number, _arg3:Number){ super.update(_arg1, _arg2, _arg3); if (player.energy < player.maxEnergy){ player.energy = Math.min(player.maxEnergy, (player.energy + (regenSpeed * _arg3))); }; } } }//package game.abilities
Section 32
//Explode (game.abilities.Explode) package game.abilities { import dreemchest.*; import game.*; public class Explode extends Ability { private var range:Number;// = 0 private var damage:Number;// = 0 public function Explode(_arg1:Config, _arg2:Player, _arg3:int){ super(_arg2); upgrade(); damage = _arg1.ExplodeDamage[_arg3]; range = _arg1.ExplodeRange[_arg3]; _cost = _arg1.ExplodeCost[_arg3]; maxCooldown = _arg1.ExplodeCdwn[_arg3]; } override public function activate(_arg1:Number, _arg2:Number){ var _local5:Enemy; var _local6:Number; super.activate(_arg1, _arg2); GameScreen.instance.spawnFx(Resources.class_ExplosionBlast, _arg1, _arg2); GameScreen.instance.setShake(4); GameSound.emitSound(Resources.sound_Bomb, 3); var _local3:GameScreen = GameScreen.instance; var _local4:int; while (_local4 < _local3.totalMonsters) { _local5 = _local3.getEnemy(_local4); _local6 = Vector.distance(_arg1, _arg2, _local5.x, _local5.y); if (_local6 < range){ _local5.hit((damage * (1 - (_local6 / (range * 2)))), false); _local3.spawnFx(Resources.class_MinigunHit, _local5.x, _local5.y); }; _local4++; }; } } }//package game.abilities
Section 33
//Minigun (game.abilities.Minigun) package game.abilities { import dreemchest.*; import game.*; import flash.events.*; import flash.utils.*; public class Minigun extends Ability { private var lastRateOfFire:Number;// = 0 private var powerUpTimer:Timer; protected var rateOfFire:Number;// = 10 protected var damage:Number;// = 8 private var bulletType:int; private var lastShotTime:int;// = -1 public function Minigun(_arg1:Config, _arg2:Player, _arg3:int){ powerUpTimer = new Timer(5000); bulletType = Bullet.Green; super(_arg2); powerUpTimer.addEventListener(TimerEvent.TIMER, onPowerUpTimer); _cost = 0; setDamage(_arg3); } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); var _local3:Number = 3; if (lastRateOfFire == 0){ lastRateOfFire = rateOfFire; rateOfFire = (rateOfFire * _local3); powerUpTimer.start(); GameSound.emitSound((getDefinitionByName("SoundPowerUp") as Class), 2); }; } protected function spawnBullet(_arg1:Number, _arg2:Number, _arg3:Vector, _arg4:Number, _arg5:Class, _arg6:Number){ var _local7:Vector = new Vector(_arg3.y, -(_arg3.x)); var _local8:Vector = new Vector(_arg1, _arg2); _local8.dirTo(((_arg1 + (_local7.x * _arg4)) + (_arg3.x * 10)), ((_arg2 + (_local7.y * _arg4)) + (_arg3.y * 10))); GameScreen.instance.spawnBullet(_arg1, _arg2, _local8, bulletType, _arg5, damage, _arg6, false); } private function onPowerUpTimer(_arg1:TimerEvent){ rateOfFire = lastRateOfFire; lastRateOfFire = 0; powerUpTimer.stop(); player.resetPowerUpScore(); } override public function update(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:Number = getTimer(); var _local5:int = Math.floor((((_local4 - lastShotTime) * rateOfFire) * 0.001)); if (player.isKilled){ return; }; if (lastShotTime == -1){ lastShotTime = _local4; return; }; if (_local5 <= 0){ return (0); }; lastShotTime = _local4; var _local6:* = 0; while (_local6 < _local5) { shot(_arg1, _arg2, player.direction); _local6++; }; emitSound(); if (player.powerUpScore > 250){ activate(_arg1, _arg2); }; } protected function emitSound(){ } public function setDamage(_arg1:int){ switch (_arg1){ case 1: setBulletType(Bullet.Blue); break; case 2: setBulletType(Bullet.Red); break; }; } protected function shot(_arg1:Number, _arg2:Number, _arg3:Vector){ spawnBullet(_arg1, _arg2, _arg3, -0.5, Resources.class_MinigunHit, 500); } private function setBulletType(_arg1:int){ bulletType = _arg1; switch (bulletType){ case Bullet.Green: damage = 8; break; case Bullet.Blue: damage = 14; break; case Bullet.Red: damage = 20; break; default: bulletType = Bullet.Green; damage = 8; break; }; } } }//package game.abilities
Section 34
//Missiles (game.abilities.Missiles) package game.abilities { import dreemchest.*; import game.*; import flash.utils.*; public class Missiles extends Ability { private var lastShotTime:int;// = 0 private var count:int;// = 0 private var left:int;// = 0 private var damage:Number;// = 0 public function Missiles(_arg1:Config, _arg2:Player, _arg3:int){ super(_arg2); upgrade(); damage = _arg1.MissilesDamage[_arg3]; count = _arg1.MissilesCount[_arg3]; _cost = _arg1.MissilesCost[_arg3]; maxCooldown = _arg1.MissilesCdwn[_arg3]; } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); left = count; lastShotTime = getTimer(); } override public function update(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:int; var _local5:Vector; super.update(_arg1, _arg2, _arg3); if (left){ _local4 = getTimer(); if ((_local4 - lastShotTime) >= 100){ _local5 = new Vector((player.direction.x + ((Math.random() - 0.5) * 0.75)), (player.direction.y + ((Math.random() - 0.5) * 0.75))); _local5.normalize(); GameSound.emitSound(Resources.sound_Rampage, 1); GameScreen.instance.spawnBullet(_arg1, _arg2, _local5, Bullet.SMissile, Resources.class_FlameshotHit, damage, 600, false); lastShotTime = _local4; left--; }; }; } public function setCount(_arg1:int){ count = _arg1; } } }//package game.abilities
Section 35
//MissileStorm (game.abilities.MissileStorm) package game.abilities { import dreemchest.*; import game.*; import flash.utils.*; public class MissileStorm extends Ability { private var damage:Number;// = 0 private var maxMissiles:Number;// = 0 private var count:int;// = 0 private var shotAngle:Number;// = 0 private var lastShotTime:int;// = 0 public function MissileStorm(_arg1:Config, _arg2:Player, _arg3:int){ super(_arg2); damage = _arg1.StormDamage[_arg3]; maxMissiles = _arg1.StormCount[_arg3]; _cost = _arg1.StormCost[_arg3]; maxCooldown = _arg1.StormCdwn[_arg3]; } override public function update(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:int; var _local5:int; super.update(_arg1, _arg2, _arg3); if (count){ _local4 = getTimer(); if ((_local4 - lastShotTime) > 150){ lastShotTime = _local4; _local5 = 0; while (_local5 < 3) { shot(_arg1, _arg2); _local5++; }; }; }; } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); lastShotTime = getTimer(); count = maxMissiles; } private function shot(_arg1:Number, _arg2:Number){ if (!count){ return; }; GameSound.emitSound(Resources.sound_Missile); var _local3:Bullet = GameScreen.instance.spawnBulletCls(_arg1, _arg2, Vector.fromAngle(shotAngle), BulletSeekingMissile, Resources.class_FlameshotHit, damage, 300, false); _local3.gotoAndStop(11); shotAngle = (shotAngle + (360 / count)); count--; } } }//package game.abilities
Section 36
//Rampage (game.abilities.Rampage) package game.abilities { import dreemchest.*; import game.*; public class Rampage extends Ability { private var count:int;// = 0 public function Rampage(_arg1:Player, _arg2:int){ super(_arg1); count = _arg2; _cost = 0; } override public function activate(_arg1:Number, _arg2:Number){ GameSound.emitSound(Resources.sound_Rampage, 2); var _local3:Number = 0; var _local4:Vector = new Vector(); var _local5:Number = (360 / count); var _local6:int; while (_local6 < count) { _local4.x = Math.sin(_local3); _local4.y = Math.cos(_local3); GameScreen.instance.spawnBullet(_arg1, _arg2, _local4, Bullet.Rampage, Resources.class_FlameshotHit, 10, 600, false); _local3 = (_local3 + _local5); _local6++; }; } } }//package game.abilities
Section 37
//Regen (game.abilities.Regen) package game.abilities { import dreemchest.*; import game.*; public class Regen extends Ability { protected var regenSpeed:Number;// = 0 public function Regen(_arg1:Config, _arg2:Player, _arg3:int){ super(_arg2); upgrade(); _cost = 0; regenSpeed = _arg1.RegenSpeed[_arg3]; } override public function update(_arg1:Number, _arg2:Number, _arg3:Number){ super.update(_arg1, _arg2, _arg3); if (player.health < player.maxHealth){ player.health = Math.min(player.maxHealth, (player.health + (regenSpeed * _arg3))); }; } } }//package game.abilities
Section 38
//SeekingMissiles (game.abilities.SeekingMissiles) package game.abilities { import dreemchest.*; import game.*; public class SeekingMissiles extends Ability { private var count:int;// = 0 private var damage:Number;// = 0 public function SeekingMissiles(_arg1:Config, _arg2:Player, _arg3:int){ super(_arg2); upgrade(); damage = _arg1.SMissilesDamage[_arg3]; count = _arg1.SMissilesCount[_arg3]; _cost = _arg1.SMissilesCost[_arg3]; maxCooldown = _arg1.SMissilesCdwn[_arg3]; } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); GameSound.emitSound(Resources.sound_Rampage, 2); var _local3:Number = 0; var _local4:Vector = new Vector(); var _local5:Number = (360 / count); var _local6:int; while (_local6 < count) { _local4.x = Math.sin(_local3); _local4.y = Math.cos(_local3); GameScreen.instance.spawnBulletCls(_arg1, _arg2, _local4, BulletSeekingMissile, Resources.class_FlameshotHit, damage, 300, false); _local3 = (_local3 + _local5); _local6++; }; } public function setCount(_arg1:int){ count = _arg1; } } }//package game.abilities
Section 39
//Shield (game.abilities.Shield) package game.abilities { import dreemchest.*; import game.*; import flash.events.*; import flash.utils.*; public class Shield extends Ability { private var timer:Timer; public function Shield(_arg1:Config, _arg2:Player, _arg3:int){ timer = new Timer(5000); super(_arg2); _cost = _arg1.ShieldCost[_arg3]; maxCooldown = _arg1.ShieldCdwn[_arg3]; timer.delay = _arg1.ShieldDuration[_arg3]; timer.addEventListener(TimerEvent.TIMER, onTimerHandler); } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); timer.start(); player.setInv(true); } private function onTimerHandler(_arg1:TimerEvent){ timer.stop(); player.setInv(false); } } }//package game.abilities
Section 40
//TripleMinigun (game.abilities.TripleMinigun) package game.abilities { import dreemchest.*; import game.*; public class TripleMinigun extends Minigun { public function TripleMinigun(_arg1:Config, _arg2:Player){ super(_arg1, _arg2, 0); rateOfFire = 5; _level = "3"; } override protected function shot(_arg1:Number, _arg2:Number, _arg3:Vector){ spawnBullet(_arg1, _arg2, _arg3, 0.75, Resources.class_MinigunHit, 400); spawnBullet(_arg1, _arg2, _arg3, 0, Resources.class_MinigunHit, 500); spawnBullet(_arg1, _arg2, _arg3, -0.75, Resources.class_MinigunHit, 400); } } }//package game.abilities
Section 41
//Turret (game.abilities.Turret) package game.abilities { import dreemchest.*; import game.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class Turret extends MovieClip { private var node:ListNode;// = null private var timer:Timer; private var damage:Number;// = 0 private var shotAngle:Number;// = 0 private var lastShotTime:int;// = 0 public static const EXPIRED:String = "Expired"; public function Turret(){ timer = new Timer(5000); super(); } public function release(){ parent.removeChild(this); timer.removeEventListener(TimerEvent.TIMER, onTimerHandler); timer.stop(); removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } private function onTimerHandler(_arg1:TimerEvent){ release(); dispatchEvent(new Event(EXPIRED)); if (((node) && (node.list))){ node.list.remove(node); }; } private function onEnterFrameHandler(_arg1:Event){ var _local2:int = getTimer(); if ((_local2 - lastShotTime) > 75){ lastShotTime = _local2; GameScreen.instance.spawnBullet(x, y, Vector.fromAngle(shotAngle), 2, Resources.class_MinigunHit, damage, 300, false); }; shotAngle = (shotAngle + (75 * FPSCounter.k_FrameTime)); } public function spawn(_arg1:ListNode, _arg2:Number, _arg3:Number, _arg4:Number){ node = _arg1; x = _arg2; y = _arg3; damage = _arg4; timer.addEventListener(TimerEvent.TIMER, onTimerHandler); timer.start(); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } } }//package game.abilities
Section 42
//TurretAbility (game.abilities.TurretAbility) package game.abilities { import dreemchest.*; import game.*; import flash.events.*; public class TurretAbility extends Ability { private var turrets:List; private var damage:Number;// = 0 public function TurretAbility(_arg1:Config, _arg2:Player, _arg3:int){ turrets = new List(); super(_arg2); damage = _arg1.TurretDamage[_arg3]; _cost = _arg1.TurretCost[_arg3]; maxCooldown = _arg1.TurretCdwn[_arg3]; } override public function activate(_arg1:Number, _arg2:Number){ super.activate(_arg1, _arg2); var _local3:Turret = new Turret(); _local3.spawn(turrets.insert(_local3), _arg1, _arg2, damage); _local3.addEventListener(Turret.EXPIRED, onExpiredHandler); GameScreen.instance.background.addChild(_local3); } private function onExpiredHandler(_arg1:Event){ trace("turret expired"); } override public function release(){ trace("Destroying turrets"); var _local1:ListNode = turrets.begin; while (_local1 != turrets.end) { (_local1.data as Turret).release(); _local1 = turrets.remove(_local1); }; } } }//package game.abilities
Section 43
//BossBase (game.boss.BossBase) package game.boss { import dreemchest.*; import game.*; import flash.events.*; import flash.display.*; import flash.geom.*; public class BossBase extends MovieClip { public var eyeBig:MovieClip; public var eyeA:MovieClip; public var eyeB:MovieClip; public var eye:MovieClip; private var _health:Number;// = 500 public static const DESTROYED:String = "Destroyed"; public function setHealth(_arg1:Number){ _health = _arg1; } public function checkCollision(_arg1:Point):Boolean{ if (destroyed){ return (false); }; return (getRect(GameScreen.instance.background).containsPoint(_arg1)); } public function get destroyed():Boolean{ return ((_health <= 0)); } public function hit(_arg1:Bullet){ play(); _health = (_health - _arg1.damage); GameSound.emitSound(Resources.sound_BossHit); GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, _arg1.x, _arg1.y, 5); if (_health <= 0){ GameScreen.instance.spawnFx(Resources.class_ExplosionBlastS, _arg1.x, _arg1.y); dispatchEvent(new Event(DESTROYED)); }; } } }//package game.boss
Section 44
//BossPart (game.boss.BossPart) package game.boss { import dreemchest.*; import game.*; import flash.display.*; import flash.geom.*; public class BossPart extends MovieClip { public var throat:MovieClip; private var _health:Number;// = 500 public function update(_arg1:int){ } public function checkCollision(_arg1:Point):Boolean{ if (destroyed){ return (false); }; return (getRect(GameScreen.instance.background).containsPoint(_arg1)); } public function get isVulnerable():Boolean{ return ((((width <= 0)) || ((height <= 0)))); } public function get destroyed():Boolean{ return ((_health <= 0)); } public function hit(_arg1:Bullet){ play(); _health = (_health - _arg1.damage); GameSound.emitSound(Resources.sound_BossHit); GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, _arg1.x, _arg1.y, 5); if (_health <= 0){ GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, _arg1.x, _arg1.y, 5); GameScreen.instance.spawnFx(Resources.class_ExplosionBlastS, _arg1.x, _arg1.y); GameSound.emitSound(Resources.sound_Explosion); gotoAndStop("Destroyed"); }; } public function setHealth(_arg1:Number){ _health = _arg1; } } }//package game.boss
Section 45
//MinionSpawner (game.boss.MinionSpawner) package game.boss { import game.*; import flash.events.*; import flash.utils.*; import flash.geom.*; public class MinionSpawner extends BossPart { private var spawnPos:Point; private var minionClass:String;// = "Cockroach" private var minionTimer:Timer; private var lastSpawnTime:int;// = 0 private var spawned:int;// = 0 public function MinionSpawner(){ minionTimer = new Timer(10000); spawnPos = new Point(0, 0); super(); lastSpawnTime = getTimer(); minionTimer.addEventListener(TimerEvent.TIMER, function (_arg1:TimerEvent){ spawned = 0; }); minionTimer.start(); } override public function update(_arg1:int){ var _local2:Point; if (destroyed){ return; }; if (((((_arg1 - lastSpawnTime) > 100)) && ((spawned < 10)))){ _local2 = localToGlobal(spawnPos); spawnMinion((parent.x - x), (parent.y + y)); lastSpawnTime = _arg1; spawned++; }; } private function spawnMinion(_arg1:Number, _arg2:Number){ if (!GameScreen.instance.canSpawnMonster()){ return; }; GameScreen.instance.level.onEnemySpawn(""); var _local3:Enemy = GameScreen.instance.spawnEnemy(minionClass); _local3.x = _arg1; _local3.y = _arg2; } public function setClass(_arg1:String){ minionClass = _arg1; } } }//package game.boss
Section 46
//RampageShooter (game.boss.RampageShooter) package game.boss { import dreemchest.*; import game.*; import flash.events.*; import flash.utils.*; import flash.geom.*; public class RampageShooter extends BossPart { private var spawnPos:Point; private var shootTimer:Timer; private var damage:Number;// = 3 private var timesShoot:int;// = 0 private var bulletType:int;// = 0 private var lastShotTime:int;// = 0 public function RampageShooter(){ spawnPos = new Point(0, 0); shootTimer = new Timer(10000); super(); lastShotTime = (getTimer() + 1000); shootTimer.addEventListener(TimerEvent.TIMER, function (_arg1:TimerEvent){ timesShoot = 0; }); shootTimer.start(); } override public function update(_arg1:int){ var _local2:Point; if (destroyed){ return; }; if (((((_arg1 - lastShotTime) > 500)) && ((timesShoot < 5)))){ _local2 = localToGlobal(spawnPos); fire((parent.x - x), (parent.y + y)); lastShotTime = _arg1; timesShoot++; }; } private function fire(_arg1:Number, _arg2:Number){ var _local5:Vector; var _local3 = 15; var _local4:Number = (360 / _local3); _local5 = new Vector(); var _local6:Number = (Math.random() * 50); var _local7:int; while (_local7 < _local3) { _local5.x = Math.sin(((_local7 * _local4) + _local6)); _local5.y = Math.cos(((_local7 * _local4) + _local6)); GameScreen.instance.spawnBullet(_arg1, _arg2, _local5, bulletType, null, damage, 250, true); _local7++; }; GameSound.emitSound(Resources.sound_Rampage); } } }//package game.boss
Section 47
//VerticalShooter (game.boss.VerticalShooter) package game.boss { import dreemchest.*; import game.*; import flash.events.*; import flash.utils.*; import flash.geom.*; public class VerticalShooter extends BossPart { private var shootTimer:Timer; private var timesShoot:int;// = 0 private var lastShotTime:int;// = 0 public function VerticalShooter(){ shootTimer = new Timer(10000); super(); lastShotTime = (getTimer() + 1000); shootTimer.addEventListener(TimerEvent.TIMER, function (_arg1:TimerEvent){ timesShoot = 0; }); shootTimer.start(); } override public function update(_arg1:int){ var _local2:Point; if (destroyed){ return; }; if (((((_arg1 - lastShotTime) > 200)) && ((timesShoot < 15)))){ _local2 = localToGlobal(new Point(0, 0)); fire((parent.x - x), (parent.y + y)); lastShotTime = _arg1; timesShoot++; }; } private function fire(_arg1:Number, _arg2:Number){ var _local3 = 15; var _local4:Number = (360 / _local3); var _local5:Vector = new Vector(0, 1); var _local6:Number = (Math.random() * 50); GameScreen.instance.spawnBullet(_arg1, _arg2, _local5, 0, null, 1, 250, true); GameSound.emitSound(Resources.sound_Rampage); } } }//package game.boss
Section 48
//Assault (game.enemy.Assault) package game.enemy { import dreemchest.*; import game.*; public class Assault extends Enemy { public function Assault(){ gotoAndStop(3); _maxHealth = 60; speed = 150; drop = (PowerUp.MONEY_250 | PowerUp.MONEY_500); dropMoneyCount = 3; explodeDamage = 30; } override public function update(){ var _local1:Vector = GameScreen.instance.getPlayerPos(); var _local2:Vector = new Vector(x, y); _local2.dirTo(_local1.x, _local1.y); _local2.normalize(); if (Math.abs((_local2.x - dir.x)) > 0.001){ dir.x = (dir.x + ((_local2.x - dir.x) * turnRate)); }; if (Math.abs((_local2.y - dir.y)) > 0.001){ dir.y = (dir.y + ((_local2.y - dir.y) * turnRate)); }; if (Math.random() < 0.01){ velocity.y = (Math.random() * 0.5); velocity.x = (Math.random() * 0.5); }; turnRate = 0.02; dir.normalize(); rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); fire(); super.update(); } private function fire(){ var _local1:Number = 0.025; if (Math.random() < _local1){ shoot(x, y, 0, 5, 250); }; } } }//package game.enemy
Section 49
//Battleship (game.enemy.Battleship) package game.enemy { import dreemchest.*; import game.*; import flash.display.*; public class Battleship extends Enemy { public var turretLeft:MovieClip; private var nextDir:Vector; public var turretRight:MovieClip; public function Battleship(){ nextDir = new Vector(); super(); gotoAndStop(1); _maxHealth = 250; speed = 50; drop = (((PowerUp.MONEY_50 | PowerUp.MONEY_250) | PowerUp.MONEY_500) | PowerUp.MONEY_1000); dropMoneyCount = 4; maxCrystals = 3; armor = 0.25; explodeDamage = 75; } private function fire(){ var _local1:Number = 0.005; if (Math.random() < _local1){ shoot((x + turretLeft.x), (y + turretLeft.x), 0, 10, 200); shoot((x + turretRight.x), (y + turretRight.x), 0, 10, 200); }; } override public function update(){ if (Math.random() < 0.002){ nextDir.x = (Math.random() - 0.5); nextDir.y = (Math.random() - 0.5); nextDir.normalize(); }; dir.x = (dir.x + ((nextDir.x - dir.x) * turnRate)); dir.y = (dir.y + ((nextDir.y - dir.y) * turnRate)); rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); fire(); var _local1:Vector = GameScreen.instance.getPlayerPos(); var _local2:Vector = new Vector(x, y); _local2.dirTo(_local1.x, _local1.y); turretLeft.rotation = (((-180 * Math.atan2(-(_local2.x), -(_local2.y))) / Math.PI) - rotation); turretRight.rotation = (((-180 * Math.atan2(-(_local2.x), -(_local2.y))) / Math.PI) - rotation); if (health < 150){ if (currentFrame == 1){ spawnExplosion(x, y, 10, 40); GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, x, y, 10); }; gotoAndStop(2); }; if (health < 100){ if (turretLeft.visible){ spawnExplosion((x + turretLeft.x), (y + turretLeft.y), 1, 0); spawnExplosion((x + turretRight.x), (y + turretRight.y), 1, 0); GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, x, y, 10); }; turretLeft.visible = false; turretRight.visible = false; }; super.update(); } } }//package game.enemy
Section 50
//Blind (game.enemy.Blind) package game.enemy { import dreemchest.*; import game.*; import flash.utils.*; public class Blind extends Enemy { private var lastTime:Number;// = 0 private var accel:Vector; private var nextDir:Vector; private var delta:Number;// = 2000 public function Blind(){ nextDir = new Vector(); accel = new Vector(); super(); gotoAndStop(2); _maxHealth = 20; speed = 100; turnRate = 0.005; drop = (PowerUp.MONEY_50 | PowerUp.MONEY_250); dropMoneyCount = 2; } override public function update(){ if ((getTimer() - lastTime) > delta){ nextDir.x = (Math.random() - 0.5); nextDir.y = (Math.random() - 0.5); nextDir.normalize(); lastTime = getTimer(); delta = ((Math.random() * 1000) + 2000); }; var _local1:Vector = GameScreen.instance.getDirToPlayer(x, y); if (Math.abs((_local1.x - dir.x)) > 0.001){ dir.x = (dir.x + ((_local1.x - dir.x) * turnRate)); }; if (Math.abs((_local1.y - dir.y)) > 0.001){ dir.y = (dir.y + ((_local1.y - dir.y) * turnRate)); }; dir.x = (dir.x + ((nextDir.x - dir.x) * turnRate)); dir.y = (dir.y + ((nextDir.y - dir.y) * turnRate)); rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); super.update(); } override public function render(_arg1:RenderSurface){ } } }//package game.enemy
Section 51
//Bomb (game.enemy.Bomb) package game.enemy { import dreemchest.*; import game.*; import flash.utils.*; public class Bomb extends Enemy { private var nextDir:Vector; private var lastTime:Number;// = 0 private var accel:Vector; private var target:Vector;// = null private var angle:Number;// = 0 private var delta:Number;// = 2000 private var angleDir:Number;// = 1 protected var range:Number;// = 100 public function Bomb(){ nextDir = new Vector(); accel = new Vector(); super(); gotoAndStop(2); _maxHealth = 20; speed = 25; turnRate = 0.01; drop = (PowerUp.MONEY_50 | PowerUp.MONEY_250); dropMoneyCount = 2; explodeDamage = 20; sound_Explosion = Resources.sound_Bomb; class_Explosion = Resources.class_ExplosionBlastS; } override public function update(){ var _local1:Vector; var _local2:Vector; if ((getTimer() - lastTime) > delta){ angleDir = ((Math.random())<0.5) ? -1 : 1; lastTime = getTimer(); delta = ((Math.random() * 1000) + 2000); }; if (!target){ angle = (angle + (angleDir * 0.01)); dir.x = Math.sin(angle); dir.y = Math.cos(angle); _local1 = GameScreen.instance.getDirToPlayer(x, y); if (Math.abs((_local1.x - dir.x)) > 0.001){ dir.x = (dir.x + ((_local1.x - dir.x) * turnRate)); }; if (Math.abs((_local1.y - dir.y)) > 0.001){ dir.y = (dir.y + ((_local1.y - dir.y) * turnRate)); }; }; if (((!(target)) && ((GameScreen.instance.getDistanceToPlayer(x, y) < range)))){ lockTarget(GameScreen.instance.getPlayerPos()); }; if (target){ _local2 = Vector.direction(x, y, target.x, target.y); if (_local2.dot(dir) < 0){ explode(explodeDamage, range); }; rotation = (rotation + 10); } else { rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); }; super.update(); } private function lockTarget(_arg1:Vector){ GameSound.emitSound(Resources.sound_Detector, 2); speed = 250; target = _arg1; dir.x = (target.x - x); dir.y = (target.y - y); dir.normalize(); } } }//package game.enemy
Section 52
//BombBlue (game.enemy.BombBlue) package game.enemy { import dreemchest.*; import game.*; public class BombBlue extends Bomb { public function BombBlue(){ gotoAndStop(8); range = 150; explodeDamage = 15; } override protected function explode(_arg1:Number, _arg2:Number){ var _local4:Vector; super.explode(_arg1, _arg2); var _local3:int; while (_local3 < 5) { _local4 = new Vector((Math.random() - 0.5), (Math.random() - 0.5)); _local4.normalize(); GameScreen.instance.spawnBullet(x, y, _local4, 0, null, 5, 300, true); _local3++; }; } } }//package game.enemy
Section 53
//BossBlade (game.enemy.BossBlade) package game.enemy { import game.*; public dynamic class BossBlade extends Boss { public function BossBlade(){ addFrameScript(0, frame1); } function frame1(){ setBase(blade, 50); } } }//package game.enemy
Section 54
//BossBrain (game.enemy.BossBrain) package game.enemy { import game.*; public dynamic class BossBrain extends Boss { public function BossBrain(){ addFrameScript(0, frame1); } function frame1(){ setBase(brain, 50); brain.setHealth(2500); } } }//package game.enemy
Section 55
//BossFinal (game.enemy.BossFinal) package game.enemy { import game.*; public dynamic class BossFinal extends Boss { public function BossFinal(){ addFrameScript(0, frame1); } function frame1(){ setBase(final, 0, 100); final.setHealth(2000); top.setHealth(2000); basePart.setHealth(2000); fang0.setHealth(1000); fang1.setHealth(1000); fang2.setHealth(1000); fang3.setHealth(1000); spawner0.setClass("FangLeftMinion"); spawner1.setClass("FangRightMinion"); } } }//package game.enemy
Section 56
//BossShooter (game.enemy.BossShooter) package game.enemy { import game.*; public dynamic class BossShooter extends Boss { public function BossShooter(){ addFrameScript(0, frame1); } function frame1(){ setBase(shooter, 50, 50); } } }//package game.enemy
Section 57
//BossSpider (game.enemy.BossSpider) package game.enemy { import game.*; public class BossSpider extends Boss { public var spider:BossSpiderBase; public var minions:MinionSpawner; public function BossSpider(){ addFrameScript(0, frame1); } function frame1(){ setBase(spider, 50, 150); spider.setHealth(2000); minions.setClass("SpiderMinion"); } } }//package game.enemy
Section 58
//BossStone (game.enemy.BossStone) package game.enemy { import dreemchest.*; import game.*; import flash.events.*; import flash.utils.*; public class BossStone extends Boss { public var closer:BossStonePartB; private var class_Minion:Class;// = null public var stone:BossStoneBase; private var timer:Timer; private var minionTimer:Timer; private var closerDir:Number;// = 0 private var minionsSpawned:int;// = 0 public function BossStone(){ timer = new Timer(10000); minionTimer = new Timer(250); super(); addFrameScript(0, frame1); timer.addEventListener(TimerEvent.TIMER, onTimerHandler); minionTimer.addEventListener(TimerEvent.TIMER, onMinionHandler); timer.start(); isInvuln = true; class_Minion = (getDefinitionByName("game.enemy.Saw") as Class); toggleCloser(); } override public function release(){ super.release(); timer.removeEventListener(TimerEvent.TIMER, onTimerHandler); minionTimer.removeEventListener(TimerEvent.TIMER, onMinionHandler); } private function onOpened(){ timer.delay = 3000; isInvuln = false; minionTimer.start(); GameSound.emitSound(Resources.sound_Moan, 2); } private function onTimerHandler(_arg1:TimerEvent){ toggleCloser(); } private function toggleCloser(){ if (isInvuln){ closerDir = -1; } else { closerDir = 1; }; } override public function update(){ super.update(); closer.x = (closer.x + closerDir); if (closerDir){ if (closer.x <= -53){ closer.x = -53; closerDir = 0; onOpened(); } else { if (closer.x >= -23){ closer.x = -23; closerDir = 0; onClosed(); }; }; }; } private function onClosed(){ isInvuln = !(closer.destroyed); timer.delay = 10000; } private function onMinionHandler(_arg1:TimerEvent){ if (minionsSpawned >= 20){ minionTimer.stop(); minionsSpawned = 0; return; }; GameScreen.instance.spawnEnemyClsAt(class_Minion, (Game.width / 2), -20); minionsSpawned++; } function frame1(){ setBase(stone, 0, 150); closer.setHealth(5500); stone.setHealth(700); } } }//package game.enemy
Section 59
//Cockroach (game.enemy.Cockroach) package game.enemy { public class Cockroach extends Orange { override public function update(){ rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); super.update(); } override public function spawn(_arg1:Number, _arg2:Number){ play(); super.spawn(_arg1, _arg2); } } }//package game.enemy
Section 60
//FangLeftMinion (game.enemy.FangLeftMinion) package game.enemy { public dynamic class FangLeftMinion extends FangMinion { } }//package game.enemy
Section 61
//FangMinion (game.enemy.FangMinion) package game.enemy { public class FangMinion extends Orange { override public function update(){ rotation = (((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI) + 180); super.update(); } override public function spawn(_arg1:Number, _arg2:Number){ play(); super.spawn(_arg1, _arg2); } } }//package game.enemy
Section 62
//FangRightMinion (game.enemy.FangRightMinion) package game.enemy { public dynamic class FangRightMinion extends FangMinion { } }//package game.enemy
Section 63
//Formation (game.enemy.Formation) package game.enemy { import dreemchest.*; import game.*; import flash.geom.*; public class Formation extends Enemy implements IEnemyContainer { private var nextDir:Vector; private var temp:Enemy;// = null protected var rotateTo:Boolean;// = true protected var array:Array; public function Formation(){ array = new Array(); nextDir = new Vector(); super(); gotoAndStop(5); speed = 200; } override public function testCollision(_arg1:Point):Boolean{ var _local2:uint; while (_local2 < array.length) { if (array[_local2].testCollision(_arg1)){ return (true); }; _local2++; }; return (false); } override public function update(){ var _local4:Point; var _local5:Point; var _local1:Vector = GameScreen.instance.getPlayerPos(); var _local2:Vector = new Vector(x, y); _local2.dirTo(_local1.x, _local1.y); _local2.normalize(); if (Math.abs((_local2.x - dir.x)) > 0.001){ dir.x = (dir.x + ((_local2.x - dir.x) * turnRate)); }; if (Math.abs((_local2.y - dir.y)) > 0.001){ dir.y = (dir.y + ((_local2.y - dir.y) * turnRate)); }; if (Math.random() < 0.01){ velocity.y = (Math.random() * 0.5); velocity.x = (Math.random() * 0.5); }; dir.normalize(); if (rotateTo){ rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); }; var _local3:uint; while (_local3 < array.length) { temp.x = array[_local3].userData.offsetX; temp.y = array[_local3].userData.offsetY; _local4 = temp.getGlobalPos(); _local5 = new Point((_local4.x - array[_local3].userData.posX), (_local4.y - array[_local3].userData.posY)); array[_local3].userData.posX = (array[_local3].userData.posX + (_local5.x * array[_local3].userData.friction)); array[_local3].userData.posY = (array[_local3].userData.posY + (_local5.y * array[_local3].userData.friction)); if (userData.overlaped){ array[_local3].x = temp.x; array[_local3].y = temp.y; array[_local3].userData.posX = _local4.x; array[_local3].userData.posY = _local4.y; } else { _local4 = GameScreen.instance.transformTo(array[_local3].userData.posX, array[_local3].userData.posY, this); array[_local3].x = _local4.x; array[_local3].y = _local4.y; }; _local3++; }; if (userData.overlaped){ userData.overlaped = false; }; super.update(); } public function removeEnemy(_arg1:Enemy){ var _local2:uint; while (_local2 < array.length) { if (array[_local2] == _arg1){ removeChild(_arg1); array.splice(_local2, 1); break; }; _local2++; }; if (array.length == 0){ destroy(); }; } protected function addEntry(_arg1:Enemy, _arg2:Number){ _arg1.setFormation(this); addChild(_arg1); var _local3:Point = _arg1.getGlobalPos(); _arg1.userData.offsetX = _arg1.x; _arg1.userData.offsetY = _arg1.y; _arg1.userData.posX = _local3.x; _arg1.userData.posY = _local3.y; _arg1.userData.friction = _arg2; _maxHealth = (_maxHealth + _arg1.maxHealth); array.push(_arg1); } override public function destroy(_arg1:Boolean=true, _arg2:Boolean=true){ var _local3:uint; while (_local3 < array.length) { array[_local3].destroy(_arg1, false); _local3++; }; super.destroy(); } override public function spawn(_arg1:Number, _arg2:Number){ super.spawn(_arg1, _arg2); temp = new Enemy(); temp.visible = false; addChild(temp); } override public function testBulletCollision(_arg1:Bullet):Number{ var _local2:Point = new Point(_arg1.x, _arg1.y); var _local3:uint; while (_local3 < array.length) { if (array[_local3].testCollision(_local2)){ array[_local3].hit(_arg1.damage, true); return (1); }; _local3++; }; return (-1); } } }//package game.enemy
Section 64
//FormationCross (game.enemy.FormationCross) package game.enemy { import game.*; public class FormationCross extends Formation { public function FormationCross(){ speed = 100; rotateTo = false; _maxHealth = 0; } override public function update(){ rotation++; super.update(); } override public function spawn(_arg1:Number, _arg2:Number){ var _local3:Array; var _local5:int; var _local6:Enemy; super.spawn(_arg1, _arg2); _local3 = [0.05, 0.06, 0.07, 0.08, 0.07, 0.06, 0.05]; var _local4:int; _local5 = 0; _local4 = -2; _local5 = 0; while (_local4 <= 2) { _local6 = new FormationB(); _local6.x = ((_local4 * _local6.width) * 1); _local6.y = 0; addEntry(_local6, _local3[_local5]); _local4++; _local5++; }; _local4 = -2; _local5 = 0; while (_local4 <= 2) { if (_local4 == 0){ } else { _local6 = new FormationB(); _local6.x = 0; _local6.y = ((_local4 * _local6.width) * 1); addEntry(_local6, _local3[_local5]); }; _local4++; _local5++; }; } } }//package game.enemy
Section 65
//FormationEntry (game.enemy.FormationEntry) package game.enemy { import game.*; public class FormationEntry extends Enemy { public function FormationEntry(){ gotoAndPlay((Math.floor((Math.random() * totalFrames)) + 1)); } } }//package game.enemy
Section 66
//FormationLine (game.enemy.FormationLine) package game.enemy { import game.*; public class FormationLine extends Formation { public function FormationLine(){ speed = 100; } override public function spawn(_arg1:Number, _arg2:Number){ var _local5:*; var _local6:Enemy; super.spawn(_arg1, _arg2); var _local3:Array = [0.05, 0.06, 0.07, 0.08, 0.07, 0.06, 0.05, 0.05]; var _local4 = -4; _local5 = 0; while (_local4 <= 4) { _local6 = new FormationC(); _local6.x = ((_local4 * _local6.width) * 1); _local6.y = 0; _local6.setMaxHealth(30); addEntry(_local6, _local3[_local5]); _local4++; _local5++; }; } } }//package game.enemy
Section 67
//FormationQuad (game.enemy.FormationQuad) package game.enemy { import game.*; public class FormationQuad extends Formation { public function FormationQuad(){ speed = 100; } override public function spawn(_arg1:Number, _arg2:Number){ var _local3:int; var _local4:int; var _local5:Enemy; super.spawn(_arg1, _arg2); _local3 = -2; while (_local3 <= 2) { _local4 = -2; while (_local4 <= 2) { _local5 = new FormationA(); _local5.rotation = 180; _local5.x = ((_local3 * _local5.width) * 1.5); _local5.y = ((_local4 * _local5.height) * 1.5); addEntry(_local5, 0.08); _local4++; }; _local3++; }; } } }//package game.enemy
Section 68
//FormationWorm (game.enemy.FormationWorm) package game.enemy { import game.*; public class FormationWorm extends Formation { override public function spawn(_arg1:Number, _arg2:Number){ var _local3:Number; var _local5:int; var _local6:Enemy; super.spawn(_arg1, _arg2); _local3 = 0.4; var _local4:Number = 1; _local5 = 0; while (_local5 < 20) { _local6 = new Enemy(); _local6.gotoAndStop(6); _local6.x = 0; _local6.y = (((_local5 * _local6.height) * 0.5) * _local4); _local6.scaleX = _local4; _local6.scaleY = _local4; addEntry(_local6, _local3); _local3 = (_local3 * 0.9); _local4 = (_local4 - 0.02); _local5++; }; } } }//package game.enemy
Section 69
//Orange (game.enemy.Orange) package game.enemy { import dreemchest.*; import game.*; import flash.geom.*; public class Orange extends Enemy { public function Orange(){ gotoAndStop(1); _maxHealth = 5; speed = 125; drop = PowerUp.MONEY_50; dropMoneyCount = 1; explodeRange = 75; explodeDamage = 10; } override public function update(){ var _local1:Vector = GameScreen.instance.getPlayerPos(); var _local2:Vector = new Vector(x, y); _local2.dirTo(_local1.x, _local1.y); _local2.normalize(); if (Math.abs((_local2.x - dir.x)) > 0.001){ dir.x = (dir.x + ((_local2.x - dir.x) * turnRate)); }; if (Math.abs((_local2.y - dir.y)) > 0.001){ dir.y = (dir.y + ((_local2.y - dir.y) * turnRate)); }; if (Math.random() < 0.01){ velocity.y = (Math.random() * 0.5); velocity.x = (Math.random() * 0.5); }; dir.normalize(); super.update(); } override public function render(_arg1:RenderSurface){ matrix.identity(); matrix.translate(x, y); _arg1.bd.copyPixels(Resources.bitmap_Orange, Resources.bitmap_Orange.rect, new Point(x, y), Resources.bitmap_Orange, null, true); } } }//package game.enemy
Section 70
//Saw (game.enemy.Saw) package game.enemy { import game.*; public class Saw extends Orange { public function Saw(){ play(); _maxHealth = 25; drop = PowerUp.MONEY_250; explodeDamage = 10; } } }//package game.enemy
Section 71
//SpiderMinion (game.enemy.SpiderMinion) package game.enemy { public class SpiderMinion extends Orange { override public function update(){ rotation = ((-180 * Math.atan2(-(dir.x), -(dir.y))) / Math.PI); super.update(); } override public function spawn(_arg1:Number, _arg2:Number){ play(); super.spawn(_arg1, _arg2); } } }//package game.enemy
Section 72
//SuperSaw (game.enemy.SuperSaw) package game.enemy { import game.*; public class SuperSaw extends Orange { public function SuperSaw(){ play(); _maxHealth = 60; drop = (PowerUp.MONEY_250 | PowerUp.MONEY_500); maxCrystals = 2; armor = 0.1; explodeDamage = 20; } } }//package game.enemy
Section 73
//Turret (game.enemy.Turret) package game.enemy { import dreemchest.*; import game.*; public class Turret extends Enemy { public function Turret(){ gotoAndStop(4); _maxHealth = 75; speed = 0; drop = ((PowerUp.MONEY_50 | PowerUp.MONEY_250) | PowerUp.MONEY_500); dropMoneyCount = 5; explodeDamage = 50; } override public function update(){ var _local1:Vector = GameScreen.instance.getPlayerPos(); dir.setTo(x, y); dir.dirTo(_local1.x, _local1.y); fire(); super.update(); } private function fire(){ var _local1:Number = 0.005; if (Math.random() < _local1){ shoot(x, y, 0, 10, 200); }; } } }//package game.enemy
Section 74
//LevelBoss (game.levels.LevelBoss) package game.levels { import game.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class LevelBoss extends Level { private var class_Boss:Class;// = null private var timer:Timer; private var boss:String;// = "" public function LevelBoss(_arg1:XML){ timer = new Timer(3000); super(_arg1); boss = _arg1.@boss; } override public function start(){ if (isStarted){ return; }; super.start(); class_Boss = (getDefinitionByName(boss) as Class); timer.addEventListener(TimerEvent.TIMER, onTimerHandler); timer.start(); } override public function onEnemyKilled(_arg1:Enemy){ if ((_arg1 is class_Boss)){ _power = 0; onLevelEnd(); } else { super.onEnemyKilled(_arg1); }; } private function onTimerHandler(_arg1:TimerEvent){ timer.removeEventListener(TimerEvent.TIMER, onTimerHandler); timer.stop(); GameScreen.instance.spawnEnemyCls(class_Boss); } override public function updateHUD(_arg1:MovieClip){ super.updateHUD(_arg1); _arg1.stats.text = ""; } } }//package game.levels
Section 75
//LevelCrystals (game.levels.LevelCrystals) package game.levels { import game.*; import flash.display.*; import flash.geom.*; import game.powerup.*; public class LevelCrystals extends Level { private var left:int;// = 0 private var count:int;// = 0 public function LevelCrystals(_arg1:XML){ super(_arg1); count = _arg1.@count; left = count; } override public function updateHUD(_arg1:MovieClip){ super.updateHUD(_arg1); _arg1.stats.text = (left + " super crystals left to collect"); } override public function start(){ if (isStarted){ return; }; super.start(); left = count; } public function onCrystalPicked(){ if (left == 0){ return; }; left--; if (left == 0){ onLevelEnd(); }; } override public function onEnemyKilled(_arg1:Enemy){ var _local2:Point; super.onEnemyKilled(_arg1); if (Math.random() < 0.1){ _local2 = _arg1.getGlobalPos(); GameScreen.instance.spawnPowerUp(SuperCrystal, _local2.x, _local2.y); }; } } }//package game.levels
Section 76
//LevelHunt (game.levels.LevelHunt) package game.levels { import game.*; import flash.display.*; public class LevelHunt extends Level { private var left:int;// = 0 private var count:int;// = 0 public function LevelHunt(_arg1:XML){ super(_arg1); count = _arg1.@count; left = count; } override public function start(){ if (isStarted){ return; }; super.start(); left = count; } override public function onEnemyKilled(_arg1:Enemy){ super.onEnemyKilled(_arg1); left = Math.max(0, (left - 1)); if (left == 0){ _power = 0; onLevelEnd(); }; } override public function updateHUD(_arg1:MovieClip){ super.updateHUD(_arg1); _arg1.stats.text = (left + " kills left"); } } }//package game.levels
Section 77
//LevelSurvivalMode (game.levels.LevelSurvivalMode) package game.levels { import dreemchest.*; import game.*; import flash.events.*; import flash.display.*; import flash.utils.*; import game.enemy.*; import game.powerup.*; import flash.ui.*; public class LevelSurvivalMode extends Level { private var msecond:int;// = 0 private var level:int;// = 0 private var hud:MovieClip;// = null private var monsters:Array; private var seconds:Timer; public function LevelSurvivalMode(_arg1:XML){ seconds = new Timer(1000); monsters = new Array(); super(_arg1); monsters.push({cls:Orange, prob:1}); monsters.push({cls:Bomb, prob:1}); monsters.push({cls:Cockroach, prob:0.5}); monsters.push({cls:BombBlue, prob:1}); monsters.push({cls:FormationCross, prob:0.1}); monsters.push({cls:Assault, prob:0.1}); monsters.push({cls:Saw, prob:1}); monsters.push({cls:Turret, prob:0.2}); monsters.push({cls:SuperSaw, prob:1}); monsters.push({cls:Battleship, prob:0.75}); levelUp(); } private function onSecondsTimerHandler(_arg1:TimerEvent){ if (hud.clickHere.visible){ return; }; msecond = (msecond + 1000); if (msecond == 60000){ levelUp(); msecond = 0; GameScreen.instance.spawnHPClip(); }; } override public function onEnemyKilled(_arg1:Enemy){ super.onEnemyKilled(_arg1); GameScreen.instance.player.score = (GameScreen.instance.player.score + _arg1.maxHealth); } override public function start(){ if (isStarted){ return; }; super.start(); hud = GameScreen.instance.getHUD(); hud.scoreDialog.addEventListener(ScoreDialog.CLOSED, onCloseScoreDialog); seconds.addEventListener(TimerEvent.TIMER, onSecondsTimerHandler); seconds.start(); } private function levelUp(){ var _local5:Object; var _local6:Enemy; var _local1:AbilityPU; var _local2:Vector = new Vector(200, (Game.height / 2)); var _local3:Vector = new Vector(400, (Game.height / 2)); var _local4:Vector = new Vector(300, (Game.height / 2)); switch (level){ case 1: spawnAbility((UpgradePannel.Explode + 1), _local2); spawnAbility((UpgradePannel.Droid + 1), _local3); break; case 5: spawnAbility((UpgradePannel.Missiles + 1), _local2); spawnAbility((UpgradePannel.SMissiles + 1), _local3); break; case 9: spawnAbility((UpgradePannel.Shield + 1), _local2); spawnAbility((UpgradePannel.Storm + 1), _local3); break; }; if (level < monsters.length){ _local5 = monsters[level]; _local6 = new _local5.cls(); monsterClasses.push({cls:_local5.cls, prob:_local5.prob, power:_local6.maxHealth}); prepareMonsters(); level++; }; _maxPower = Math.min(1500, (_maxPower + 100)); GameScreen.instance.player.maxHealth = (GameScreen.instance.player.maxHealth + 10); GameScreen.instance.player.health = (GameScreen.instance.player.health + 10); } private function spawnAbility(_arg1:int, _arg2:Vector){ var _local3:AbilityPU = (GameScreen.instance.spawnPowerUp(AbilityPU, _arg2.x, _arg2.y) as AbilityPU); _local3.image.gotoAndStop(_arg1); } private function onCloseScoreDialog(_arg1:Event){ hud.scoreDialog.addEventListener(ScoreDialog.CLOSED, onCloseScoreDialog); onLevelEnd(); } override public function updateHUD(_arg1:MovieClip){ _arg1.score.text = ("Score: " + GameScreen.instance.player.score); _arg1.stats.text = ""; _arg1.wave.visible = true; var _local2:Number = (msecond / 60000); _arg1.wave.filler.scaleX = _local2; _arg1.wave.caption.text = (("Next wave in " + ((60000 - msecond) / 1000)) + " seconds"); } override protected function onPlayerKilled(_arg1:Event){ seconds.removeEventListener(TimerEvent.TIMER, onSecondsTimerHandler); seconds.stop(); if (!hud.scoreDialog.visible){ hud.scoreDialog.show(GameScreen.instance.player.score); Mouse.show(); }; } } }//package game.levels
Section 78
//LevelSurvive (game.levels.LevelSurvive) package game.levels { import game.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class LevelSurvive extends Level { private var timer:Timer; private var hud:MovieClip;// = null private var left:int;// = 0 private var count:int;// = 0 public function LevelSurvive(_arg1:XML){ timer = new Timer(1000); super(_arg1); count = _arg1.@count; left = count; } override public function start(){ if (isStarted){ return; }; super.start(); left = count; hud = GameScreen.instance.getHUD(); timer.addEventListener(TimerEvent.TIMER, onTimerHandler); timer.start(); } private function onTimerHandler(_arg1:TimerEvent){ if (hud.clickHere.visible){ return; }; left--; if (left == 0){ _power = 0; timer.stop(); timer.removeEventListener(TimerEvent.TIMER, onTimerHandler); onLevelEnd(); }; } override public function updateHUD(_arg1:MovieClip){ super.updateHUD(_arg1); _arg1.stats.text = (left + " seconds left"); } } }//package game.levels
Section 79
//AbilityPU (game.powerup.AbilityPU) package game.powerup { import game.*; import flash.display.*; import game.abilities.*; public class AbilityPU extends PowerUp { public var image:MovieClip; public function AbilityPU(){ image.gotoAndStop((Math.round((Math.random() * image.totalFrames)) + 1)); } override protected function onPicked(){ var _local1 = -1; var _local2:Class; switch ((image.currentFrame - 1)){ case UpgradePannel.Explode: _local1 = Ability.Explode; _local2 = Explode; break; case UpgradePannel.Droid: _local1 = Ability.Droid; _local2 = TurretAbility; break; case UpgradePannel.Missiles: _local1 = Ability.Missiles; _local2 = Missiles; break; case UpgradePannel.SMissiles: _local1 = Ability.SMissiles; _local2 = SeekingMissiles; break; case UpgradePannel.Shield: _local1 = Ability.Shield; _local2 = Shield; break; case UpgradePannel.Storm: _local1 = Ability.MissileStorm; _local2 = MissileStorm; break; case 9: _local1 = 9; _local2 = DoubleMinigun; break; case 7: _local1 = 7; _local2 = DoubleMinigun; break; case 12: _local1 = 12; _local2 = Regen; break; case 11: _local1 = 11; _local2 = null; break; }; GameScreen.instance.player.onPickedAbility(_local1, _local2); super.onPicked(); } } }//package game.powerup
Section 80
//Crystal (game.powerup.Crystal) package game.powerup { import dreemchest.*; import game.*; public class Crystal extends PowerUp { override protected function onPicked(){ GameSound.emitSound(Resources.sound_Pick[Math.floor((Math.random() * Resources.sound_Pick.length))], 2); GameScreen.instance.player.onPickedCrystal(); super.onPicked(); } } }//package game.powerup
Section 81
//EnergyCell (game.powerup.EnergyCell) package game.powerup { import dreemchest.*; import game.*; public class EnergyCell extends PowerUp { override protected function onPicked(){ GameSound.emitSound(Resources.sound_Pick[Math.floor((Math.random() * Resources.sound_Pick.length))], 2); GameScreen.instance.player.onPickedEnergyCell(); super.onPicked(); } } }//package game.powerup
Section 82
//Money (game.powerup.Money) package game.powerup { import dreemchest.*; import game.*; public class Money extends PowerUp { public function Money(){ gotoAndStop(1); } override protected function onPicked(){ GameSound.emitSound(Resources.sound_Pick[Math.floor((Math.random() * Resources.sound_Pick.length))], 2); switch (currentFrame){ case 1: GameScreen.instance.player.updateMoney(20); break; case 2: GameScreen.instance.player.updateMoney(100); break; case 3: GameScreen.instance.player.updateMoney(500); break; case 4: GameScreen.instance.player.updateMoney(1000); break; case 5: GameScreen.instance.player.updateMoney(2000); break; case 6: GameScreen.instance.player.updateMoney(5000); break; }; super.onPicked(); } } }//package game.powerup
Section 83
//SuperCrystal (game.powerup.SuperCrystal) package game.powerup { import dreemchest.*; import game.*; import game.levels.*; public class SuperCrystal extends PowerUp { override protected function onPicked(){ GameSound.emitSound(Resources.sound_Pick[Math.floor((Math.random() * Resources.sound_Pick.length))], 2); GameScreen.instance.player.onPickedCrystal(); (level as LevelCrystals).onCrystalPicked(); super.onPicked(); } } }//package game.powerup
Section 84
//Ability (game.Ability) package game { public class Ability { protected var player:Player;// = null protected var _level:String;// = "" private var cooldown:Number;// = 0 protected var _cost:Number;// = 45 protected var maxCooldown:Number;// = 2 private var isReady:Boolean;// = false public static const SMissiles:int = 6; public static const Explode:int = 3; public static const MissileStorm:int = 7; public static const RegenE:int = 11; public static const Shield:int = 8; public static const RampageX32:int = 2; public static const Droid:int = 4; public static const Regen:int = 10; public static const Total:int = 12; public static const RampageX4:int = 0; public static const RampageX8:int = 1; public static const Missiles:int = 5; public static const Weapon:int = 9; public function Ability(_arg1:Player){ player = _arg1; } public function upgrade(){ _level = ((_level as int) + 1).toString(); } public function get level():String{ return (_level); } public function release(){ } public function update(_arg1:Number, _arg2:Number, _arg3:Number){ if (cooldown > 0){ cooldown = (cooldown - _arg3); cooldown = Math.max(cooldown, 0); }; } public function get cost():Number{ return (_cost); } public function activate(_arg1:Number, _arg2:Number){ cooldown = maxCooldown; player.energy = (player.energy - cost); } public function setPlayer(_arg1:Player){ player = _arg1; } public function get cooldownPcnt():Number{ return ((cooldown / maxCooldown)); } public function isAvailable():Boolean{ return ((((cooldown == 0)) && ((cost <= player.energy)))); } } }//package game
Section 85
//AsteroidBackground (game.AsteroidBackground) package game { import flash.display.*; public class AsteroidBackground extends MovieClip { private var background2:MovieClip;// = null private var background3:MovieClip;// = null private var background4:MovieClip;// = null public function AsteroidBackground(){ var _local2:MovieClip; super(); background4 = new MovieClip(); addChild(background4); background3 = new MovieClip(); addChild(background3); background2 = new MovieClip(); addChild(background2); GameScreen.applyBrightnessFilter(background4, 1, 1, 1, 0.5); GameScreen.applyBrightnessFilter(background3, 1, 1, 1, 0.6); GameScreen.applyBrightnessFilter(background2, 1, 1, 1, 0.7); var _local1:int; _local1 = 0; while (_local1 < 2) { _local2 = new Asteroid(); _local2.x = (Math.random() * 700); _local2.y = (Math.random() * 525); background2.addChild(_local2); _local2.image.gotoAndStop(3); _local1++; }; _local1 = 0; while (_local1 < 2) { _local2 = new Asteroid(); _local2.x = (Math.random() * 700); _local2.y = (Math.random() * 525); background3.addChild(_local2); _local2.image.gotoAndStop(2); _local1++; }; _local1 = 0; while (_local1 < 2) { _local2 = new Asteroid(); _local2.x = (Math.random() * 700); _local2.y = (Math.random() * 525); background4.addChild(_local2); _local2.image.gotoAndStop(1); _local1++; }; } public function scroll(_arg1:Number, _arg2:Number){ background2.x = (_arg1 * 0.5); background2.y = (_arg2 * 0.5); background3.x = (_arg1 * 0.25); background3.y = (_arg2 * 0.25); background4.x = (_arg1 * 0.125); background4.y = (_arg2 * 0.125); } } }//package game
Section 86
//Boss (game.Boss) package game { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import game.boss.*; public class Boss extends Enemy { public var fang0:BossFinalFangLeft; public var final:BossFinalBase; public var spawner1:MinionSpawner; public var shooter:BossShooterBase; public var fang2:BossFinalFangLeft; private var base:BossBase;// = null private var time:Number;// = 0 public var top:BossFinalTop; private var explosions:int;// = -1 public var spawner0:MinionSpawner; private var lastExplTime:int;// = 0 private var yPos:Number;// = 250 private var _isInvuln:Boolean;// = false public var blade:BossBladeBase; public var basePart:BossFinalBasePart; public var rampage2:RampageShooter; private var isMoving:Boolean;// = false public var rampage1:RampageShooter; public var brain:BrainBase; public var fang1:BossFinalFangRight; public var fang3:BossFinalFangRight; public function Boss(){ _health = 500; _maxHealth = 500; speed = 50; randomDir = false; class_Explosion = Resources.class_ExplosionBlastS; } override public function testBulletCollision(_arg1:Bullet):Number{ var _local5:DisplayObject; var _local6:BossPart; var _local2:Point = new Point(_arg1.x, _arg1.y); var _local3:Boolean; var _local4:int; while (_local4 < numChildren) { _local5 = getChildAt(_local4); if ((_local5 is BossPart)){ _local6 = (_local5 as BossPart); if (_local6.checkCollision(_local2)){ if (!isInvuln){ _local6.hit(_arg1); }; return (1); } else { _local3 = ((_local3) && (((_local6.destroyed) || (_local6.isVulnerable)))); }; }; _local4++; }; if (_local3){ if (base.checkCollision(_local2)){ if (!isInvuln){ base.hit(_arg1); }; return (1); }; }; return (-1); } public function setBase(_arg1:BossBase, _arg2:Number, _arg3:Number=250){ base = _arg1; speed = _arg2; yPos = _arg3; base.addEventListener(BossBase.DESTROYED, onBaseDestroyed); } public function get isInvuln():Boolean{ return (_isInvuln); } public function set isInvuln(_arg1:Boolean){ return ((_isInvuln = _arg1)); } override public function update(){ var _local3:DisplayObject; y = ((Math.sin(time) * 50) + yPos); time = (time + 0.005); var _local1:int = getTimer(); var _local2:int; while (_local2 < numChildren) { _local3 = getChildAt(_local2); if ((_local3 is BossPart)){ (_local3 as BossPart).update(_local1); }; _local2++; }; if (((((((_local1 - lastExplTime) > 150)) && ((explosions >= 0)))) && ((explosions < 20)))){ spawnExplosion(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 100)) - 50)); GameScreen.instance.setShake(0.5); explosions++; lastExplTime = _local1; if (explosions >= 20){ GameScreen.instance.setShake(2.5); destroy(); }; }; super.update(); } private function onBaseDestroyed(_arg1:Event){ GameScreen.instance.setShake(5); explosions = 0; GameScreen.instance.player.setInv(true); } override public function onPlayerCollision(_arg1:Player){ } override public function spawn(_arg1:Number, _arg2:Number){ _arg2 = 50; _arg1 = 400; super.spawn(_arg1, _arg2); dir.x = -1.5; dir.y = 0; } } }//package game
Section 87
//Bullet (game.Bullet) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import flash.geom.*; public class Bullet extends MovieClip { protected var hitsPlayer:Boolean;// = false protected var hitFx:Class;// = null protected var speed:Number;// = 500 private var node:ListNode;// = null private var _sector:int;// = -1 protected var _damage:Number;// = 8 protected var position:Vector; protected var type:int;// = 0 protected var direction:Vector; public static const Green:int = 2; public static const Red:int = 10; public static const Blue:int = 9; public static const SMissile:int = 8; public static const Rampage:int = 7; private static var matrix:Matrix = new Matrix(); public static var bullets:int = 0; public function Bullet(){ position = new Vector(); direction = new Vector(); super(); } protected function update(){ var _local1:Number; if (Game.isPaused){ return; }; position.x = (position.x + (((direction.x * speed) * FPSCounter.k_FrameTime) * Game.speed)); position.y = (position.y + (((direction.y * speed) * FPSCounter.k_FrameTime) * Game.speed)); x = position.x; y = position.y; rotation = ((-180 * Math.atan2(-(direction.x), -(direction.y))) / Math.PI); _sector = (Math.floor((x / 70)) * Math.floor((y / 70))); if (!hitsPlayer){ _local1 = GameScreen.instance.testEnemyBulletCollision(this); if (_local1 >= 0){ if (hitFx){ GameScreen.instance.spawnFx(hitFx, ((x + (Math.random() * 10)) - 5), ((y + (Math.random() * 10)) - 5), true); }; destroy(); }; } else { if (GameScreen.instance.testPlayerCollision(new Point(x, y), 15)){ GameScreen.instance.player.hit(_damage); destroy(); }; }; if ((((((((x < -50)) || ((x > (Game.width * 1.25))))) || ((y < -50)))) || ((y > (Game.height * 1.25))))){ destroy(); }; } public function release(){ if (parent){ parent.removeChild(this); }; removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } public function get sector():int{ return (_sector); } protected function destroy(){ release(); if (((node) && (node.list))){ node.list.remove(node); }; } public function get damage():Number{ return (_damage); } private function onEnterFrameHandler(_arg1:Event){ if (visible){ update(); }; } public function spawn(_arg1:ListNode, _arg2:Number, _arg3:Number, _arg4:Vector, _arg5:int, _arg6:Class, _arg7:Number, _arg8:Number, _arg9:Boolean){ node = _arg1; x = _arg2; y = _arg3; position.x = x; position.y = y; direction.x = _arg4.x; direction.y = _arg4.y; type = _arg5; _damage = _arg7; hitsPlayer = _arg9; hitFx = _arg6; speed = _arg8; visible = true; direction.normalize(); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); if (type > 0){ gotoAndStop(type); }; bullets++; } } }//package game
Section 88
//BulletSeekingMissile (game.BulletSeekingMissile) package game { import flash.utils.*; public class BulletSeekingMissile extends Bullet { private var angleDir:Number;// = 1 private var lastTime:Number;// = 0 private var delta:Number;// = 0 private var angle:Number;// = 0 public function BulletSeekingMissile(){ gotoAndStop(8); angle = (Math.random() * 360); } override protected function update(){ if ((getTimer() - lastTime) > delta){ angleDir = ((Math.random())<0.5) ? -1 : 1; lastTime = getTimer(); delta = ((Math.random() * 50) + 50); }; direction.x = Math.sin(angle); direction.y = Math.cos(angle); angle = (angle + (angleDir * 0.1)); super.update(); } } }//package game
Section 89
//Debris (game.Debris) package game { import dreemchest.*; import flash.media.*; import flash.events.*; import flash.display.*; public class Debris extends MovieClip { private var fade:Number;// = 1 private var direction:Vector; private var speed:Number;// = 0 private var explodes:Boolean;// = false private var life:Number;// = 0 public static var totalDebris:int = 0; public function Debris(){ direction = new Vector(); super(); } private function onEnterFrameHandler(_arg1:Event){ var _local2:Sound; if (Game.isPaused){ return; }; x = (x + (direction.x * speed)); y = (y + (direction.y * speed)); speed = Math.max(0.1, (speed - (fade * 2))); if (!explodes){ scaleX = (scaleX - fade); scaleY = (scaleY - fade); }; life = (life - fade); fade = (fade + 0.0005); if (((explodes) && ((life <= 0)))){ Game.instance.gameScreen.spawnFx(Resources.class_MinigunHit, x, y); Game.instance.gameScreen.spawnDebris(Resources.class_DebrisMedium, x, y, 5, false); _local2 = new SoundExplosion(); _local2.play(); }; if ((((((scaleX <= 0)) || ((scaleY <= 0)))) || ((life <= 0)))){ removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); parent.removeChild(this); totalDebris--; }; } public function spawn(_arg1:Number, _arg2:Number, _arg3:Boolean=false){ addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); x = _arg1; y = _arg2; speed = ((Math.random() * 1) + 1); fade = ((Math.random() * 0.01) + 0.005); life = 1; direction.x = (Math.random() - 0.5); direction.y = (Math.random() - 0.5); direction.normalize(); gotoAndStop((Math.floor((Math.random() * totalFrames)) + 1)); totalDebris++; } } }//package game
Section 90
//Enemy (game.Enemy) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import flash.utils.*; import game.enemy.*; import flash.geom.*; import game.powerup.*; public class Enemy extends MovieClip { protected var maxCrystals:int;// = 1 protected var _health:Number;// = 5 protected var dropMoneyCount:int;// = 0 protected var dir:Vector; protected var isDestroyed:Boolean;// = false private var _sectors:Array; protected var explodeDamage:Number;// = 5 protected var formation:Formation;// = null protected var type:int;// = 0 protected var sound_Explosion:Class;// = null protected var armor:Number;// = 0 protected var speed:Number;// = 200 protected var randomDir:Boolean;// = true protected var lockTimer:Timer; protected var explodeRange:Number;// = 0 protected var velocity:Vector; protected var _maxHealth:Number;// = 5 protected var class_Explosion:Class;// = null protected var drop:int;// = 0 protected var _userData:Object; protected var turnRate:Number;// = 0.01 protected static var matrix:Matrix = new Matrix(); public function Enemy(){ lockTimer = new Timer(1000); dir = new Vector(); velocity = new Vector(); _userData = new Object(); _sectors = new Array(); super(); _sectors.push(-1); _sectors.push(-1); _sectors.push(-1); _sectors.push(-1); sound_Explosion = Resources.sound_Explosion; class_Explosion = Resources.class_Explosion; } public function release(){ removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); lockTimer.removeEventListener(TimerEvent.TIMER, onTimerHandler); lockTimer = null; } public function setFormation(_arg1:Formation){ formation = _arg1; } public function destroy(_arg1:Boolean=true, _arg2:Boolean=true){ if (isDestroyed){ return; }; dropItems(); var _local3:Point = getGlobalPos(); spawnExplosion(_local3.x, _local3.y, 1, 0); GameScreen.instance.spawnDebris(Resources.class_DebrisMedium, _local3.x, _local3.y, 25); if (_arg1){ if (!(parent is Formation)){ GameScreen.instance.setShake(1.5); } else { GameScreen.instance.setShake(0.5); }; }; (parent as IEnemyContainer).removeEnemy(this); if (parent){ parent.removeChild(this); }; if (((formation) && (_arg2))){ formation.removeEnemy(this); }; release(); isDestroyed = true; } public function hit(_arg1:Number, _arg2:Boolean){ health = (health - _arg1); if (health <= 0){ destroy(_arg2); } else { GameSound.emitSound(Resources.sound_Hit[Math.floor((Math.random() * Resources.sound_Hit.length))], 1); }; } public function render(_arg1:RenderSurface){ } private function onEnterFrameHandler(_arg1:Event){ update(); } public function getGlobalPos():Point{ var _local1:Point = new Point(x, y); _local1 = parent.localToGlobal(_local1); _local1 = GameScreen.instance.background.globalToLocal(_local1); return (_local1); } protected function shoot(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:Vector = GameScreen.instance.getPlayerPos(); var _local7:Vector = new Vector(_arg1, _arg2); _local7.dirTo(_local6.x, _local6.y); GameScreen.instance.spawnBullet(_arg1, _arg2, _local7, _arg3, null, _arg4, _arg5, true); } private function dropItems(){ var _local2:int; var _local3:PowerUp; var _local1:Point = getGlobalPos(); if (Math.random() < 0.35){ GameScreen.instance.spawnPowerUp(EnergyCell, _local1.x, _local1.y); }; if (Math.random() < 0.1){ _local2 = 0; while (_local2 < maxCrystals) { GameScreen.instance.spawnPowerUp(Crystal, _local1.x, _local1.y); _local2++; }; }; _local2 = 0; while (_local2 < dropMoneyCount) { if (Math.random() < 0.5){ _local3 = GameScreen.instance.spawnPowerUp(Money, _local1.x, _local1.y); switch (Math.floor((Math.random() * 6))){ case 0: if ((drop & PowerUp.MONEY_50)){ _local3.gotoAndStop(1); }; break; case 1: if ((drop & PowerUp.MONEY_250)){ _local3.gotoAndStop(2); }; break; case 2: if ((drop & PowerUp.MONEY_500)){ _local3.gotoAndStop(3); }; break; case 3: if ((drop & PowerUp.MONEY_1000)){ _local3.gotoAndStop(4); }; break; case 4: if ((drop & PowerUp.MONEY_2000)){ _local3.gotoAndStop(5); }; break; case 5: if ((drop & PowerUp.MONEY_5000)){ _local3.gotoAndStop(6); }; break; }; }; _local2++; }; } public function get userData():Object{ return (_userData); } public function setMaxHealth(_arg1:Number){ _maxHealth = _arg1; } public function set userData(_arg1:Object){ _userData = _arg1; } public function set health(_arg1:Number){ _health = _arg1; } public function testCollision(_arg1:Point):Boolean{ if (getRect(GameScreen.instance.background).containsPoint(_arg1)){ return (true); }; return (false); } private function onTimerHandler(_arg1:TimerEvent){ turnRate = 0.05; } public function update(){ var _local3:Number; if (Game.isPaused){ return; }; if (randomDir){ if (Math.random() < 0.005){ velocity.y = (Math.random() * 0.5); velocity.x = (Math.random() * 0.5); }; }; if (((explodeRange) && (!(GameScreen.instance.player.isKilled)))){ _local3 = GameScreen.instance.getDistanceToPlayer(x, y); if (_local3 < (explodeRange * 0.5)){ explode(explodeDamage, explodeRange); }; }; x = (x + ((((dir.x + velocity.x) * speed) * FPSCounter.k_FrameTime) * Game.speed)); y = (y + ((((dir.y + velocity.y) * speed) * FPSCounter.k_FrameTime) * Game.speed)); _sectors[0] = (Math.floor(((x - (width * 0.5)) / 70)) * Math.floor(((y - (height * 0.5)) / 70))); _sectors[1] = (Math.floor(((x + (width * 0.5)) / 70)) * Math.floor(((y - (height * 0.5)) / 70))); _sectors[2] = (Math.floor(((x + (width * 0.5)) / 70)) * Math.floor(((y + (height * 0.5)) / 70))); _sectors[3] = (Math.floor(((x - (width * 0.5)) / 70)) * Math.floor(((y + (height * 0.5)) / 70))); var _local1:Number = 800; var _local2:Number = 600; if (x < (-10 - width)){ x = _local1; _userData.overlaped = true; } else { if (x > (_local1 + width)){ x = 0; _userData.overlaped = true; }; }; if (y < (-10 - height)){ y = _local2; _userData.overlaped = true; } else { if (y > (_local2 + height)){ y = 0; _userData.overlaped = true; }; }; } public function get sectors():Array{ return (_sectors); } public function testBulletCollision(_arg1:Bullet):Number{ if (testCollision(new Point(_arg1.x, _arg1.y))){ hit(_arg1.damage, true); return (1); }; return (-1); } public function get maxHealth():Number{ return (_maxHealth); } protected function spawnExplosion(_arg1:Number, _arg2:Number, _arg3:Number=5, _arg4:Number=20){ var _local5:uint; while (_local5 < _arg3) { GameScreen.instance.spawnFx(class_Explosion, ((_arg1 + (Math.random() * _arg4)) - (_arg4 * 0.5)), ((_arg2 + (Math.random() * _arg4)) - (_arg4 * 0.5))); _local5++; }; GameSound.emitSound(sound_Explosion); } public function get health():Number{ return (_health); } protected function explode(_arg1:Number, _arg2:Number){ hit(maxHealth, false); var _local3:Number = GameScreen.instance.getDistanceToPlayer(x, y); if (_local3 < _arg2){ GameScreen.instance.player.hit((_arg1 * (1 - (_local3 / _arg2)))); }; } public function onPlayerCollision(_arg1:Player){ destroy(); _arg1.hit((Math.random() * maxHealth)); } public function spawn(_arg1:Number, _arg2:Number){ x = _arg1; y = _arg2; _health = _maxHealth; addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); lockTimer.addEventListener(TimerEvent.TIMER, onTimerHandler); lockTimer.start(); dir.x = (Math.random() - 0.5); dir.y = (Math.random() - 0.5); dir.normalize(); } } }//package game
Section 91
//EnemyContainer (game.EnemyContainer) package game { import flash.display.*; public class EnemyContainer extends MovieClip implements IEnemyContainer { public function removeEnemy(_arg1:Enemy){ GameScreen.instance.onEnemyKilled(_arg1); } } }//package game
Section 92
//FX (game.FX) package game { import flash.events.*; import flash.display.*; public class FX extends MovieClip { public static var ActiveFXCount:int = 0; public function FX(){ addEventListener(Event.ADDED_TO_STAGE, onFXAdded); addEventListener(Event.REMOVED_FROM_STAGE, onFXRemoved); } private function onFXRemoved(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, onFXAdded); removeEventListener(Event.REMOVED_FROM_STAGE, onFXRemoved); ActiveFXCount--; } private function onFXAdded(_arg1:Event){ ActiveFXCount++; } } }//package game
Section 93
//Game (game.Game) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import mochi.as3.*; import SWFStats.*; import game.levels.*; public class Game extends Engine { public var config:Config; public var backFade:Number;// = 0 public var ambience:GameSound;// = null public var globalBack:MovieClip; public var menuScreen:MenuScreen;// = null public var levelScreen:LevelScreen;// = null public var save:SaveData; public var gameScreen:GameScreen;// = null public static const width:uint = 700; public static const height:uint = 525; public static const speed:Number = 0.75; public static var instance:Game = null; public function Game(){ save = new SaveData(); config = new Config(); super(); addFrameScript(0, frame1, 1, frame2, 40, frame41); instance = this; var _local1:Level = new LevelHunt(new XML()); var _local2:Level = new LevelSurvive(new XML()); var _local3:Level = new LevelBoss(new XML()); } function frame2(){ gotoAndPlay("Game"); } private function onEnterFrameHandler(_arg1:Event){ globalBack.caption.alpha = (globalBack.caption.alpha + ((backFade - globalBack.caption.alpha) * 0.1)); } function frame1(){ MochiBot.track(this, "e2e6aadf"); MochiServices.connect("408cf7957b3f4c49", root); Preloader.put(this); } function frame41(){ stop(); loadResources(); } public function startGame(){ Input.initialize(stage); config.loadEmbedded(Resources.config); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); globalBack.caption.alpha = 0; Log.View(1047, "e565ce270a06", root.loaderInfo.loaderURL); ambience = new GameSound(new Resources.sound_Ambience()); ambience.play(true); gameScreen = new GameScreen(); menuScreen = new MenuScreen(); levelScreen = new LevelScreen(); save.load(); menuScreen.initialize(); enterState(menuScreen); } public function loadResources(){ Resources.initialize(); } public static function showScore(_arg1:String="", _arg2:Number=0, _arg3:Function=null){ var name = _arg1; var value = _arg2; var onClose = _arg3; var o:Object = {n:[3, 1, 3, 14, 7, 14, 7, 6, 15, 9, 1, 5, 14, 12, 12, 3], f:function (_arg1:Number, _arg2:String):String{ if (_arg2.length == 16){ return (_arg2); }; return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16)))); }}; var boardID:String = o.f(0, ""); if (onClose == null){ onClose = function (){ }; }; if (value != 0){ MochiScores.showLeaderboard({name:name, boardID:boardID, onClose:onClose, score:value, res:"700x525"}); } else { MochiScores.showLeaderboard({name:name, boardID:boardID, onClose:onClose, res:"700x525"}); }; } public static function get isPaused():Boolean{ return (GameScreen.instance.isPaused); } } }//package game
Section 94
//GameScreen (game.GameScreen) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import flash.utils.*; import game.enemy.*; import flash.geom.*; import SWFStats.*; import game.levels.*; import flash.ui.*; import flash.filters.*; public class GameScreen extends GameState { public var _player:Player;// = null public var level:Level;// = null private var shakeAmount:Number;// = 0 private var shake:Vector; private var rampage16X:Boolean;// = true private var rampage4X:Boolean;// = true public var asteroids:AsteroidBackground;// = null private var rampage32X:Boolean;// = true private var volume:Number;// = 1 private var enemies:Array; private var checked:int;// = 0 private var powerups:List; public var background:MovieClip;// = null private var bullets:List; public var surface:RenderSurface;// = null private var total:int;// = 0 private var theme:GameSound;// = null private var scroll:Vector; private var nextShake:Vector; private var temp:MovieClip; private var qualitySet:Array; private var hud:MovieClip;// = null private var isOverHUD:Boolean;// = false private var fade:FadeToBlack;// = null private var quality:int;// = 2 public static var instance:GameScreen = null; private static var isMusicOn:Boolean = true; public static var maxBullets:int = 0; public static var maxDebris:int = 250; public function GameScreen(){ enemies = new Array(); scroll = new Vector(); shake = new Vector(); nextShake = new Vector(); qualitySet = new Array(); temp = new MovieClip(); bullets = new List(); powerups = new List(); super(); instance = this; } private function resetScroll(){ scroll.x = 0; scroll.y = 0; background.x = 0; background.y = 0; shake.x = 0; shake.y = 0; nextShake.x = 0; nextShake.y = 0; shakeAmount = 0; } public function transformTo(_arg1:Number, _arg2:Number, _arg3:MovieClip):Point{ var _local4:Point = new Point(_arg1, _arg2); _local4 = background.localToGlobal(_local4); _local4 = _arg3.globalToLocal(_local4); return (_local4); } public function get isPaused():Boolean{ return (((!(isActive)) || (hud.clickHere.visible))); } public function spawnBulletCls(_arg1:Number, _arg2:Number, _arg3:Vector, _arg4:Class, _arg5:Class, _arg6:Number, _arg7:Number, _arg8:Boolean):Bullet{ var _local9:Bullet = new (_arg4); _local9.spawn(bullets.insert(_local9), _arg1, _arg2, _arg3, -1, _arg5, _arg6, _arg7, _arg8); background.addChild(_local9); return (_local9); } private function getTotalMonstersAlive():int{ var _local1:int; var _local2:int; while (_local2 < enemies.length) { if ((enemies[_local2] is Bomb)){ } else { _local1++; }; _local2++; }; return (_local1); } public function initialize(){ if (_isInitialized){ return; }; qualitySet.push({debris:5, fx:15, bullets:100, powerup:10, asteroids:false, monsters:12}); qualitySet.push({debris:100, fx:25, bullets:200, powerup:20, asteroids:true, monsters:30}); qualitySet.push({debris:250, fx:75, bullets:1000, powerup:100, asteroids:true, monsters:200}); addChild(new Bitmap(new BitmapSpace(0, 0))); asteroids = new AsteroidBackground(); addChild(asteroids); background = new EnemyContainer(); addChild(background); var grid:MovieClip = new Grid(); grid.cacheAsBitmap = true; background.addChild(grid); _player = new Player(); player.addEventListener(Player.HIT, function (_arg1:Event){ hud.hit.alpha = 0.75; }); addChild(player); hud = new HUD(); hud.hit.alpha = 0; hud.rampage.alpha = 0; hud.clickHere.button.addEventListener(MouseEvent.CLICK, onClickHereClicked); hud.clickHere.menu.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ theme.volume = 0; if ((level is LevelSurvivalMode)){ Game.instance.enterState(Game.instance.menuScreen); } else { Game.instance.enterState(Game.instance.levelScreen); }; }); addChild(hud); fade = new FadeToBlack(); fade.addEventListener(FadeToBlack.FADED, onFadeHandler); addChild(fade); var fps:FPSCounter = new FPSCounter(); addChild(fps); theme = new GameSound(new Resources.sound_Theme()); theme.play(true); theme.volume = 0; theme.isPaused = false; scroll.x = background.x; scroll.y = background.y; _isInitialized = true; var e0:Enemy = new Orange(); var e1:Enemy = new Blind(); var e2:Enemy = new Assault(); var e3:Enemy = new Formation(); var e4:Enemy = new FormationWorm(); var e5:Enemy = new FormationLine(); var e6:Enemy = new FormationQuad(); var e7:Enemy = new FormationCross(); var e8:Enemy = new Battleship(); var e9:Enemy = new Turret(); var e10:Enemy = new Cockroach(); var e11:Enemy = new BossBlade(); var e12:Enemy = new Bomb(); var e13:Enemy = new BombBlue(); var e14:Enemy = new Saw(); var e15:Enemy = new BossSpider(); var e16:Enemy = new BossStone(); var e17:Enemy = new BossFinal(); } public function spawnDebris(_arg1:Class, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Boolean=true){ var _local7:Debris; var _local6:int; while (_local6 < _arg4) { if (Debris.totalDebris >= qualitySet[quality].debris){ return; }; _local7 = new (_arg1); _local7.spawn(_arg2, _arg3, _arg5); background.addChild(_local7); _local6++; }; } public function spawnEnemyCls(_arg1:Class):Enemy{ var _local2:Enemy = new (_arg1); background.addChild(_local2); enemies.push(_local2); var _local3:Number = (Math.random() * Game.width); var _local4:Number = (Math.random() * Game.height); var _local5:Vector = getPlayerPos(); var _local6:* = (_local3 - _local5.x); var _local7:* = (_local4 - _local5.y); var _local8:* = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); _local6 = (_local6 / _local8); _local7 = (_local7 / _local8); if (_local8 < 200){ _local3 = (_local3 + (_local6 * 200)); _local4 = (_local4 + (_local7 * 200)); }; _local2.spawn(_local3, _local4); return (_local2); } private function spawnRampage(_arg1:String){ var _local2:MovieClip = new RampageClip(); _local2.x = getPlayerPos().x; _local2.y = getPlayerPos().y; _local2.caption.text = _arg1; background.addChild(_local2); hud.rampage.alpha = 0.75; } private function onLevelEnd(_arg1:Event){ if (fade.isFading){ return; }; var _local2:SaveData = Game.instance.save; fade.fade(0.01); if (!(level is LevelSurvivalMode)){ Log.LevelCounterMetric("LevelFinished", (level.id + 1)); _local2.score = (_local2.score + player.score); _local2.money = (_local2.money + player.money); _local2.crystals = (_local2.crystals + player.crystals); player.setInv(true); if (!player.isKilled){ Log.LevelCounterMetric("Win", (level.id + 1)); if (level.id == _local2.levelIndex){ _local2.levelIndex++; }; } else { trace("Failed"); Log.LevelCounterMetric("Failed", (level.id + 1)); }; }; _local2.save(); volume = 0; } public function spawnEnemyClsAt(_arg1:Class, _arg2:Number, _arg3:Number):Enemy{ var _local4:Enemy = new (_arg1); background.addChild(_local4); enemies.push(_local4); _local4.spawn(_arg2, _arg3); return (_local4); } override protected function onEnter(){ theme.isPaused = false; volume = (isMusicOn) ? 1 : 0; quality = Game.instance.save.quality; Game.instance.globalBack.visible = false; Game.instance.ambience.volume = 0; } public function getDirToPlayer(_arg1:Number, _arg2:Number):Vector{ var _local3:Vector = getPlayerPos(); var _local4:Vector = new Vector(_arg1, _arg2); _local4.dirTo(_local3.x, _local3.y); _local4.normalize(); return (_local4); } private function destroyPowerups(){ trace("Destroying powerups"); var _local1:ListNode = powerups.begin; while (_local1 != powerups.end) { (_local1.data as PowerUp).release(); _local1 = powerups.remove(_local1); }; } public function get totalMonsters():int{ return (enemies.length); } public function spawnPowerUp(_arg1:Class, _arg2:Number, _arg3:Number):PowerUp{ var _local4:PowerUp = new (_arg1); _local4.spawn(powerups.insert(_local4), level, _arg2, _arg3); background.addChild(_local4); return (_local4); } public function getHUD():MovieClip{ return (hud); } public function startLevel(_arg1:Level){ if (level){ level.removeEventListener(Level.END, onLevelEnd); }; destroyEnemies(); player.reset(((_arg1 is LevelSurvivalMode)) ? null : Game.instance.save); player.visible = false; hud.clickHere.visible = true; level = _arg1; level.addEventListener(Level.END, onLevelEnd); Log.Play(); } public function testEnemyCollision(_arg1:Point):Enemy{ var _local2:Enemy; for each (_local2 in enemies) { if (_local2.testCollision(_arg1)){ return (_local2); }; }; return (null); } public function spawnFx(_arg1:Class, _arg2:Number, _arg3:Number, _arg4:Boolean=false){ if (FX.ActiveFXCount >= qualitySet[quality].fx){ return; }; var _local5:MovieClip = new (_arg1); _local5.x = _arg2; _local5.y = _arg3; if (_arg4){ _local5.rotation = (Math.random() * 360); }; background.addChild(_local5); } public function getDistanceToPlayer(_arg1:Number, _arg2:Number):Number{ var _local3:Vector = getPlayerPos(); var _local4:Vector = new Vector((_local3.x - _arg1), (_local3.y - _arg2)); return (_local4.length()); } public function spawnHPClip(){ var _local1:MovieClip = new IncHealthClip(); _local1.x = getPlayerPos().x; _local1.y = getPlayerPos().y; background.addChild(_local1); } public function canSpawnMonster(){ return ((level.totalEnemies < qualitySet[quality].monsters)); } override protected function update(){ player.updateHUD(hud); level.updateHUD(hud); if (hud.hit.alpha > 0){ hud.hit.alpha = (hud.hit.alpha - (2 * FPSCounter.k_FrameTime)); }; if (hud.rampage.alpha > 0){ hud.rampage.alpha = (hud.rampage.alpha - (2 * FPSCounter.k_FrameTime)); }; if (Input.isKeyPressed(Keyboard.SPACE)){ if (hud.clickHere.visible){ onClickHereClicked(null); } else { hud.clickHere.visible = !(hud.clickHere.visible); }; }; theme.volume = (theme.volume + ((volume - theme.volume) * 0.05)); if (((isPaused) || (player.isKilled))){ Mouse.show(); return; }; level.update(); if ((((shakeAmount >= 4)) && (rampage4X))){ player.activateAbilityID(Ability.RampageX4); rampage4X = false; spawnRampage("Rampage 4X"); }; if ((((shakeAmount >= 5.5)) && (rampage16X))){ player.activateAbilityID(Ability.RampageX8); rampage16X = false; spawnRampage("Rampage 8X"); }; if ((((shakeAmount >= 8)) && (rampage32X))){ player.activateAbilityID(Ability.RampageX32); rampage32X = false; spawnRampage("Rampage 32X"); }; if (shakeAmount < 1){ rampage4X = true; rampage16X = true; rampage32X = true; }; Mouse.hide(); asteroids.visible = qualitySet[quality].asteroids; player.update(FPSCounter.k_FrameTime); hud.perf.text = ((("Attempts: " + total) + ", checked: ") + checked); total = 0; checked = 0; var _local1:Enemy = testEnemyCollision(background.globalToLocal(new Point(player.x, player.y))); if (_local1){ _local1.onPlayerCollision(player); }; background.x = (scroll.x + shake.x); background.y = (scroll.y + shake.y); if (asteroids.visible){ asteroids.scroll((scroll.x + shake.x), (scroll.y + shake.y)); }; updateShake(); } override protected function onLeave(){ Game.instance.ambience.volume = 1; Game.instance.globalBack.visible = true; volume = 0; destroyEnemies(); destroyBullets(); destroyPowerups(); resetScroll(); } public function getEnemy(_arg1:int):Enemy{ return (enemies[_arg1]); } public function setQuality(_arg1:int){ } private function onFadeHandler(_arg1:Event){ GameScreen.instance.player.releaseAbilities(); if ((level is LevelSurvivalMode)){ Game.instance.enterState(Game.instance.menuScreen); } else { Game.instance.enterState(Game.instance.levelScreen); }; } private function destroyBullets(){ trace("Destroying bullets"); var _local1:ListNode = bullets.begin; while (_local1 != bullets.end) { (_local1.data as Bullet).release(); _local1 = bullets.remove(_local1); }; } private function destroyEnemies(){ var _local1:int; while (_local1 < enemies.length) { enemies[_local1].release(); background.removeChild(enemies[_local1]); _local1++; }; enemies.splice(0); } public function spawnBullet(_arg1:Number, _arg2:Number, _arg3:Vector, _arg4:int, _arg5:Class, _arg6:Number, _arg7:Number, _arg8:Boolean){ var _local9:Bullet = new Bullet(); _local9.spawn(bullets.insert(_local9), _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); background.addChild(_local9); } public function onEnemyKilled(_arg1:Enemy){ level.onEnemyKilled(_arg1); var _local2:uint; _local2 = 0; while (_local2 < enemies.length) { if (enemies[_local2] == _arg1){ break; }; _local2++; }; enemies.splice(_local2, 1); } public function testPlayerCollision(_arg1:Point, _arg2:Number):Boolean{ var _local3:Point = background.globalToLocal(new Point(player.x, player.y)); if (Vector.distance(_local3.x, _local3.y, _arg1.x, _arg1.y) < _arg2){ return (true); }; return (false); } public function spawnEnemyAt(_arg1:String, _arg2:Number, _arg3:Number):Enemy{ return (spawnEnemyClsAt((getDefinitionByName(("game.enemy." + _arg1)) as Class), _arg2, _arg3)); } public function get player():Player{ return (_player); } private function isInSectors(_arg1:int, _arg2:Array){ var _local3:int; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (true); }; _local3++; }; return (false); } public function setShake(_arg1:Number){ shakeAmount = (shakeAmount + (_arg1 * (1 - (shakeAmount / 25)))); } public function testEnemyBulletCollision(_arg1:Bullet):Number{ var _local4:Enemy; var _local2:Number = -1; var _local3:int; while (_local3 < enemies.length) { _local4 = enemies[_local3]; total++; if (((((!(isInSectors(_arg1.sector, _local4.sectors))) && (!((_local4 is Formation))))) && (!((_local4 is Boss))))){ } else { checked++; _local2 = _local4.testBulletCollision(_arg1); if (_local2 >= 0){ return (_local2); }; }; _local3++; }; return (_local2); } private function updateShake(){ shake.x = (Math.random() - 0.5); shake.y = (Math.random() - 0.5); shake.normalize(); shake.mul((Math.random() * shakeAmount)); shakeAmount = Math.max(0, (shakeAmount - (6 * FPSCounter.k_FrameTime))); shakeAmount = Math.min(10, shakeAmount); } public function spawnEnemy(_arg1:String):Enemy{ return (spawnEnemyCls((getDefinitionByName(("game.enemy." + _arg1)) as Class))); } public function scrollBackground(_arg1:Number, _arg2:Number){ scroll.x = (scroll.x - _arg1); scroll.y = (scroll.y - _arg2); } private function onClickHereClicked(_arg1:MouseEvent){ level.start(); hud.clickHere.visible = false; if (!player.visible){ player.x = (Game.width / 2); player.y = (Game.height / 2); }; player.visible = true; } public function getPlayerPos():Vector{ var _local1:Point = background.globalToLocal(new Point(player.x, player.y)); return (new Vector(_local1.x, _local1.y)); } public static function applyBrightnessFilter(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:Array = new Array(); _local6 = _local6.concat([(_arg2 * _arg5), 0, 0, 0, 0]); _local6 = _local6.concat([0, (_arg3 * _arg5), 0, 0, 0]); _local6 = _local6.concat([0, 0, (_arg4 * _arg5), 0, 0]); _local6 = _local6.concat([0, 0, 0, 1, 0]); var _local7:ColorMatrixFilter = new ColorMatrixFilter(_local6); var _local8:Array = new Array(); _local8.push(_local7); _arg1.filters = _local8; } public static function toggleMusic(){ isMusicOn = !(isMusicOn); GameScreen.instance.volume = (isMusicOn) ? 1 : 0; } public static function isMusicToggled(){ return (isMusicOn); } } }//package game
Section 95
//IEnemyContainer (game.IEnemyContainer) package game { public interface IEnemyContainer { function removeEnemy(_arg1:Enemy); } }//package game
Section 96
//Level (game.Level) package game { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; public class Level extends EventDispatcher { protected var _power:int;// = 0 private var _maxMonsters:int;// = 0 protected var _maxPower:int;// = 0 private var _totalEnemies:int;// = 0 protected var monsterClasses:Array; private var lastSpawnTime:int;// = 0 protected var isStarted:Boolean;// = false private var _id:int;// = 0 public static const END:String = "END"; public function Level(_arg1:XML){ monsterClasses = new Array(); super(); _id = _arg1.@id; _maxMonsters = _arg1.@maxMonsters; _maxPower = _arg1.@power; } public function get maxPower():Number{ return (_maxPower); } public function get power():Number{ return (_power); } protected function prepareMonsters(){ monsterClasses.sortOn("prob"); var _local1:Number = 0; var _local2:int; _local2 = 0; while (_local2 < monsterClasses.length) { _local1 = (_local1 + monsterClasses[_local2].prob); _local2++; }; _local2 = 0; while (_local2 < monsterClasses.length) { monsterClasses[_local2].prob = (monsterClasses[_local2].prob / _local1); if (_local2 != 0){ monsterClasses[_local2].prob = (monsterClasses[_local2].prob + monsterClasses[(_local2 - 1)].prob); }; _local2++; }; } public function get totalEnemies():int{ return (_totalEnemies); } public function onEnemyKilled(_arg1:Enemy){ _totalEnemies--; _power = (_power - _arg1.maxHealth); } public function update(){ var _local1:int = getTimer(); if ((_local1 - lastSpawnTime) >= 250){ lastSpawnTime = _local1; spawnMonster(); }; } public function onEnemySpawn(_arg1:String){ trace("onEnemySpawn"); _totalEnemies++; } public function get id():int{ return (_id); } public function get maxMonsters():int{ return (_maxMonsters); } private function spawnMonster(){ var _local3:*; var _local4:Enemy; if ((((power >= _maxPower)) || (!(GameScreen.instance.canSpawnMonster())))){ return; }; var _local1:Number = Math.random(); var _local2:int; while (_local2 < monsterClasses.length) { _local3 = monsterClasses[_local2]; if (_local1 <= _local3.prob){ _local4 = GameScreen.instance.spawnEnemyCls(_local3.cls); _totalEnemies++; _power = (_power + _local3.power); break; }; _local2++; }; } public function start(){ if (isStarted){ return; }; lastSpawnTime = getTimer(); _power = 0; GameScreen.instance.player.addEventListener(Player.KILLED, onPlayerKilled); prepareMonsters(); isStarted = true; } public function updateHUD(_arg1:MovieClip){ _arg1.score.text = ""; _arg1.wave.visible = false; } protected function onLevelEnd(){ GameScreen.instance.player.removeEventListener(Player.KILLED, onPlayerKilled); dispatchEvent(new Event(END)); isStarted = false; } protected function onPlayerKilled(_arg1:Event){ onLevelEnd(); } public static function loadXML(_arg1:XML):Level{ var _local5:String; var _local6:Class; var _local7:Enemy; var _local2:int; var _local3:Class = Resources.classes[_arg1.info[0].@cls]; var _local4:Level = new _local3(_arg1.info[0]); while (_arg1.monster[_local2] != undefined) { _local5 = ("game.enemy." + _arg1.monster[_local2].@type); _local6 = (getDefinitionByName(_local5) as Class); _local7 = new (_local6); _local4.monsterClasses.push({cls:_local6, prob:Number(_arg1.monster[_local2].@prob), power:_local7.maxHealth}); _local2++; }; _local4.prepareMonsters(); return (_local4); } public static function load(_arg1:ByteArray):Level{ var _local2:String = _arg1.readUTFBytes(_arg1.length); var _local3:XML = new XML(_local2); return (loadXML(_local3)); } } }//package game
Section 97
//LevelScreen (game.LevelScreen) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import flash.text.*; import flash.ui.*; public class LevelScreen extends GameState { public var openUpgrades:SimpleButton; private var markerAlphaInc:Number;// = 1 private var markerAlpha:Number;// = 0.5 public var score:TextField; public var upgradeMarker:MovieClip; private var showMarker:Boolean;// = false private var upgrade:UpgradePannel;// = null private var levelButtons:Array; public var menu:ButtonMenu; public function LevelScreen(){ levelButtons = new Array(); super(); openUpgrades.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ upgrade.show(); }); } override protected function update(){ showMarker = upgrade.isUpgradesAvailable(); openUpgrades.visible = !(upgrade.visible); if (((!(showMarker)) || (!(openUpgrades.visible)))){ upgradeMarker.alpha = 0; return; }; upgradeMarker.alpha = Math.min(1, Math.max(0.5, (upgradeMarker.alpha + (0.01 * markerAlphaInc)))); if (upgradeMarker.alpha >= 1){ markerAlphaInc = -1; } else { if (upgradeMarker.alpha <= 0.5){ markerAlphaInc = 1; }; }; } public function initialize(){ var _x:Number; var _y:Number; var i:uint; var button:MovieClip; if (_isInitialized){ return; }; _x = 225; _y = 70; i = 0; while (i < Resources.levels.length) { button = new LevelButton(); button.caption.text = ((((i + 1))<10) ? "0" : "" + (i + 1)); button.x = _x; button.y = _y; button.button.addEventListener(MouseEvent.CLICK, onLevelClicked); button.back.gotoAndStop(1); button.id = i; levelButtons.push(button); addChild(button); _x = (_x + (button.width + 5)); if (((i + 1) % 5) == 0){ _x = 225; _y = (_y + (button.height + 10)); }; if (i == 15){ button.x = (button.x + ((button.width + 5) * 2)); }; i = (i + 1); }; menu.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ Game.instance.enterState(Game.instance.menuScreen); }); upgrade = new UpgradePannel(); upgrade.visible = false; addChild(upgrade); updateHUD(); _isInitialized = true; } private function onLevelClicked(_arg1:MouseEvent){ Game.instance.gameScreen.initialize(); Game.instance.enterState(Game.instance.gameScreen); Game.instance.gameScreen.startLevel(Resources.levels[_arg1.target.parent.id]); } private function updateHUD(){ var _local3:MovieClip; var _local1:SaveData = Game.instance.save; score.text = ("Score: " + Game.instance.save.score); upgrade.update(_local1); showMarker = upgrade.isUpgradesAvailable(); upgradeMarker.alpha = 0; var _local2:int; while (_local2 < levelButtons.length) { _local3 = levelButtons[_local2]; _local3.mouseEnabled = (_local3.id <= _local1.levelIndex); _local3.mouseChildren = _local3.mouseEnabled; _local3.alpha = (_local3.mouseEnabled) ? 1 : 0.35; _local2++; }; } override protected function onEnter(){ Mouse.show(); updateHUD(); } } }//package game
Section 98
//MenuButton (game.MenuButton) package game { import flash.events.*; import flash.display.*; public class MenuButton extends MovieClip { public var button:SimpleButton; private var offset:Number;// = 40 private var dx:Number;// = 0 public function MenuButton(){ super(); button.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){ dx = 1; }); button.addEventListener(MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){ dx = -1; }); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); x = -(offset); } private function onEnterFrameHandler(_arg1:Event){ x = (x + (dx * 3)); if (x > -5){ x = -5; } else { if (x < -(offset)){ x = -(offset); }; }; } } }//package game
Section 99
//MenuScreen (game.MenuScreen) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import mochi.as3.*; import SWFStats.*; import flash.net.*; import game.levels.*; import flash.ui.*; public class MenuScreen extends GameState { public var buttonCredits:ButtonCredits; public var newgame:MovieClip; public var buttonHighscores:ButtonHighscores; public var buttonSurvival:ButtonAchievements; public var credits:MovieClip; public var buttonNewGame:ButtonNewGame; public var buttonMoreGames:ButtonMoreGames; public var buttonResume:ButtonPlay; public function MenuScreen(){ addFrameScript(0, frame1); } public function onOKCliked(_arg1:MouseEvent){ credits.visible = false; } private function onYesClicked(_arg1:MouseEvent){ SaveData.clear(); Game.instance.save.reset(); newgame.visible = false; onResumeClicked(_arg1); } private function onHighscoresClicked(_arg1:MouseEvent){ Game.showScore(); } private function onNewGameClicked(_arg1:MouseEvent){ if (SaveData.hasSaves()){ newgame.visible = true; } else { onResumeClicked(_arg1); newgame.visible = false; }; } override protected function onLeave(){ Game.instance.backFade = 0.2; Game.instance.globalBack.caption.mouseEnabled = false; } private function onResumeClicked(_arg1:MouseEvent){ Game.instance.levelScreen.initialize(); Game.instance.enterState(Game.instance.levelScreen); } public function initialize(){ buttonResume.addEventListener(MouseEvent.CLICK, onResumeClicked); buttonNewGame.addEventListener(MouseEvent.CLICK, onNewGameClicked); buttonSurvival.addEventListener(MouseEvent.CLICK, onSurvivalClicked); buttonHighscores.addEventListener(MouseEvent.CLICK, onHighscoresClicked); buttonCredits.addEventListener(MouseEvent.CLICK, onCreditsClicked); buttonMoreGames.addEventListener(MouseEvent.CLICK, function (_arg1){ navigateToURL(new URLRequest("http://www.jokeroo.com/games/")); }); newgame.yes.addEventListener(MouseEvent.CLICK, onYesClicked); newgame.cancel.addEventListener(MouseEvent.CLICK, onCancelClicked); } public function onLostgardenCliked(_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.lostgarden.com/")); } public function onDreemchestCliked(_arg1:MouseEvent){ Log.CustomMetric("Dreemchest Credits"); navigateToURL(new URLRequest("http://dreemchest.com")); } private function onCreditsClicked(_arg1:MouseEvent){ credits.visible = true; } private function onCancelClicked(_arg1:MouseEvent){ newgame.visible = false; } private function onSurvivalClicked(_arg1:MouseEvent){ Game.instance.gameScreen.initialize(); Game.instance.enterState(Game.instance.gameScreen); Game.instance.gameScreen.startLevel(new LevelSurvivalMode(new XML())); } override protected function onEnter(){ Mouse.show(); Game.instance.backFade = 1; Game.instance.globalBack.caption.mouseEnabled = true; buttonResume.visible = SaveData.hasSaves(); newgame.visible = false; credits.visible = false; } function frame1(){ trace("credits"); credits.dreemchest.addEventListener(MouseEvent.CLICK, onDreemchestCliked); credits.lostgarden.addEventListener(MouseEvent.CLICK, onLostgardenCliked); credits.ok.addEventListener(MouseEvent.CLICK, onOKCliked); } } }//package game
Section 100
//Player (game.Player) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import game.abilities.*; public class Player extends MovieClip { private var _direction:Vector; private var target:Vector; private var _score:Number;// = 0 private var invulnurable:Boolean;// = false private var _energy:Number;// = 100 private var _money:Number;// = 0 private var abilities:Array; private var _powerUpScore:Number;// = 0 private var _crystals:Number;// = 0 private var _maxHealth:int;// = 0 public var shield:SimpleButton; private var slot1:Ability;// = null private var slot2:Ability;// = null private var slot0:Ability;// = null private var _health:Number;// = 100 public static const HIT:String = "Hit"; public static const KILLED:String = "Killed"; public function Player(){ _direction = new Vector(); target = new Vector(); abilities = new Array(); super(); abilities.length = Ability.Total; } public function releaseAbilities(){ var _local1:int; while (_local1 < Ability.Total) { if (abilities[_local1]){ abilities[_local1].release(); }; _local1++; }; } public function get energy():Number{ return (_energy); } public function get maxEnergy():Number{ return (Game.instance.config.MaxEnergy); } public function get score():Number{ return (_score); } public function set energy(_arg1:Number){ _energy = Math.max(0, _arg1); } public function activateAbilityID(_arg1:int){ var _local2:Vector; if (((!((abilities[_arg1] == null))) && (!((abilities[_arg1] == undefined))))){ if (abilities[_arg1].isAvailable()){ _local2 = GameScreen.instance.getPlayerPos(); abilities[_arg1].activate(_local2.x, _local2.y); }; }; } public function hit(_arg1:Number){ if (((invulnurable) || (isKilled))){ return; }; _arg1 = (_arg1 * 0.75); _health = Math.min((_health - _arg1), maxHealth); dispatchEvent(new Event(HIT)); if (_health <= 1){ _health = 0; visible = false; dispatchEvent(new Event(KILLED)); }; } public function set score(_arg1:Number){ _score = _arg1; } public function onPickedEnergyCell(){ _powerUpScore = (_powerUpScore + 25); _score = (_score + 25); _energy = Math.min(maxEnergy, (_energy + 1)); } public function setInv(_arg1:Boolean){ invulnurable = ((_arg1) && (!(isKilled))); } public function activateAbility(_arg1:Ability){ var _local2:Vector; if (((!((_arg1 == null))) && (!((_arg1 == undefined))))){ if (_arg1.isAvailable()){ _local2 = GameScreen.instance.getPlayerPos(); _arg1.activate(_local2.x, _local2.y); }; }; } public function set health(_arg1:Number){ _health = Math.min(_maxHealth, _arg1); } private function setSlotImage(_arg1:MovieClip, _arg2:Ability){ _arg1.image.visible = !((_arg2 == null)); _arg1.caption.visible = !((_arg2 == null)); _arg1.cooldown.visible = !((_arg2 == null)); if (!_arg2){ return; }; _arg1.image.alpha = (_arg2.isAvailable()) ? 1 : 0.25; if ((_arg2 is Explode)){ _arg1.image.gotoAndStop(1); } else { if ((_arg2 is TurretAbility)){ _arg1.image.gotoAndStop(2); } else { if ((_arg2 is Missiles)){ _arg1.image.gotoAndStop(3); } else { if ((_arg2 is SeekingMissiles)){ _arg1.image.gotoAndStop(4); } else { if ((_arg2 is Shield)){ _arg1.image.gotoAndStop(5); } else { if ((_arg2 is MissileStorm)){ _arg1.image.gotoAndStop(6); } else { trace(("setSlotImage : unknown ability, " + _arg2)); }; }; }; }; }; }; var _local3:MovieClip = _arg1.cooldown; _local3.scaleY = _arg2.cooldownPcnt; _local3.y = ((15 * (1 - _arg2.cooldownPcnt)) + 0.5); } public function set maxHealth(_arg1:Number){ _maxHealth = _arg1; } public function get isKilled():Boolean{ return ((health <= 0)); } public function update(_arg1:Number){ var _local2:Number = 0.15; var _local3:Number = (-(_local2) * Vector.distance(x, y, Input.mouseX, Input.mouseY)); var _local4:Vector = new Vector((x - Input.mouseX), (y - Input.mouseY)); shield.visible = invulnurable; alpha = (invulnurable) ? 0.5 : 1; _local4.normalize(); x = (x + (((_local4.x * _local3) * _arg1) * 50)); y = (y + (((_local4.y * _local3) * _arg1) * 50)); rotation = ((-180 * Math.atan2(_direction.x, _direction.y)) / Math.PI); if (x < 0){ x = 0; }; if (x > 800){ x = 800; }; if (y < 0){ y = 0; }; if (y > 600){ y = 600; }; if (Input.isMouseDown){ target.x = (x + (_direction.x * 30)); target.y = (y + (_direction.y * 30)); } else { _direction.setTo(x, y); if (_direction.dirTo(target.x, target.y) > 30){ target.x = (x + (_direction.x * 30)); target.y = (y + (_direction.y * 30)); }; }; var _local5:Vector = GameScreen.instance.getPlayerPos(); var _local6:int; while (_local6 < abilities.length) { if (((!((abilities[_local6] == null))) && (!((abilities[_local6] == undefined))))){ abilities[_local6].update(_local5.x, _local5.y, _arg1); }; _local6++; }; if (Input.isKeyPressed(Input._1)){ activateAbility(slot0); }; if (Input.isKeyPressed(Input._2)){ activateAbility(slot1); }; if (Input.isKeyPressed(Input._3)){ activateAbility(slot2); }; GameScreen.instance.scrollBackground(((((_local4.x * _local3) * 0.1) * _arg1) * 50), ((((_local4.y * _local3) * 0.1) * _arg1) * 50)); } public function get money():Number{ return (_money); } public function reset(_arg1:SaveData){ var _local2:Config = Game.instance.config; visible = true; _maxHealth = (_arg1) ? _local2.MaxHealth[_arg1.armor] : 100; _health = _maxHealth; _energy = maxEnergy; _powerUpScore = 0; _money = 0; _score = 0; _crystals = 0; invulnurable = false; var _local3:int; while (_local3 < Ability.Total) { abilities[_local3] = null; _local3++; }; slot0 = null; slot1 = null; slot2 = null; abilities[Ability.RampageX4] = new Rampage(this, 4); abilities[Ability.RampageX8] = new Rampage(this, 8); abilities[Ability.RampageX32] = new Rampage(this, 32); abilities[Ability.RegenE] = new EnergyRegen(this); abilities[Ability.Weapon] = new Minigun(_local2, this, 0); if (_arg1){ if (_arg1.explode > 0){ abilities[Ability.Explode] = new Explode(_local2, this, _arg1.explode); }; if (_arg1.droid > 0){ abilities[Ability.Droid] = new TurretAbility(_local2, this, _arg1.droid); }; if (_arg1.missiles > 0){ abilities[Ability.Missiles] = new Missiles(_local2, this, _arg1.missiles); }; if (_arg1.smissiles > 0){ abilities[Ability.SMissiles] = new SeekingMissiles(_local2, this, _arg1.smissiles); }; if (_arg1.shield > 0){ abilities[Ability.Shield] = new Shield(_local2, this, _arg1.shield); }; if (_arg1.storm > 0){ abilities[Ability.MissileStorm] = new MissileStorm(_local2, this, _arg1.storm); }; if (_arg1.regen > 0){ abilities[Ability.Regen] = new Regen(_local2, this, _arg1.regen); }; if (_arg1.barrels > 0){ switch (_arg1.barrels){ case 1: abilities[Ability.Weapon] = new DoubleMinigun(_local2, this); break; case 2: abilities[Ability.Weapon] = new TripleMinigun(_local2, this); break; }; } else { if (_arg1.minigun > 0){ abilities[Ability.Weapon] = new Minigun(_local2, this, _arg1.minigun); }; }; if ((((_arg1.barrels == 0)) && ((_arg1.minigun == 0)))){ abilities[Ability.Weapon] = new Minigun(_local2, this, 0); }; (abilities[Ability.Weapon] as Minigun).setDamage(_arg1.minigun); if (abilities[Ability.Explode]){ slot0 = abilities[Ability.Explode]; }; if (abilities[Ability.Droid]){ slot0 = abilities[Ability.Droid]; }; if (abilities[Ability.Missiles]){ slot1 = abilities[Ability.Missiles]; }; if (abilities[Ability.SMissiles]){ slot1 = abilities[Ability.SMissiles]; }; if (abilities[Ability.Shield]){ slot2 = abilities[Ability.Shield]; }; if (abilities[Ability.MissileStorm]){ slot2 = abilities[Ability.MissileStorm]; }; } else { abilities[Ability.Weapon] = new TripleMinigun(_local2, this); (abilities[Ability.Weapon] as Minigun).setDamage(2); abilities[Ability.Regen] = new Regen(_local2, this, 3); abilities[Ability.Regen] = new Regen(_local2, this, 3); }; } public function get maxHealth():Number{ return (_maxHealth); } public function get health():Number{ return (_health); } public function onPickedAbility(_arg1:int, _arg2:Class){ var _local3:Config = Game.instance.config; if (_arg1 == Ability.Explode){ abilities[Ability.Explode] = new Explode(_local3, this, 3); abilities[Ability.Droid] = null; slot0 = abilities[Ability.Explode]; } else { if (_arg1 == Ability.Droid){ abilities[Ability.Droid] = new TurretAbility(_local3, this, 3); abilities[Ability.Explode] = null; slot0 = abilities[Ability.Droid]; }; }; if (_arg1 == Ability.SMissiles){ abilities[Ability.SMissiles] = new SeekingMissiles(_local3, this, 3); abilities[Ability.Missiles] = null; slot1 = abilities[Ability.SMissiles]; } else { if (_arg1 == Ability.Missiles){ abilities[Ability.Missiles] = new Missiles(_local3, this, 3); abilities[Ability.SMissiles] = null; slot1 = abilities[Ability.Missiles]; }; }; if (_arg1 == Ability.MissileStorm){ abilities[Ability.MissileStorm] = new MissileStorm(_local3, this, 3); abilities[Ability.Shield] = null; slot2 = abilities[Ability.MissileStorm]; } else { if (_arg1 == Ability.Shield){ abilities[Ability.Shield] = new Shield(_local3, this, 3); abilities[Ability.MissileStorm] = null; slot2 = abilities[Ability.Shield]; }; }; } public function updateHUD(_arg1:MovieClip){ _arg1.pannel.healthBar.filler.scaleX = (health / maxHealth); _arg1.pannel.healthBar.caption.text = ((int(health) + "/") + int(maxHealth)); _arg1.pannel.energyBar.filler.scaleX = (energy / maxEnergy); _arg1.pannel.energyBar.caption.text = ((int(energy) + "/") + int(maxEnergy)); _arg1.pannel.money.text = ("" + _money); _arg1.pannel.crystals.text = ("" + _crystals); _arg1.abilityTip.visible = ((((!((slot0 == null))) || (!((slot1 == null))))) || (!((slot2 == null)))); setSlotImage(_arg1.pannel.slot0, slot0); setSlotImage(_arg1.pannel.slot1, slot1); setSlotImage(_arg1.pannel.slot2, slot2); } public function resetPowerUpScore(){ _powerUpScore = 0; } public function get powerUpScore():Number{ return (_powerUpScore); } public function onPickedCrystal(){ _crystals++; _score = (_score + 25); _health = Math.min(maxHealth, (_health + 1)); } public function get crystals():Number{ return (_crystals); } public function updateMoney(_arg1:Number){ _money = (_money + _arg1); } public function get direction():Vector{ return (_direction); } } }//package game
Section 101
//PowerUp (game.PowerUp) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class PowerUp extends MovieClip { private var node:ListNode;// = null private var isFading:Boolean;// = false protected var level:Level;// = null private var timer:Timer; private var speed:Number;// = 0 private var blinkDir:Number;// = 0.05 private var life:Number;// = 0 private var direction:Vector; private var health:Number;// = 100 private var fade:Number;// = 1 public static const MONEY_5000:int = (1 << 7); public static const MONEY_250:int = (1 << 3); public static const MONEY_500:int = (1 << 4); public static const MONEY_50:int = (1 << 2); public static const MONEY_2000:int = (1 << 6); public static const MONEY_1000:int = (1 << 5); public static var ActivePowerUpCount:int = 0; public function PowerUp(){ timer = new Timer(5000); direction = new Vector(); super(); addEventListener(Event.ADDED_TO_STAGE, onPowerUpAdded); addEventListener(Event.REMOVED_FROM_STAGE, onPowerUpRemoved); } private function onTimerHandler(_arg1:TimerEvent){ isFading = true; } public function release(){ removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); timer.removeEventListener(TimerEvent.TIMER, onTimerHandler); if (parent){ parent.removeChild(this); }; } private function blink(){ alpha = (alpha + blinkDir); if (alpha >= 1){ alpha = 1; blinkDir = (blinkDir * -1); } else { if (alpha <= 0){ alpha = 0; blinkDir = (blinkDir * -1); }; }; } private function testPlayerCollision():Boolean{ if (GameScreen.instance.player.isKilled){ return (false); }; var _local1:Vector = GameScreen.instance.getPlayerPos(); if (Vector.distance(x, y, _local1.x, _local1.y) < 30){ return (true); }; return (false); } protected function onPicked(){ destroy(); } private function onPowerUpAdded(_arg1:Event){ ActivePowerUpCount++; } private function onPowerUpRemoved(_arg1:Event){ removeEventListener(Event.ADDED_TO_STAGE, onPowerUpAdded); removeEventListener(Event.REMOVED_FROM_STAGE, onPowerUpRemoved); ActivePowerUpCount--; } private function onEnterFrameHandler(_arg1:Event){ var _local2:Vector; var _local3:Number; var _local4:Number; var _local5:Vector; var _local6:Number; if (Game.isPaused){ return; }; alpha = (health / 100); scaleX = (scaleY = ((health / 100) * 1.5)); if (testPlayerCollision()){ onPicked(); return; }; if (isFading){ health = (health - 0.5); }; if (health <= 0){ destroy(); }; x = (x + (direction.x * speed)); y = (y + (direction.y * speed)); speed = Math.max(0.1, (speed - (fade * 2))); fade = (fade + 0.0005); if (!GameScreen.instance.player.isKilled){ _local2 = GameScreen.instance.getPlayerPos(); _local3 = Vector.distance(x, y, _local2.x, _local2.y); _local4 = 75; if (_local3 < _local4){ _local5 = Vector.direction(x, y, _local2.x, _local2.y); _local6 = (_local3 / _local4); x = (x + ((_local5.x * 2) * (1 - (_local6 * _local6)))); y = (y + ((_local5.y * 2) * (1 - (_local6 * _local6)))); }; }; } public function destroy(){ release(); node.list.remove(node); } public function spawn(_arg1:ListNode, _arg2:Level, _arg3:Number, _arg4:Number){ node = _arg1; x = _arg3; y = _arg4; level = _arg2; health = 100; isFading = false; speed = ((Math.random() * 1) + 1); fade = ((Math.random() * 0.0075) + 0.005); direction.x = (Math.random() - 0.5); direction.y = (Math.random() - 0.5); direction.normalize(); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); timer.addEventListener(TimerEvent.TIMER, onTimerHandler); timer.start(); } } }//package game
Section 102
//Resources (game.Resources) package game { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import game.levels.*; public class Resources { public static var sound_Theme:Class = null; public static var sound_Ambience:Class = null; public static var class_MinigunHit:Class = null; public static var sound_Detector:Class = null; public static var sound_BossHit:Class = null; public static var sound_Moan:Class = null; public static var bitmap_Blind:BitmapData = null; public static var classes:Object = new Object(); public static var class_ExplosionBlast:Class = null; public static var class_FlameshotHit:Class = null; private static var levelsA:Class = Resources_levelsA; private static var levelsC:Class = Resources_levelsC; public static var config:Class = Resources_config; public static var sound_Hit:Array = new Array(); public static var sound_Explosion:Class = null; public static var class_PlasmaHit:Class = null; private static var levelsB:Class = Resources_levelsB; public static var sound_Missile:Class = null; public static var class_DebrisMedium:Class = null; public static var sound_Rampage:Class = null; public static var class_DebrisBig:Class = null; public static var bitmap_Orange:BitmapData = null; public static var class_Explosion:Class = null; public static var levels:Array = new Array(); public static var class_ExplosionBlastS:Class = null; public static var sound_Pick:Array = new Array(); public static var sound_Bomb:Class = null; public static function initialize(){ classes["game.levels.LevelHunt"] = LevelHunt; classes["game.levels.LevelBoss"] = LevelBoss; classes["game.levels.LevelCrystals"] = LevelCrystals; classes["game.levels.LevelSurvive"] = LevelSurvive; sound_Rampage = (getDefinitionByName("SoundRampage") as Class); sound_BossHit = (getDefinitionByName("SoundBossHit") as Class); sound_Detector = (getDefinitionByName("SoundDetector") as Class); sound_Explosion = (getDefinitionByName("SoundExplosion") as Class); sound_Bomb = (getDefinitionByName("SoundBomb2") as Class); sound_Missile = (getDefinitionByName("SoundMissileLaunch") as Class); sound_Moan = (getDefinitionByName("SoundMoan") as Class); sound_Theme = (getDefinitionByName("SoundTheme") as Class); sound_Ambience = (getDefinitionByName("SoundMenuAmbience") as Class); sound_Pick.push(getDefinitionByName("SoundMoney")); sound_Hit.push(getDefinitionByName("SoundMonsterHit1")); sound_Hit.push(getDefinitionByName("SoundMonsterHit2")); sound_Hit.push(getDefinitionByName("SoundMonsterHit3")); class_DebrisMedium = (getDefinitionByName("DebrisMedium") as Class); class_DebrisBig = (getDefinitionByName("DebrisBig") as Class); class_FlameshotHit = (getDefinitionByName("ExplosionBig") as Class); class_PlasmaHit = (getDefinitionByName("PlasmaHit") as Class); class_MinigunHit = (getDefinitionByName("ExplosionSmall") as Class); class_Explosion = (getDefinitionByName("ExplosionMushroom") as Class); class_ExplosionBlast = (getDefinitionByName("ExplosionBlast") as Class); class_ExplosionBlastS = (getDefinitionByName("ExplosionBlastSmall") as Class); bitmap_Orange = new BitmapOrange(0, 0); bitmap_Blind = new BitmapBlind(0, 0); loadLevelsEmbed((new levelsA() as ByteArray)); loadLevelsEmbed((new levelsB() as ByteArray)); loadLevelsEmbed((new levelsC() as ByteArray)); } private static function loadLevelsXML(_arg1:XML){ var _local2:int; while (_arg1.level[_local2] != undefined) { levels.push(Level.loadXML(_arg1.level[_local2])); _local2++; }; if (levels.length == 5){ Game.instance.startGame(); }; } private static function loadLevelsEmbed(_arg1:ByteArray){ var _local2:String = _arg1.readUTFBytes(_arg1.length); loadLevelsXML(new XML(_local2)); } private static function onXMLLoaded(_arg1:Event){ loadLevelsXML(new XML(_arg1.target.data)); } private static function loadLevels(_arg1:String){ trace((("Loading '" + _arg1) + "'...")); var _local2:URLLoader = new URLLoader(); _local2.addEventListener(Event.COMPLETE, onXMLLoaded); _local2.load(new URLRequest(_arg1)); } } }//package game
Section 103
//Resources_config (game.Resources_config) package game { import mx.core.*; public class Resources_config extends ByteArrayAsset { } }//package game
Section 104
//Resources_levelsA (game.Resources_levelsA) package game { import mx.core.*; public class Resources_levelsA extends ByteArrayAsset { } }//package game
Section 105
//Resources_levelsB (game.Resources_levelsB) package game { import mx.core.*; public class Resources_levelsB extends ByteArrayAsset { } }//package game
Section 106
//Resources_levelsC (game.Resources_levelsC) package game { import mx.core.*; public class Resources_levelsC extends ByteArrayAsset { } }//package game
Section 107
//SaveData (game.SaveData) package game { import game.abilities.*; import flash.net.*; public class SaveData { public var money:int;// = 0 public var crystals:int;// = 0 public var quality:int;// = 2 public var minigun:int;// = 0 public var barrels:int;// = 0 public var smissiles:int;// = 0 public var missiles:int;// = 0 public var score:int;// = 0 public var abilityLevel:int;// = 1 public var explode:int;// = 0 public var shipLevel:int;// = 1 public var storm:int;// = 0 public var levelIndex:int;// = 0 public var shield:int;// = 0 public var droid:int;// = 0 public var regen:int;// = 0 public var armor:int;// = 0 private static const k_SaveName:String = "save1"; public function save(){ var _local1:SharedObject = SharedObject.getLocal(k_SaveName); _local1.data.save = this; _local1.close(); } public function reset(){ score = 0; money = 0; crystals = 0; explode = 0; droid = 0; missiles = 0; smissiles = 0; shield = 0; storm = 0; minigun = 0; barrels = 0; regen = 0; armor = 0; abilityLevel = 1; shipLevel = 1; levelIndex = 0; quality = 2; } public function load(){ if (!hasSaves()){ return; }; var _local1:SharedObject = SharedObject.getLocal(k_SaveName); score = _local1.data.save.score; money = _local1.data.save.money; crystals = _local1.data.save.crystals; explode = _local1.data.save.explode; droid = _local1.data.save.droid; missiles = _local1.data.save.missiles; smissiles = _local1.data.save.smissiles; shield = _local1.data.save.shield; storm = _local1.data.save.storm; minigun = _local1.data.save.minigun; barrels = _local1.data.save.barrels; regen = _local1.data.save.regen; abilityLevel = _local1.data.save.abilityLevel; shipLevel = _local1.data.save.shipLevel; armor = _local1.data.save.armor; levelIndex = _local1.data.save.levelIndex; quality = _local1.data.save.quality; _local1.close(); } public static function hasSaves():Boolean{ var _local1:SharedObject = SharedObject.getLocal(k_SaveName); var _local2:Boolean; if (_local1.data.save != undefined){ _local2 = true; }; _local1.close(); return (_local2); } public static function clear(){ var _local1:SharedObject = SharedObject.getLocal(k_SaveName); _local1.clear(); _local1.close(); } } }//package game
Section 108
//ScoreDialog (game.ScoreDialog) package game { import flash.events.*; import flash.display.*; import flash.text.*; public class ScoreDialog extends MovieClip { public var marker:MovieClip; public var score:TextField; public var username:TextField; public var cancel:SimpleButton; public var ok:SimpleButton; private var scoreValue:Number;// = 0 public static const CLOSED:String = "Closed"; public function ScoreDialog(){ ok.addEventListener(MouseEvent.CLICK, onOKClicked); cancel.addEventListener(MouseEvent.CLICK, onCancelClicked); username.addEventListener(TextEvent.TEXT_INPUT, onUsernameInput); } private function onScoreBoardClosed(){ visible = false; dispatchEvent(new Event(CLOSED)); } private function submitScore(_arg1:String, _arg2:Number){ Game.showScore(_arg1, _arg2, onScoreBoardClosed); } private function onUsernameInput(_arg1:TextEvent){ marker.alpha = 0; } private function onOKClicked(_arg1:MouseEvent){ if (username.text.length > 1){ submitScore(username.text, scoreValue); } else { marker.alpha = 1; }; } private function onCancelClicked(_arg1:MouseEvent){ visible = false; dispatchEvent(new Event(CLOSED)); } public function show(_arg1:int){ scoreValue = _arg1; score.text = ("" + _arg1); marker.alpha = 0; visible = true; } } }//package game
Section 109
//UpgradePannel (game.UpgradePannel) package game { import dreemchest.*; import flash.events.*; import flash.display.*; import game.abilities.*; import flash.text.*; public class UpgradePannel extends MovieClip { public var money:TextField; public var purchase:SimpleButton; public var close:SimpleButton; public var ab0:MovieClip; public var ab1:MovieClip; public var ab2:MovieClip; public var ab3:MovieClip; public var ab4:MovieClip; public var ab5:MovieClip; public var ab6:MovieClip; public var ab7:MovieClip; public var ab8:MovieClip; private var ability:MovieClip;// = null public var description:MovieClip; public var crystals:TextField; public var ab9:MovieClip; public static const SMissiles:int = 3; public static const Explode:int = 0; public static const Total:int = 10; public static const Storm:int = 5; public static const Missiles:int = 2; public static const Damage:int = 6; public static const Shield:int = 4; public static const Barrels:int = 7; public static const Droid:int = 1; public static const Regen:int = 8; public static const Armor:int = 9; public function UpgradePannel(){ super(); addFrameScript(0, frame1); var i:int; while (i < Total) { this[("ab" + i)].addEventListener(MouseEvent.CLICK, onAbClicked); this[("ab" + i)].image.gotoAndStop((i + 1)); this[("ab" + i)].id = i; i = (i + 1); }; this[("ab" + Damage)].image.gotoAndStop(9); this[("ab" + Barrels)].image.gotoAndStop(7); this[("ab" + Regen)].image.gotoAndStop(12); this[("ab" + Armor)].image.gotoAndStop(11); close.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ visible = false; }); purchase.addEventListener(MouseEvent.CLICK, onPurchaseClicked); purchase.visible = false; x = ((Game.width / 2) - (width / 2)); y = ((Game.height / 2) - (height / 2)); } public function setAbilityLevel(_arg1:int){ setEnabled(this[("ab" + Missiles)], false); setEnabled(this[("ab" + SMissiles)], false); setEnabled(this[("ab" + Shield)], false); setEnabled(this[("ab" + Storm)], false); switch (_arg1){ case 2: setEnabled(this[("ab" + Missiles)], true); setEnabled(this[("ab" + SMissiles)], true); break; case 3: setEnabled(this[("ab" + Missiles)], true); setEnabled(this[("ab" + SMissiles)], true); setEnabled(this[("ab" + Shield)], true); setEnabled(this[("ab" + Storm)], true); break; }; } public function show(){ description.visible = false; purchase.visible = true; ability = null; visible = true; update(Game.instance.save); } private function setEnabled(_arg1:MovieClip, _arg2:Boolean){ if (_arg2){ _arg1.button.mouseEnabled = true; _arg1.alpha = 1; GameScreen.applyBrightnessFilter(_arg1, 1, 1, 1, 1); } else { _arg1.button.mouseEnabled = false; _arg1.alpha = 0.5; GameScreen.applyBrightnessFilter(_arg1, 1, 1, 1, 0.5); }; } public function update(_arg1:SaveData){ var _local3:Boolean; var _local4:int; var _local5:int; this[("ab" + Explode)].level.gotoAndStop((_arg1.explode + 1)); this[("ab" + Droid)].level.gotoAndStop((_arg1.droid + 1)); this[("ab" + Missiles)].level.gotoAndStop((_arg1.missiles + 1)); this[("ab" + SMissiles)].level.gotoAndStop((_arg1.smissiles + 1)); this[("ab" + Storm)].level.gotoAndStop((_arg1.storm + 1)); this[("ab" + Shield)].level.gotoAndStop((_arg1.shield + 1)); this[("ab" + Damage)].level.gotoAndStop((_arg1.minigun + 1)); this[("ab" + Barrels)].level.gotoAndStop((_arg1.barrels + 1)); this[("ab" + Regen)].level.gotoAndStop((_arg1.regen + 1)); this[("ab" + Armor)].level.gotoAndStop((_arg1.armor + 1)); setAbilityLevel(_arg1.abilityLevel); if (_arg1.explode > 0){ setEnabled(this[("ab" + Droid)], false); }; if (_arg1.droid > 0){ setEnabled(this[("ab" + Explode)], false); }; if (_arg1.missiles > 0){ setEnabled(this[("ab" + SMissiles)], false); }; if (_arg1.smissiles > 0){ setEnabled(this[("ab" + Missiles)], false); }; if (_arg1.storm > 0){ setEnabled(this[("ab" + Shield)], false); }; if (_arg1.shield > 0){ setEnabled(this[("ab" + Storm)], false); }; var _local2:Config = Game.instance.config; if (ability){ _local3 = true; _local4 = -1; _local5 = -1; _arg1 = Game.instance.save; switch (ability.id){ case Explode: _local3 = (_arg1.explode < 3); _local5 = _local2.ExplodeUCost[_arg1.explode]; break; case Droid: _local3 = (_arg1.droid < 3); _local5 = _local2.TurretUCost[_arg1.droid]; break; case Missiles: _local3 = (_arg1.missiles < 3); _local5 = _local2.MissilesUCost[_arg1.missiles]; break; case SMissiles: _local3 = (_arg1.smissiles < 3); _local5 = _local2.SMissilesUCost[_arg1.smissiles]; break; case Storm: _local3 = (_arg1.storm < 3); _local5 = _local2.StormUCost[_arg1.storm]; break; case Storm: _local3 = (_arg1.storm < 3); _local5 = _local2.StormUCost[_arg1.storm]; break; case Shield: _local3 = (_arg1.shield < 3); _local5 = _local2.ShieldUCost[_arg1.shield]; break; case Barrels: _local3 = (_arg1.barrels < 2); _local4 = _local2.BarrelsUCost[_arg1.barrels]; break; case Damage: _local3 = (_arg1.minigun < 2); _local4 = _local2.DamageUCost[_arg1.minigun]; break; case Regen: _local3 = (_arg1.regen < 3); _local4 = _local2.RegenUCost[_arg1.regen]; break; case Armor: _local3 = (_arg1.armor < 3); _local4 = _local2.ArmorUCost[_arg1.armor]; break; }; purchase.visible = _local3; if (_local4 > 0){ purchase.visible = ((purchase.visible) && ((_local4 <= _arg1.money))); description.cost.text = ("" + _local4); description.crystal.visible = false; description.coin.visible = true; }; if (_local5 > 0){ purchase.visible = ((purchase.visible) && ((_local5 <= _arg1.crystals))); description.cost.text = ("" + _local5); description.crystal.visible = true; description.coin.visible = false; }; } else { purchase.visible = false; description.cost.text = ""; description.crystal.visible = false; description.coin.visible = false; }; money.text = ("" + _arg1.money); crystals.text = ("" + _arg1.crystals); } public function isUpgradesAvailable():Boolean{ var _local1:Boolean; var _local2:SaveData = Game.instance.save; var _local3:Config = Game.instance.config; _local1 = ((_local1) || ((((((_local2.droid == 0)) && ((_local2.explode < 3)))) && ((_local3.ExplodeUCost[_local2.explode] <= _local2.crystals))))); _local1 = ((_local1) || ((((((_local2.explode == 0)) && ((_local2.droid < 3)))) && ((_local3.TurretUCost[_local2.droid] <= _local2.crystals))))); _local1 = ((_local1) || ((((((_local2.smissiles == 0)) && ((_local2.missiles < 3)))) && ((_local3.MissilesUCost[_local2.missiles] <= _local2.crystals))))); _local1 = ((_local1) || ((((((_local2.missiles == 0)) && ((_local2.smissiles < 3)))) && ((_local3.SMissilesUCost[_local2.smissiles] <= _local2.crystals))))); _local1 = ((_local1) || ((((((_local2.shield == 0)) && ((_local2.storm < 3)))) && ((_local3.StormUCost[_local2.storm] <= _local2.crystals))))); _local1 = ((_local1) || ((((((_local2.storm == 0)) && ((_local2.shield < 3)))) && ((_local3.ShieldUCost[_local2.shield] <= _local2.crystals))))); _local1 = ((_local1) || ((((_local2.barrels < 2)) && ((_local3.BarrelsUCost[_local2.barrels] <= _local2.money))))); _local1 = ((_local1) || ((((_local2.minigun < 2)) && ((_local3.DamageUCost[_local2.minigun] <= _local2.money))))); _local1 = ((_local1) || ((((_local2.regen < 3)) && ((_local3.RegenUCost[_local2.regen] <= _local2.money))))); _local1 = ((_local1) || ((((_local2.armor < 3)) && ((_local3.ArmorUCost[_local2.armor] <= _local2.money))))); return (_local1); } private function onPurchaseClicked(_arg1:MouseEvent){ var _local2:Player = GameScreen.instance.player; var _local3:SaveData = Game.instance.save; var _local4:int; var _local5:int; var _local6:Config = Game.instance.config; switch (ability.id){ case Explode: _local4 = _local6.ExplodeUCost[_local3.explode]; if (_local3.explode == 0){ _local3.abilityLevel++; }; _local3.explode++; break; case Droid: _local4 = _local6.TurretUCost[_local3.droid]; if (_local3.droid == 0){ _local3.abilityLevel++; }; _local3.droid++; break; case Missiles: _local4 = _local6.MissilesUCost[_local3.missiles]; if (_local3.missiles == 0){ _local3.abilityLevel++; }; _local3.missiles++; break; case SMissiles: _local4 = _local6.SMissilesUCost[_local3.smissiles]; if (_local3.smissiles == 0){ _local3.abilityLevel++; }; _local3.smissiles++; break; case Storm: _local4 = _local6.StormUCost[_local3.storm]; if (_local3.storm == 0){ _local3.abilityLevel++; }; _local3.storm++; break; case Shield: _local4 = _local6.ShieldUCost[_local3.shield]; if (_local3.shield == 0){ _local3.abilityLevel++; }; _local3.shield++; break; case Regen: _local5 = _local6.RegenUCost[_local3.regen]; _local3.regen++; break; case Armor: _local5 = _local6.ArmorUCost[_local3.armor]; _local3.armor++; break; case Damage: _local5 = _local6.DamageUCost[_local3.minigun]; _local3.minigun++; break; case Barrels: _local5 = _local6.BarrelsUCost[_local3.barrels]; _local3.barrels++; break; }; _local3.shipLevel = Math.min(_local3.shipLevel, 2); _local3.abilityLevel = Math.min(_local3.abilityLevel, 3); _local3.crystals = (_local3.crystals - _local4); _local3.money = (_local3.money - _local5); update(Game.instance.save); Game.instance.save.save(); } private function abilityLevel(_arg1:Ability):String{ if (((!((_arg1 == null))) && (!((_arg1 == undefined))))){ trace(("ab level " + _arg1.level)); return (_arg1.level); }; return (""); } private function setSelected(_arg1:Object){ var _local2:SimpleButton = (_arg1 as SimpleButton); purchase.visible = false; if (!_local2){ return; }; ability = (_local2.parent as MovieClip); var _local3:int; while (_local3 < Total) { this[("ab" + _local3)].selected.visible = false; _local3++; }; ability.selected.visible = true; description.visible = true; update(Game.instance.save); } private function onAbClicked(_arg1:MouseEvent){ var _local2:MovieClip = (_arg1.target.parent as MovieClip); description.gotoAndStop((_local2.id + 1)); setSelected(_arg1.target); } function frame1(){ } public function setShipLevel(_arg1:int){ setEnabled(this[("ab" + Regen)], false); setEnabled(this[("ab" + Armor)], false); switch (_arg1){ case 2: case 3: setEnabled(this[("ab" + Regen)], true); setEnabled(this[("ab" + Armor)], true); break; }; } } }//package game
Section 110
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _inventory:MochiInventory; public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function requestFunding(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFunding", _arg1); } public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 111
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function reencode():void{ var _local1:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function set value(_arg1:Number):void{ setValue(_arg1); } public function toString():String{ var _local1:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function get value():Number{ return (Number(this.toString())); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 112
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } } }//package mochi.as3
Section 113
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public static function endPlay():void{ MochiServices.send("events_clearRoundID", null, null, null); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function trackEvent(_arg1:String, _arg2=null):void{ MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local4:Object; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startPlay(_arg1:String="gameplay"):void{ MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null); } } }//package mochi.as3
Section 114
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _syncID:Number; private var _consumableProperties:Object; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(_arg1:Object):void{ if (!this[(_arg1.id + KEY_SALT)]){ this[(_arg1.id + KEY_SALT)] = 0; }; if (!this[_arg1.id]){ this[_arg1.id] = 0; }; this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count); this[_arg1.id] = (this[_arg1.id] + _arg1.count); if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){ if (!this[_arg1.privateProperties.tag]){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[_arg1]){ return (MochiDigits(_consumableProperties[_arg1]).value); }; return (undefined); } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[_arg1] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1)); } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(_arg2 is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2}); return; }; if (_consumableProperties[_arg1]){ _local3 = MochiDigits(_consumableProperties[_arg1]); if (_local3.value == _arg2){ return; }; _local3.value = _arg2; } else { _names.push(_arg1); _consumableProperties[_arg1] = new MochiDigits(_arg2); }; _syncID++; } private function itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function sync(_arg1:Event=null):void{ var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; var _local2:Object = {}; for (_local3 in _consumableProperties) { _local2[_local3] = MochiDigits(_consumableProperties[_local3]).value; }; MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_names[(_arg1 - 1)]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (!_consumableProperties[_arg1]){ return (false); }; _names.splice(_names.indexOf(_arg1), 1); delete _consumableProperties[_arg1]; return (true); } private function getConsumableBag(_arg1:MochiUserData):void{ var _local2:String; var _local3:Number; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); return; }; _consumableProperties = {}; _names = new Array(); if (_arg1.data){ for (_local2 in _arg1.data) { _names.push(_local2); _consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]); }; }; for (_local2 in _storeSync) { _local3 = _storeSync[_local2].count; if (_consumableProperties[(_local2 + KEY_SALT)]){ _local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value); }; if (_local3 == 0){ } else { newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(_arg1:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } } }//package mochi.as3
Section 115
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 116
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.system.*; public class MochiServices { public static const CONNECTED:String = "onConnected"; private static var _container:Object; private static var _connected:Boolean = false; private static var _queue:Array; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _nextCallbackID:Number; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var _callbacks:Object; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = _callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _callbacks[cb]; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); }; if (_clip != null){ if (_callbacks != null){ _callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _nextCallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } private static function detach(_arg1:Event):void{ var _local2:LoaderInfo = LoaderInfo(_arg1.target); _local2.removeEventListener(Event.COMPLETE, detach); _local2.removeEventListener(IOErrorEvent.IO_ERROR, detach); _local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete); _local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } private static function loadLCBridgeComplete(_arg1:Event):void{ var _local2:Loader = LoaderInfo(_arg1.target).loader; _mochiLocalConnection = MovieClip(_local2.content); listen(); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.9.1 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function warnID(_arg1:String, _arg2:Boolean):void{ _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; var _local3:Number = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_queue))){ while (_queue.length > 0) { _local2 = _queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _callbacks[_local2.callbackID]; }; delete _callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(_arg1:Object):void{ var _local2:String = _arg1.target; var _local3:String = _arg1.event; switch (_local2){ case "services": MochiServices.triggerEvent(_arg1.event, _arg1.args); break; case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "social": MochiSocial.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://link.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); var _local2:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_clip.parent){ _clip.parent.removeChild(_clip); }; if (_arg1 != null){ if ((_arg1 is DisplayObjectContainer)){ _container = _arg1; }; }; if (_arg2){ if ((_container is DisplayObjectContainer)){ DisplayObjectContainer(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } public static function get childClip():Object{ return (_clip); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift()); }; }; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } private static function loadLCBridge(_arg1:Object):void{ var _local2:Loader = new Loader(); var _local3:String = (_servURL + _mochiLC); var _local4:URLRequest = new URLRequest(_local3); _local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); _local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); _local2.load(_local4); _arg1.addChild(_local2); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; var _local3:String = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local3 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local3); _clip = new MovieClip(); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); var _local4:URLRequest = new URLRequest(_local3); var _local5:URLVariables = new URLVariables(); _local5.listenLC = _listenChannelName; _local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local5.api_version = getVersion(); if (widget){ _local5.widget = true; }; _local4.data = _local5; _loader.load(_local4); _clip.addChild(_loader); _sendChannel = new LocalConnection(); _queue = []; _nextCallbackID = 0; _callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function get clip():Object{ return (_container); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); } else { _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; }; } } }//package mochi.as3
Section 117
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const ACTION_CANCELED:String = "onCancel"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const NO_USER:String = "NoUser"; public static const FRIEND_LIST:String = "FriendsList"; public static const PROFILE_DATA:String = "ProfileData"; public static const GAMEPLAY_DATA:String = "GameplayData"; public static const ACTION_COMPLETE:String = "onComplete"; public static const LOGIN_SHOW:String = "LoginShow"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const USER_INFO:String = "UserInfo"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const ERROR:String = "Error"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOWN:String = "LoginShown"; public static var _user_info:Object = null; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static function requestFan(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFan", _arg1); } public static function postToStream(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_postToStream", _arg1); } public static function getFriendsList(_arg1:Object=null):void{ MochiServices.send("social_getFriendsList", _arg1); } public static function requestLogin(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestLogin", _arg1); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("social_saveUserProperties", _arg1); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function inviteFriends(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_inviteFriends", _arg1); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_showLoginWidget", {options:_arg1}); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("social_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _user_info = _arg1; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 118
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var operation:String;// = null public var error:Event;// = null public var data;// = null public var _loader:URLLoader; public var key:String;// = null public function MochiUserData(_arg1:String="", _arg2:Function=null){ this.key = _arg1; this.callback = _arg2; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray = new ByteArray(); _local2.objectEncoding = ObjectEncoding.AMF3; _local2.writeObject(_arg1); _local2.compress(); return (_local2); } public function errorHandler(_arg1:IOErrorEvent):void{ data = null; error = _arg1; if (callback != null){ performCallback(); } else { dispatchEvent(_arg1); }; close(); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } public function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function request(_arg1:String, _arg2:ByteArray):void{ var _operation = _arg1; var _data = _arg2; operation = _operation; var api_url:String = MochiSocial.getAPIURL(); var api_token:String = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); var args:URLVariables = new URLVariables(); args.op = _operation; args.key = key; var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); try { _loader.load(req); } catch(e:SecurityError) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString()))); }; } public function completeHandler(_arg1:Event):void{ var event = _arg1; try { if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; } catch(e:Error) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString()))); return; }; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 119
//ByteArrayAsset (mx.core.ByteArrayAsset) package mx.core { import flash.utils.*; public class ByteArrayAsset extends ByteArray implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 120
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 121
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 122
//Log (SWFStats.Log) package SWFStats { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; import flash.external.*; public final class Log { private static const PingR:Timer = new Timer(30000); private static const PingF:Timer = new Timer(60000); public static var GUID:String = ""; private static var Plays:int = 0; public static var Enabled:Boolean = false; private static var Request:LogRequest = new LogRequest(); private static var Pings:int = 0; public static var Queue:Boolean = true; public static var SourceUrl:String; private static var HighestGoal:int = 0; private static var FirstPing:Boolean = true; public static var SWFID:int = 0; private static function SaveCookie(_arg1:String, _arg2:int):void{ var _local3:SharedObject = SharedObject.getLocal("swfstats"); _local3.data[_arg1] = _arg2.toString(); _local3.flush(); } public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{ if (SWFID > 0){ return; }; SWFID = _arg1; GUID = _arg2; Enabled = true; if ((((SWFID == 0)) || ((GUID == "")))){ Enabled = false; return; }; if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){ Enabled = false; return; }; SourceUrl = GetUrl(_arg3); if ((((SourceUrl == null)) || ((SourceUrl == "")))){ Enabled = false; return; }; Security.allowDomain("http://tracker.swfstats.com/"); Security.allowInsecureDomain("http://tracker.swfstats.com/"); Security.loadPolicyFile("http://tracker.swfstats.com/crossdomain.xml"); Security.allowDomain("http://utils.swfstats.com/"); Security.allowInsecureDomain("http://utils.swfstats.com/"); Security.loadPolicyFile("http://utils.swfstats.com/crossdomain.xml"); var _local4:int = GetCookie("views"); _local4++; SaveCookie("views", _local4); Send(("v/" + _local4), true); PingF.addEventListener(TimerEvent.TIMER, PingServer); PingF.start(); } public static function LevelCounterMetric(_arg1:String, _arg2):void{ if (!Enabled){ return; }; Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2))); } private static function Clean(_arg1:String):String{ return (escape(_arg1.replace("/", "\\").replace("~", "-"))); } public static function Play():void{ if (!Enabled){ return; }; Plays++; Send(("p/" + Plays)); } private static function Send(_arg1:String, _arg2:Boolean=false):void{ Request.Queue(_arg1); if (((((Request.Ready) || (_arg2))) || (!(Queue)))){ Request.Send(); Request = new LogRequest(); }; } private static function GetUrl(_arg1:String):String{ var url:String; var defaulturl = _arg1; if (ExternalInterface.available){ try { url = String(ExternalInterface.call("window.location.href.toString")); } catch(s:Error) { url = defaulturl; }; } else { if (defaulturl.indexOf("http://") == 0){ url = defaulturl; }; }; if ((((((url == null)) || ((url == "")))) || ((url == "null")))){ if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){ url = "http://local-testing/"; } else { url = null; }; }; return (escape(url)); } public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } private static function GetCookie(_arg1:String):int{ var _local2:SharedObject = SharedObject.getLocal("swfstats"); if (_local2.data[_arg1] == undefined){ return (0); }; return (int(_local2.data[_arg1])); } public static function Goal(_arg1:int, _arg2:String):void{ } private static function PingServer(... _args):void{ if (!Enabled){ return; }; Pings++; Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings), true); if (FirstPing){ PingF.stop(); PingR.addEventListener(TimerEvent.TIMER, PingServer); PingR.start(); FirstPing = false; }; } public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } public static function CustomMetric(_arg1:String, _arg2:String=null):void{ if (!Enabled){ return; }; if (_arg2 == null){ _arg2 = ""; }; Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2))); } } }//package SWFStats
Section 123
//LogRequest (SWFStats.LogRequest) package SWFStats { import flash.events.*; import flash.net.*; public final class LogRequest { private var Data:String;// = "" public var Ready:Boolean;// = false private var Pieces:int; private static var Failed:int = 0; private function IOErrorHandler(_arg1:IOErrorEvent):void{ Failed++; } public function Queue(_arg1:String):void{ if (Failed > 3){ return; }; this.Pieces++; this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1)); if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){ this.Ready = true; }; } private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{ } private function StatusChange(_arg1:HTTPStatusEvent):void{ } public function Send():void{ var _local1:URLLoader = new URLLoader(); _local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler); _local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange); _local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler); _local1.load(new URLRequest((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z"))); trace((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")); } } }//package SWFStats
Section 124
//Asteroid (Asteroid) package { import flash.events.*; import flash.display.*; public dynamic class Asteroid extends MovieClip { public var rot:Number; public var image:MovieClip; public var speed:Number; public function Asteroid(){ addFrameScript(0, frame1); } function frame1(){ addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); speed = ((Math.random() * 0.2) + 0.2); rot = ((Math.random() * 0.2) - 0.4); stop(); } public function onEnterFrameHandler(_arg1:Event){ x = (x - speed); rotation = (rotation + rot); if (x < -(width)){ x = (700 + width); y = (Math.random() * 525); speed = ((Math.random() * 0.1) + 0.1); rot = ((Math.random() * 0.4) - 0.2); }; } } }//package
Section 125
//Background (Background) package { import flash.display.*; public dynamic class Background extends MovieClip { } }//package
Section 126
//BitmapBlind (BitmapBlind) package { import flash.display.*; public dynamic class BitmapBlind extends BitmapData { public function BitmapBlind(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 127
//BitmapOrange (BitmapOrange) package { import flash.display.*; public dynamic class BitmapOrange extends BitmapData { public function BitmapOrange(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 128
//BitmapSpace (BitmapSpace) package { import flash.display.*; public dynamic class BitmapSpace extends BitmapData { public function BitmapSpace(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 129
//BossBladeBase (BossBladeBase) package { import game.boss.*; public dynamic class BossBladeBase extends BossBase { public function BossBladeBase(){ addFrameScript(0, frame1, 4, frame5); } function frame5(){ gotoAndStop(1); } function frame1(){ stop(); } } }//package
Section 130
//BossFinalBase (BossFinalBase) package { import game.boss.*; public dynamic class BossFinalBase extends BossBase { public function BossFinalBase(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 131
//BossFinalBasePart (BossFinalBasePart) package { import game.boss.*; public dynamic class BossFinalBasePart extends BossPart { public function BossFinalBasePart(){ addFrameScript(0, frame1, 1, frame2, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); throat.visible = true; } function frame2(){ throat.visible = false; } } }//package
Section 132
//BossFinalFangLeft (BossFinalFangLeft) package { import game.boss.*; public dynamic class BossFinalFangLeft extends BossPart { public function BossFinalFangLeft(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 133
//BossFinalFangRight (BossFinalFangRight) package { import game.boss.*; public dynamic class BossFinalFangRight extends BossBase { public function BossFinalFangRight(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 134
//BossFinalTop (BossFinalTop) package { import game.boss.*; public dynamic class BossFinalTop extends BossPart { public function BossFinalTop(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 135
//BossShooterBase (BossShooterBase) package { import game.boss.*; public dynamic class BossShooterBase extends BossBase { public function BossShooterBase(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 136
//BossShooterHead (BossShooterHead) package { import game.boss.*; public dynamic class BossShooterHead extends BossPart { public function BossShooterHead(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 137
//BossShooterTLeft (BossShooterTLeft) package { import game.boss.*; public dynamic class BossShooterTLeft extends VerticalShooter { public function BossShooterTLeft(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 138
//BossShooterTMidLeft (BossShooterTMidLeft) package { import game.boss.*; public dynamic class BossShooterTMidLeft extends VerticalShooter { public function BossShooterTMidLeft(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 139
//BossShooterTMidRight (BossShooterTMidRight) package { import game.boss.*; public dynamic class BossShooterTMidRight extends VerticalShooter { public function BossShooterTMidRight(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 140
//BossShooterTRight (BossShooterTRight) package { import game.boss.*; public dynamic class BossShooterTRight extends VerticalShooter { public function BossShooterTRight(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 141
//BossSpiderBase (BossSpiderBase) package { import game.boss.*; public dynamic class BossSpiderBase extends BossBase { public function BossSpiderBase(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 142
//BossSpiderClawL (BossSpiderClawL) package { import game.boss.*; public dynamic class BossSpiderClawL extends BossPart { public function BossSpiderClawL(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 143
//BossSpiderClawR (BossSpiderClawR) package { import game.boss.*; public dynamic class BossSpiderClawR extends BossPart { public function BossSpiderClawR(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 144
//BossStoneBase (BossStoneBase) package { import game.boss.*; public dynamic class BossStoneBase extends BossBase { public function BossStoneBase(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 145
//BossStonePartB (BossStonePartB) package { import game.boss.*; public dynamic class BossStonePartB extends BossPart { public function BossStonePartB(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop("Normal"); } function frame1(){ stop(); } } }//package
Section 146
//BrainBase (BrainBase) package { import game.boss.*; public dynamic class BrainBase extends BossBase { public function BrainBase(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop(1); } function frame1(){ stop(); } } }//package
Section 147
//BulletHit (BulletHit) package { import game.*; public dynamic class BulletHit extends FX { public function BulletHit(){ addFrameScript(8, frame9); } function frame9(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 148
//ButtonAchievements (ButtonAchievements) package { import game.*; public dynamic class ButtonAchievements extends MenuButton { } }//package
Section 149
//ButtonCredits (ButtonCredits) package { import game.*; public dynamic class ButtonCredits extends MenuButton { } }//package
Section 150
//ButtonHighscores (ButtonHighscores) package { import game.*; public dynamic class ButtonHighscores extends MenuButton { } }//package
Section 151
//ButtonMenu (ButtonMenu) package { import game.*; public dynamic class ButtonMenu extends MenuButton { } }//package
Section 152
//ButtonMoreGames (ButtonMoreGames) package { import game.*; public dynamic class ButtonMoreGames extends MenuButton { } }//package
Section 153
//ButtonNewGame (ButtonNewGame) package { import game.*; public dynamic class ButtonNewGame extends MenuButton { } }//package
Section 154
//ButtonPlay (ButtonPlay) package { import game.*; public dynamic class ButtonPlay extends MenuButton { public function ButtonPlay(){ addFrameScript(0, frame1); } function frame1(){ } } }//package
Section 155
//DebrisBig (DebrisBig) package { import game.*; public dynamic class DebrisBig extends Debris { } }//package
Section 156
//DebrisMedium (DebrisMedium) package { import game.*; public dynamic class DebrisMedium extends Debris { } }//package
Section 157
//DebrisSmall (DebrisSmall) package { import game.*; public dynamic class DebrisSmall extends Debris { } }//package
Section 158
//Explosion (Explosion) package { import game.*; public dynamic class Explosion extends FX { public function Explosion(){ addFrameScript(18, frame19); } function frame19(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 159
//ExplosionBig (ExplosionBig) package { import game.*; public dynamic class ExplosionBig extends FX { public function ExplosionBig(){ addFrameScript(13, frame14); } function frame14(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 160
//ExplosionBlast (ExplosionBlast) package { import game.*; public dynamic class ExplosionBlast extends FX { public function ExplosionBlast(){ addFrameScript(19, frame20); } function frame20(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 161
//ExplosionBlastSmall (ExplosionBlastSmall) package { import game.*; public dynamic class ExplosionBlastSmall extends FX { public function ExplosionBlastSmall(){ addFrameScript(17, frame18); } function frame18(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 162
//ExplosionMushroom (ExplosionMushroom) package { import game.*; public dynamic class ExplosionMushroom extends FX { public function ExplosionMushroom(){ addFrameScript(34, frame35); } function frame35(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 163
//ExplosionSmall (ExplosionSmall) package { import game.*; public dynamic class ExplosionSmall extends FX { public function ExplosionSmall(){ addFrameScript(13, frame14); } function frame14(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 164
//Feed (Feed) package { import dreemchest.*; public dynamic class Feed extends Feed { } }//package
Section 165
//FeedDescription (FeedDescription) package { import flash.display.*; import flash.text.*; public dynamic class FeedDescription extends MovieClip { public var desc:TextField; } }//package
Section 166
//FeedGame (FeedGame) package { import dreemchest.*; public dynamic class FeedGame extends FeedGame { } }//package
Section 167
//FormationA (FormationA) package { import game.enemy.*; public dynamic class FormationA extends FormationEntry { } }//package
Section 168
//FormationB (FormationB) package { import game.enemy.*; public dynamic class FormationB extends FormationEntry { } }//package
Section 169
//FormationC (FormationC) package { import game.enemy.*; public dynamic class FormationC extends FormationEntry { } }//package
Section 170
//Grid (Grid) package { import flash.display.*; public dynamic class Grid extends MovieClip { } }//package
Section 171
//HUD (HUD) package { import game.*; import flash.media.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.text.*; import flash.system.*; import flash.external.*; import flash.ui.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.xml.*; public dynamic class HUD extends MovieClip { public var wave:MovieClip; public var clickHere:MovieClip; public var perf:TextField; public var rampage:MovieClip; public var abilityTip:MovieClip; public var score:TextField; public var hit:MovieClip; public var pannel:MovieClip; public var scoreDialog:ScoreDialog; public var stats:TextField; public function HUD(){ addFrameScript(0, frame1); } function frame1(){ pannel.slot0.caption.text = "1"; pannel.slot1.caption.text = "2"; pannel.slot2.caption.text = "3"; scoreDialog.visible = false; } } }//package
Section 172
//IncHealthClip (IncHealthClip) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class IncHealthClip extends MovieClip { public var caption:TextField; public function IncHealthClip(){ addFrameScript(0, frame1); } function frame1(){ addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } public function onEnterFrameHandler(_arg1:Event){ y--; alpha = (alpha - 0.01); if ((((alpha <= 0)) && (parent))){ parent.removeChild(this); }; } } }//package
Section 173
//LevelButton (LevelButton) package { import flash.display.*; import flash.text.*; public dynamic class LevelButton extends MovieClip { public var button:SimpleButton; public var caption:TextField; public var back:MovieClip; } }//package
Section 174
//MinionSpawner (MinionSpawner) package { import game.boss.*; public dynamic class MinionSpawner extends MinionSpawner { } }//package
Section 175
//MinionSpawnerLeft (MinionSpawnerLeft) package { import game.boss.*; public dynamic class MinionSpawnerLeft extends MinionSpawner { public function MinionSpawnerLeft(){ addFrameScript(0, frame1, 6, frame7); } function frame7(){ gotoAndStop(1); } function frame1(){ stop(); } } }//package
Section 176
//MinionSpawnerRight (MinionSpawnerRight) package { import game.boss.*; public dynamic class MinionSpawnerRight extends MinionSpawner { public function MinionSpawnerRight(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ gotoAndStop(1); } function frame1(){ stop(); } } }//package
Section 177
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 178
//PlasmaHit (PlasmaHit) package { import game.*; public dynamic class PlasmaHit extends FX { public function PlasmaHit(){ addFrameScript(24, frame25); } function frame25(){ if (parent){ parent.removeChild(this); }; } } }//package
Section 179
//RampageClip (RampageClip) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class RampageClip extends MovieClip { public var caption:TextField; public function RampageClip(){ addFrameScript(0, frame1); } function frame1(){ addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } public function onEnterFrameHandler(_arg1:Event){ y--; alpha = (alpha - 0.01); if ((((alpha <= 0)) && (parent))){ parent.removeChild(this); }; } } }//package
Section 180
//RampageShooter (RampageShooter) package { import game.boss.*; public dynamic class RampageShooter extends RampageShooter { } }//package
Section 181
//SmokeParticle (SmokeParticle) package { import game.*; import flash.events.*; public dynamic class SmokeParticle extends FX { public var speed:Number; public function SmokeParticle(){ addFrameScript(0, frame1); } function frame1(){ addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); speed = 2; } public function onEnterFrameHandler(_arg1:Event){ scaleX = (scaleX + speed); scaleY = (scaleY + speed); alpha = (alpha - 0.1); if (this.alpha <= 0){ removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler); if (parent){ parent.removeChild(this); }; }; } } }//package
Section 182
//SoundBomb2 (SoundBomb2) package { import flash.media.*; public dynamic class SoundBomb2 extends Sound { } }//package
Section 183
//SoundBossHit (SoundBossHit) package { import flash.media.*; public dynamic class SoundBossHit extends Sound { } }//package
Section 184
//SoundDetector (SoundDetector) package { import flash.media.*; public dynamic class SoundDetector extends Sound { } }//package
Section 185
//SoundExplosion (SoundExplosion) package { import flash.media.*; public dynamic class SoundExplosion extends Sound { } }//package
Section 186
//SoundMenuAmbience (SoundMenuAmbience) package { import flash.media.*; public dynamic class SoundMenuAmbience extends Sound { } }//package
Section 187
//SoundMissileLaunch (SoundMissileLaunch) package { import flash.media.*; public dynamic class SoundMissileLaunch extends Sound { } }//package
Section 188
//SoundMoan (SoundMoan) package { import flash.media.*; public dynamic class SoundMoan extends Sound { } }//package
Section 189
//SoundMoney (SoundMoney) package { import flash.media.*; public dynamic class SoundMoney extends Sound { } }//package
Section 190
//SoundMonsterHit1 (SoundMonsterHit1) package { import flash.media.*; public dynamic class SoundMonsterHit1 extends Sound { } }//package
Section 191
//SoundMonsterHit2 (SoundMonsterHit2) package { import flash.media.*; public dynamic class SoundMonsterHit2 extends Sound { } }//package
Section 192
//SoundMonsterHit3 (SoundMonsterHit3) package { import flash.media.*; public dynamic class SoundMonsterHit3 extends Sound { } }//package
Section 193
//SoundPowerUp (SoundPowerUp) package { import flash.media.*; public dynamic class SoundPowerUp extends Sound { } }//package
Section 194
//SoundRampage (SoundRampage) package { import flash.media.*; public dynamic class SoundRampage extends Sound { } }//package
Section 195
//SoundTheme (SoundTheme) package { import flash.media.*; public dynamic class SoundTheme extends Sound { } }//package
Section 196
//Target (Target) package { import flash.display.*; public dynamic class Target extends MovieClip { } }//package

Library Items

Symbol 1 Bitmap {BitmapSpace}
Symbol 2 BitmapUsed by:3
Symbol 3 GraphicUses:2Used by:9
Symbol 4 BitmapUsed by:5
Symbol 5 GraphicUses:4Used by:6
Symbol 6 MovieClipUses:5Used by:9
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:9
Symbol 9 MovieClip {game.enemy.Battleship}Uses:3 6 8
Symbol 10 FontUsed by:11 48 52 54 63 66 631 633 634 635 649 650 651 774 958 1005
Symbol 11 EditableTextUses:10 47 710Used by:12
Symbol 12 MovieClip {FeedDescription}Uses:11
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:17
Symbol 15 GraphicUsed by:16 93 652
Symbol 16 ButtonUses:15Used by:17 20 23 26 29 43 329
Symbol 17 MovieClip {ButtonPlay}Uses:14 16Used by:57 998
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:20
Symbol 20 MovieClip {ButtonAchievements}Uses:16 19Used by:57 998
Symbol 21 BitmapUsed by:22
Symbol 22 GraphicUses:21Used by:23
Symbol 23 MovieClip {ButtonNewGame}Uses:22 16Used by:57 998
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:26
Symbol 26 MovieClip {ButtonCredits}Uses:25 16Used by:57 998
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:27Used by:29
Symbol 29 MovieClip {ButtonMoreGames}Uses:28 16Used by:57 998
Symbol 30 BitmapUsed by:31
Symbol 31 GraphicUses:30Used by:40
Symbol 32 BitmapUsed by:33 34 35
Symbol 33 GraphicUses:32Used by:36
Symbol 34 GraphicUses:32Used by:36
Symbol 35 GraphicUses:32Used by:36
Symbol 36 ButtonUses:33 34 35Used by:40
Symbol 37 BitmapUsed by:38
Symbol 38 GraphicUses:37Used by:39
Symbol 39 ButtonUses:38Used by:40 621
Symbol 40 MovieClipUses:31 36 39Used by:57
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:43
Symbol 43 MovieClip {ButtonHighscores}Uses:16 42Used by:57 998
Symbol 44 GraphicUsed by:56
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:56
Symbol 47 FontUsed by:11 48 52 54 63 693 694 695 702 709 716 722 728 734 740 746 751 756 762
Symbol 48 TextUses:10 47Used by:56
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:51
Symbol 51 ButtonUses:50Used by:56 621
Symbol 52 TextUses:10 47Used by:53
Symbol 53 ButtonUses:52Used by:56
Symbol 54 TextUses:10 47Used by:55
Symbol 55 ButtonUses:54Used by:56
Symbol 56 MovieClipUses:44 46 48 51 53 55Used by:57
Symbol 57 MovieClip {game.MenuScreen}Uses:17 20 23 26 29 40 43 56
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClipUses:59Used by:65
Symbol 61 GraphicUsed by:62 64
Symbol 62 MovieClipUses:61Used by:65
Symbol 63 EditableTextUses:10 47 710Used by:65
Symbol 64 ButtonUses:61Used by:65
Symbol 65 MovieClip {FeedGame}Uses:60 62 63 64
Symbol 66 TextUses:10Used by:69
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 MovieClip {Feed}Uses:66 68
Symbol 70 GraphicUsed by:95
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:78
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClipUses:74Used by:78
Symbol 76 FontUsed by:77 332 341 559 592 653 665 666 668 670 704 708 769 770 827 996
Symbol 77 EditableTextUses:76 627Used by:78
Symbol 78 MovieClipUses:72 75 77Used by:95
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:95
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:83
Symbol 83 ButtonUses:82Used by:84
Symbol 84 MovieClip {black_space_fgl_fla.SponsorLogo_171}Uses:83Used by:95
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:87
Symbol 87 ButtonUses:86Used by:88
Symbol 88 MovieClip {black_space_fgl_fla.SmallLogo_73}Uses:87Used by:95 621 672  Timeline
Symbol 89 GraphicUsed by:94
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:92
Symbol 92 MovieClipUses:91Used by:94
Symbol 93 ButtonUses:15Used by:94
Symbol 94 MovieClip {black_space_fgl_fla.Logo_173}Uses:89 92 93Used by:95
Symbol 95 MovieClip {dreemchest.Preloader}Uses:70 78 80 84 88 94
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:102
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:102
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:102
Symbol 102 MovieClip {BossShooterTRight}Uses:97 99 101Used by:904
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:145
Symbol 105 BitmapUsed by:106
Symbol 106 GraphicUses:105Used by:113
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:113
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:113
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:113
Symbol 113 MovieClipUses:106 108 110 112Used by:145
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:122
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:122
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:122
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:122
Symbol 122 MovieClipUses:115 117 119 121Used by:145
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:131
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:131
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:131
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClipUses:124 126 128 130Used by:145
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:140
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:140
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:140
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:140
Symbol 140 MovieClipUses:133 135 137 139Used by:145
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:145
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145
Symbol 145 MovieClip {BossStoneBase}Uses:104 113 122 131 140 142 144Used by:153
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:152
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:152
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:152
Symbol 152 MovieClip {BossStonePartB}Uses:147 149 151Used by:153
Symbol 153 MovieClip {game.enemy.BossStone}Uses:145 152Used by:950
Symbol 154 BinaryData {game.Resources_levelsC}
Symbol 155 BinaryData {game.Resources_config}
Symbol 156 BinaryData {game.Resources_levelsB}
Symbol 157 BinaryData {game.Resources_levelsA}
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:166
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:166
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:166
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:166
Symbol 166 MovieClip {BulletHit}Uses:159 161 163 165Used by:998
Symbol 167 MovieClip {SmokeParticle}Used by:998
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClipUses:168Used by:172 998
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:172
Symbol 172 MovieClip {Explosion}Uses:171 169Used by:998
Symbol 173 MovieClip {Grid}Used by:998
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:181 600 626
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:178
Symbol 178 MovieClipUses:177Used by:181
Symbol 179 FontUsed by:180 599 617 620 625
Symbol 180 EditableTextUses:179Used by:181
Symbol 181 MovieClipUses:175 178 180Used by:614 998
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClip {Target}Uses:182Used by:998
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:260
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:194
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:194
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:194
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:194
Symbol 194 MovieClipUses:187 189 191 193Used by:260
Symbol 195 BitmapUsed by:196
Symbol 196 GraphicUses:195Used by:203
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:203
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:203
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:203
Symbol 203 MovieClipUses:196 198 200 202Used by:260
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:260
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:222
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:222
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:222
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:222
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:222
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:222
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:222
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:222
Symbol 222 MovieClipUses:207 209 211 213 215 217 219 221Used by:260
Symbol 223 BitmapUsed by:224
Symbol 224 GraphicUses:223Used by:235
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:235
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:235
Symbol 229 BitmapUsed by:230
Symbol 230 GraphicUses:229Used by:235
Symbol 231 BitmapUsed by:232
Symbol 232 GraphicUses:231Used by:235
Symbol 233 BitmapUsed by:234
Symbol 234 GraphicUses:233Used by:235
Symbol 235 MovieClipUses:224 226 228 230 232 234Used by:260
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:260
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:260
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:248
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:248
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:248
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:248
Symbol 248 MovieClipUses:241 243 245 247Used by:260
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:257
Symbol 251 BitmapUsed by:252
Symbol 252 GraphicUses:251Used by:257
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:257
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:257
Symbol 257 MovieClipUses:250 252 254 256Used by:260
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:260
Symbol 260 MovieClip {game.Bullet}Uses:185 194 203 205 222 235 237 239 248 257 259Used by:998
Symbol 261 MovieClip {Background}Used by:998
Symbol 262 MovieClip {game.GameScreen}Used by:998
Symbol 263 BitmapUsed by:264
Symbol 264 GraphicUses:263Used by:265
Symbol 265 MovieClipUses:264Used by:271
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:270
Symbol 268 GraphicUsed by:269 270
Symbol 269 MovieClipUses:268Used by:270
Symbol 270 ButtonUses:267 269 268Used by:271
Symbol 271 MovieClip {game.Player}Uses:265 270Used by:998
Symbol 272 Bitmap {BitmapOrange}Used by:325 998
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:279
Symbol 275 BitmapUsed by:276
Symbol 276 GraphicUses:275Used by:279
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:279
Symbol 279 MovieClipUses:274 276 278Used by:325
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:325
Symbol 282 BitmapUsed by:283 808
Symbol 283 GraphicUses:282Used by:325
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284Used by:300
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:300
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:300
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:300
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:300
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:300
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:300
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClip {FormationA}Uses:285 287 289 291 293 295 297 299Used by:325 998
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:317
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:317
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:317
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:317
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:317
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:317
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:317
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:317
Symbol 317 MovieClip {FormationB}Uses:302 304 306 308 310 312 314 316Used by:325 998
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:324
Symbol 320 BitmapUsed by:321
Symbol 321 GraphicUses:320Used by:324
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:324
Symbol 324 MovieClipUses:319 321 323Used by:325
Symbol 325 MovieClip {game.Enemy}Uses:272 279 281 283 300 317 324Used by:998
Symbol 326 GraphicUsed by:337
Symbol 327 BitmapUsed by:328
Symbol 328 GraphicUses:327Used by:329
Symbol 329 MovieClip {ButtonMenu}Uses:328 16Used by:337
Symbol 330 GraphicUsed by:331
Symbol 331 MovieClipUses:330Used by:337
Symbol 332 EditableTextUses:76 627Used by:337
Symbol 333 BitmapUsed by:334
Symbol 334 GraphicUses:333Used by:335 336
Symbol 335 MovieClipUses:334Used by:336
Symbol 336 ButtonUses:335 334Used by:337
Symbol 337 MovieClip {game.LevelScreen}Uses:326 329 331 332 336Used by:998
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:340
Symbol 340 MovieClipUses:339Used by:344
Symbol 341 EditableTextUses:76Used by:344
Symbol 342 GraphicUsed by:343
Symbol 343 ButtonUses:342Used by:344
Symbol 344 MovieClip {LevelButton}Uses:340 341 343Used by:998
Symbol 345 GraphicUsed by:346
Symbol 346 MovieClipUses:345Used by:347
Symbol 347 MovieClip {dreemchest.FadeToBlack}Uses:346Used by:998
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:350
Symbol 350 MovieClipUses:349Used by:351
Symbol 351 MovieClip {game.powerup.EnergyCell}Uses:350Used by:672 998
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:364
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:364
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:364
Symbol 358 BitmapUsed by:359
Symbol 359 GraphicUses:358Used by:364
Symbol 360 BitmapUsed by:361
Symbol 361 GraphicUses:360Used by:364
Symbol 362 BitmapUsed by:363
Symbol 363 GraphicUses:362Used by:364
Symbol 364 MovieClipUses:353 355 357 359 361 363Used by:371 614 672 768 775
Symbol 365 BitmapUsed by:366 632
Symbol 366 GraphicUses:365Used by:371
Symbol 367 BitmapUsed by:368 632
Symbol 368 GraphicUses:367Used by:371
Symbol 369 BitmapUsed by:370 632
Symbol 370 GraphicUses:369Used by:371
Symbol 371 MovieClip {game.powerup.Money}Uses:364 366 368 370Used by:998
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:398
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:398
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:398
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:398
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:398
Symbol 382 BitmapUsed by:383
Symbol 383 GraphicUses:382Used by:398
Symbol 384 BitmapUsed by:385
Symbol 385 GraphicUses:384Used by:398
Symbol 386 BitmapUsed by:387
Symbol 387 GraphicUses:386Used by:398
Symbol 388 BitmapUsed by:389
Symbol 389 GraphicUses:388Used by:398
Symbol 390 BitmapUsed by:391
Symbol 391 GraphicUses:390Used by:398
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:398
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:398
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:398
Symbol 398 MovieClip {ExplosionSmall}Uses:373 375 377 379 381 383 385 387 389 391 393 395 397Used by:998
Symbol 399 BitmapUsed by:400
Symbol 400 GraphicUses:399Used by:425
Symbol 401 BitmapUsed by:402
Symbol 402 GraphicUses:401Used by:425
Symbol 403 BitmapUsed by:404
Symbol 404 GraphicUses:403Used by:425
Symbol 405 BitmapUsed by:406
Symbol 406 GraphicUses:405Used by:425
Symbol 407 BitmapUsed by:408
Symbol 408 GraphicUses:407Used by:425
Symbol 409 BitmapUsed by:410
Symbol 410 GraphicUses:409Used by:425
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:411Used by:425
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:425
Symbol 415 BitmapUsed by:416
Symbol 416 GraphicUses:415Used by:425
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:425
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:425
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:425
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:425
Symbol 425 MovieClip {ExplosionBig}Uses:400 402 404 406 408 410 412 414 416 418 420 422 424Used by:998
Symbol 426 BitmapUsed by:427
Symbol 427 GraphicUses:426Used by:460
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:460
Symbol 430 BitmapUsed by:431
Symbol 431 GraphicUses:430Used by:460
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:460
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:460
Symbol 436 BitmapUsed by:437
Symbol 437 GraphicUses:436Used by:460
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:460
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:460
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:460
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:460
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:460
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:460
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:460
Symbol 452 BitmapUsed by:453
Symbol 453 GraphicUses:452Used by:460
Symbol 454 BitmapUsed by:455
Symbol 455 GraphicUses:454Used by:460
Symbol 456 BitmapUsed by:457
Symbol 457 GraphicUses:456Used by:460
Symbol 458 BitmapUsed by:459
Symbol 459 GraphicUses:458Used by:460
Symbol 460 MovieClip {ExplosionMushroom}Uses:427 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459Used by:998
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:473
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:473
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:473
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:473
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:473
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:473
Symbol 473 MovieClip {DebrisSmall}Uses:462 464 466 468 470 472Used by:998
Symbol 474 BitmapUsed by:475
Symbol 475 GraphicUses:474Used by:486
Symbol 476 BitmapUsed by:477
Symbol 477 GraphicUses:476Used by:486
Symbol 478 BitmapUsed by:479
Symbol 479 GraphicUses:478Used by:486
Symbol 480 BitmapUsed by:481
Symbol 481 GraphicUses:480Used by:486
Symbol 482 BitmapUsed by:483
Symbol 483 GraphicUses:482Used by:486
Symbol 484 BitmapUsed by:485
Symbol 485 GraphicUses:484Used by:486
Symbol 486 MovieClip {DebrisMedium}Uses:475 477 479 481 483 485Used by:998
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 {DebrisBig}Uses:488 490 492 494 496 498Used by:998
Symbol 500 BitmapUsed by:501
Symbol 501 GraphicUses:500Used by:516
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:516
Symbol 504 BitmapUsed by:505
Symbol 505 GraphicUses:504Used by:516
Symbol 506 BitmapUsed by:507
Symbol 507 GraphicUses:506Used by:516
Symbol 508 BitmapUsed by:509
Symbol 509 GraphicUses:508Used by:516
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:516
Symbol 512 BitmapUsed by:513
Symbol 513 GraphicUses:512Used by:516
Symbol 514 BitmapUsed by:515
Symbol 515 GraphicUses:514Used by:516
Symbol 516 MovieClip {PlasmaHit}Uses:501 503 505 507 509 511 513 515Used by:998
Symbol 517 Bitmap {BitmapBlind}Used by:998
Symbol 518 BitmapUsed by:519
Symbol 519 GraphicUses:518Used by:522
Symbol 520 FontUsed by:521 560 561
Symbol 521 EditableTextUses:520Used by:522
Symbol 522 MovieClip {RampageClip}Uses:519 521Used by:998
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:525
Symbol 525 MovieClip {FormationC}Uses:524Used by:998
Symbol 526 BitmapUsed by:527
Symbol 527 GraphicUses:526Used by:538
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:538
Symbol 530 BitmapUsed by:531
Symbol 531 GraphicUses:530Used by:538
Symbol 532 BitmapUsed by:533
Symbol 533 GraphicUses:532Used by:538
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:538
Symbol 536 BitmapUsed by:537
Symbol 537 GraphicUses:536Used by:538
Symbol 538 MovieClip {game.enemy.Cockroach}Uses:527 529 531 533 535 537Used by:998
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:553
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:553
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:553
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:553
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:553
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:553
Symbol 551 BitmapUsed by:552
Symbol 552 GraphicUses:551Used by:553
Symbol 553 MovieClipUses:540 542 544 546 548 550 552Used by:554
Symbol 554 MovieClip {Asteroid}Uses:553Used by:998
Symbol 555 GraphicUsed by:556
Symbol 556 MovieClipUses:555Used by:673
Symbol 557 GraphicUsed by:558
Symbol 558 MovieClipUses:557Used by:673
Symbol 559 EditableTextUses:76Used by:673
Symbol 560 EditableTextUses:520Used by:673
Symbol 561 EditableTextUses:520Used by:673
Symbol 562 BitmapUsed by:563
Symbol 563 GraphicUses:562Used by:614
Symbol 564 BitmapUsed by:565
Symbol 565 GraphicUses:564Used by:566
Symbol 566 MovieClipUses:565Used by:595
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:591
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:591
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:591
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:591
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:591
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:591
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:591
Symbol 581 BitmapUsed by:582
Symbol 582 GraphicUses:581Used by:591
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:591
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:591
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:591
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:591
Symbol 591 MovieClipUses:568 570 572 574 576 578 580 582 584 586 588 590Used by:595 697 995
Symbol 592 EditableTextUses:76 627Used by:595
Symbol 593 GraphicUsed by:594
Symbol 594 MovieClipUses:593Used by:595
Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61}Uses:566 591 592 594Used by:614
Symbol 596 BitmapUsed by:597
Symbol 597 GraphicUses:596Used by:598
Symbol 598 MovieClipUses:597Used by:600
Symbol 599 EditableTextUses:179Used by:600
Symbol 600 MovieClipUses:175 598 599Used by:614
Symbol 601 FontUsed by:602 613 635
Symbol 602 EditableTextUses:601Used by:614
Symbol 603 BitmapUsed by:604
Symbol 604 GraphicUses:603Used by:611
Symbol 605 BitmapUsed by:606
Symbol 606 GraphicUses:605Used by:611
Symbol 607 BitmapUsed by:608
Symbol 608 GraphicUses:607Used by:611
Symbol 609 BitmapUsed by:610
Symbol 610 GraphicUses:609Used by:611
Symbol 611 MovieClipUses:604 606 608 610Used by:612 672 775
Symbol 612 MovieClip {game.powerup.Crystal}Uses:611Used by:614 768 998
Symbol 613 EditableTextUses:601Used by:614
Symbol 614 MovieClipUses:563 595 181 600 602 364 612 613Used by:673
Symbol 615 BitmapUsed by:616
Symbol 616 GraphicUses:615Used by:621
Symbol 617 EditableTextUses:179Used by:621
Symbol 618 GraphicUsed by:619
Symbol 619 MovieClipUses:618Used by:621
Symbol 620 EditableTextUses:179Used by:621
Symbol 621 MovieClip {game.ScoreDialog}Uses:616 617 39 51 619 620 88Used by:673
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:624
Symbol 624 MovieClipUses:623Used by:626
Symbol 625 EditableTextUses:179Used by:626
Symbol 626 MovieClipUses:175 624 625Used by:673
Symbol 627 FontUsed by:77 332 592 628 769 770
Symbol 628 TextUses:627Used by:629
Symbol 629 MovieClipUses:628Used by:673
Symbol 630 GraphicUsed by:672
Symbol 631 TextUses:10Used by:672
Symbol 632 GraphicUses:369 367 365Used by:672
Symbol 633 TextUses:10Used by:672
Symbol 634 TextUses:10Used by:672
Symbol 635 TextUses:601 10Used by:672
Symbol 636 BitmapUsed by:637
Symbol 637 GraphicUses:636Used by:648
Symbol 638 BitmapUsed by:639
Symbol 639 GraphicUses:638Used by:648
Symbol 640 BitmapUsed by:641
Symbol 641 GraphicUses:640Used by:648
Symbol 642 BitmapUsed by:643
Symbol 643 GraphicUses:642Used by:648
Symbol 644 BitmapUsed by:645
Symbol 645 GraphicUses:644Used by:648
Symbol 646 BitmapUsed by:647
Symbol 647 GraphicUses:646Used by:648
Symbol 648 MovieClip {game.powerup.SuperCrystal}Uses:637 639 641 643 645 647Used by:672 998
Symbol 649 TextUses:10Used by:672
Symbol 650 TextUses:10Used by:672
Symbol 651 TextUses:10Used by:672
Symbol 652 ButtonUses:15Used by:672
Symbol 653 TextUses:76Used by:654
Symbol 654 ButtonUses:653Used by:672
Symbol 655 BitmapUsed by:656 657
Symbol 656 GraphicUses:655Used by:658
Symbol 657 GraphicUses:655Used by:658
Symbol 658 ButtonUses:656 657Used by:659
Symbol 659 MovieClip {black_space_fgl_fla.ToggleMusic_82}Uses:658Used by:672 1006
Symbol 660 BitmapUsed by:661 662
Symbol 661 GraphicUses:660Used by:663
Symbol 662 GraphicUses:660Used by:663
Symbol 663 ButtonUses:661 662Used by:664
Symbol 664 MovieClip {black_space_fgl_fla.ToggleSound_84}Uses:663Used by:672 1006
Symbol 665 TextUses:76Used by:672
Symbol 666 TextUses:76Used by:667
Symbol 667 ButtonUses:666Used by:672
Symbol 668 TextUses:76Used by:669
Symbol 669 ButtonUses:668Used by:672
Symbol 670 TextUses:76Used by:671
Symbol 671 ButtonUses:670Used by:672
Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78}Uses:630 364 631 632 351 633 611 634 635 648 649 650 651 652 654 659 664 665 667 669 671 88Used by:673
Symbol 673 MovieClip {HUD}Uses:556 558 559 560 561 614 621 626 629 672Used by:998
Symbol 674 ShapeTweeningUsed by:678
Symbol 675 ShapeTweeningUsed by:678
Symbol 676 ShapeTweeningUsed by:678
Symbol 677 GraphicUsed by:678
Symbol 678 MovieClip {ExplosionBlast}Uses:674 675 676 677Used by:998
Symbol 679 ShapeTweeningUsed by:682
Symbol 680 ShapeTweeningUsed by:682
Symbol 681 GraphicUsed by:682
Symbol 682 MovieClip {ExplosionBlastSmall}Uses:679 680 681Used by:998
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:775
Symbol 685 BitmapUsed by:686
Symbol 686 GraphicUses:685Used by:689
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:689 690
Symbol 689 MovieClipUses:686 688Used by:697
Symbol 690 MovieClipUses:688Used by:697
Symbol 691 GraphicUsed by:692
Symbol 692 ButtonUses:691Used by:697
Symbol 693 TextUses:47Used by:696
Symbol 694 TextUses:47Used by:696
Symbol 695 TextUses:47Used by:696
Symbol 696 MovieClipUses:693 694 695Used by:697
Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}Uses:689 690 591 692 696Used by:775
Symbol 698 BitmapUsed by:699
Symbol 699 GraphicUses:698Used by:700 701
Symbol 700 MovieClipUses:699Used by:701
Symbol 701 ButtonUses:700 699Used by:775
Symbol 702 TextUses:47Used by:703
Symbol 703 ButtonUses:702Used by:775
Symbol 704 TextUses:76Used by:775
Symbol 705 BitmapUsed by:706
Symbol 706 GraphicUses:705Used by:707
Symbol 707 MovieClipUses:706Used by:775
Symbol 708 EditableTextUses:76Used by:768
Symbol 709 TextUses:47Used by:768
Symbol 710 FontUsed by:11 63 711 712 713 717 718 719 723 724 725 729 730 731 735 736 737 741 742 743 747 748 752 753 757 758 759 763 764 765
Symbol 711 TextUses:710Used by:768
Symbol 712 TextUses:710Used by:768
Symbol 713 TextUses:710Used by:768
Symbol 714 VideoUsed by:715
Symbol 715 MovieClipUses:714 SS1Used by:768
Symbol 716 TextUses:47Used by:768
Symbol 717 TextUses:710Used by:768
Symbol 718 TextUses:710Used by:768
Symbol 719 TextUses:710Used by:768
Symbol 720 VideoUsed by:721
Symbol 721 MovieClipUses:720 SS2Used by:768
Symbol 722 TextUses:47Used by:768
Symbol 723 TextUses:710Used by:768
Symbol 724 TextUses:710Used by:768
Symbol 725 TextUses:710Used by:768
Symbol 726 VideoUsed by:727
Symbol 727 MovieClipUses:726 SS3Used by:768
Symbol 728 TextUses:47Used by:768
Symbol 729 TextUses:710Used by:768
Symbol 730 TextUses:710Used by:768
Symbol 731 TextUses:710Used by:768
Symbol 732 VideoUsed by:733
Symbol 733 MovieClipUses:732 SS4Used by:768
Symbol 734 TextUses:47Used by:768
Symbol 735 TextUses:710Used by:768
Symbol 736 TextUses:710Used by:768
Symbol 737 TextUses:710Used by:768
Symbol 738 VideoUsed by:739
Symbol 739 MovieClipUses:738 SS5Used by:768
Symbol 740 TextUses:47Used by:768
Symbol 741 TextUses:710Used by:768
Symbol 742 TextUses:710Used by:768
Symbol 743 TextUses:710Used by:768
Symbol 744 VideoUsed by:745
Symbol 745 MovieClipUses:744 SS6Used by:768
Symbol 746 TextUses:47Used by:768
Symbol 747 TextUses:710Used by:768
Symbol 748 TextUses:710Used by:768
Symbol 749 VideoUsed by:750
Symbol 750 MovieClipUses:749 SS7Used by:768
Symbol 751 TextUses:47Used by:768
Symbol 752 TextUses:710Used by:768
Symbol 753 TextUses:710Used by:768
Symbol 754 VideoUsed by:755
Symbol 755 MovieClipUses:754 SS8Used by:768
Symbol 756 TextUses:47Used by:768
Symbol 757 TextUses:710Used by:768
Symbol 758 TextUses:710Used by:768
Symbol 759 TextUses:710Used by:768
Symbol 760 VideoUsed by:761
Symbol 761 MovieClipUses:760 SS9Used by:768
Symbol 762 TextUses:47Used by:768
Symbol 763 TextUses:710Used by:768
Symbol 764 TextUses:710Used by:768
Symbol 765 TextUses:710Used by:768
Symbol 766 VideoUsed by:767
Symbol 767 MovieClipUses:766 SS10Used by:768
Symbol 768 MovieClip {black_space_fgl_fla.UpgradeDescription_106}Uses:708 364 612 709 711 712 713 715 716 717 718 719 721 722 723 724 725 727 728 729 730 731 733 734 735 736 737 739 740 741 742 743 745 746 747 748 750 751 752 753 755 756 757 758 759 761 762 763 764 765 767Used by:775
Symbol 769 EditableTextUses:76 627Used by:775
Symbol 770 EditableTextUses:76 627Used by:775
Symbol 771 BitmapUsed by:772
Symbol 772 GraphicUses:771Used by:773
Symbol 773 MovieClipUses:772Used by:775
Symbol 774 TextUses:10Used by:775
Symbol 775 MovieClip {game.UpgradePannel}Uses:684 697 701 703 704 707 768 364 769 611 770 773 774Used by:998
Symbol 776 BitmapUsed by:777
Symbol 777 GraphicUses:776Used by:778
Symbol 778 MovieClipUses:777Used by:779
Symbol 779 MovieClip {game.abilities.Turret}Uses:778Used by:998
Symbol 780 BitmapUsed by:781
Symbol 781 GraphicUses:780Used by:788
Symbol 782 BitmapUsed by:783
Symbol 783 GraphicUses:782Used by:788
Symbol 784 BitmapUsed by:785
Symbol 785 GraphicUses:784Used by:788
Symbol 786 BitmapUsed by:787
Symbol 787 GraphicUses:786Used by:788
Symbol 788 MovieClip {game.enemy.Saw}Uses:781 783 785 787Used by:998
Symbol 789 BitmapUsed by:790
Symbol 790 GraphicUses:789Used by:797
Symbol 791 BitmapUsed by:792
Symbol 792 GraphicUses:791Used by:797
Symbol 793 BitmapUsed by:794
Symbol 794 GraphicUses:793Used by:797
Symbol 795 BitmapUsed by:796
Symbol 796 GraphicUses:795Used by:797
Symbol 797 MovieClip {MinionSpawnerRight}Uses:790 792 794 796Used by:817
Symbol 798 BitmapUsed by:799
Symbol 799 GraphicUses:798Used by:806
Symbol 800 BitmapUsed by:801
Symbol 801 GraphicUses:800Used by:806
Symbol 802 BitmapUsed by:803
Symbol 803 GraphicUses:802Used by:806
Symbol 804 BitmapUsed by:805
Symbol 805 GraphicUses:804Used by:806
Symbol 806 MovieClip {MinionSpawnerLeft}Uses:799 801 803 805Used by:817
Symbol 807 BitmapUsed by:808
Symbol 808 GraphicUses:282 807Used by:815
Symbol 809 BitmapUsed by:811
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:809 810Used by:815
Symbol 812 BitmapUsed by:814
Symbol 813 BitmapUsed by:814
Symbol 814 GraphicUses:812 813Used by:815
Symbol 815 MovieClip {BossBladeBase}Uses:808 811 814Used by:817
Symbol 816 MovieClip {RampageShooter}Used by:817 826 868 949
Symbol 817 MovieClip {game.enemy.BossBlade}Uses:797 806 815 816Used by:950
Symbol 818 BitmapUsed by:819
Symbol 819 GraphicUses:818Used by:824
Symbol 820 BitmapUsed by:821
Symbol 821 GraphicUses:820Used by:824
Symbol 822 BitmapUsed by:823
Symbol 823 GraphicUses:822Used by:824
Symbol 824 MovieClip {BrainBase}Uses:819 821 823Used by:826
Symbol 825 MovieClip {MinionSpawner}Used by:826 868 904 949
Symbol 826 MovieClip {game.enemy.BossBrain}Uses:824 816 825Used by:950
Symbol 827 TextUses:76Used by:950
Symbol 828 BitmapUsed by:829
Symbol 829 GraphicUses:828Used by:834
Symbol 830 BitmapUsed by:831
Symbol 831 GraphicUses:830Used by:834
Symbol 832 BitmapUsed by:833
Symbol 833 GraphicUses:832Used by:834
Symbol 834 MovieClip {BossSpiderClawL}Uses:829 831 833Used by:868
Symbol 835 BitmapUsed by:836
Symbol 836 GraphicUses:835Used by:841
Symbol 837 BitmapUsed by:838
Symbol 838 GraphicUses:837Used by:841
Symbol 839 BitmapUsed by:840
Symbol 840 GraphicUses:839Used by:841
Symbol 841 MovieClip {BossSpiderClawR}Uses:836 838 840Used by:868
Symbol 842 BitmapUsed by:843
Symbol 843 GraphicUses:842Used by:867
Symbol 844 BitmapUsed by:845
Symbol 845 GraphicUses:844Used by:860
Symbol 846 BitmapUsed by:847
Symbol 847 GraphicUses:846Used by:860
Symbol 848 BitmapUsed by:849
Symbol 849 GraphicUses:848Used by:860
Symbol 850 BitmapUsed by:851
Symbol 851 GraphicUses:850Used by:860
Symbol 852 BitmapUsed by:853
Symbol 853 GraphicUses:852Used by:860
Symbol 854 BitmapUsed by:855
Symbol 855 GraphicUses:854Used by:860
Symbol 856 BitmapUsed by:857
Symbol 857 GraphicUses:856Used by:860
Symbol 858 BitmapUsed by:859
Symbol 859 GraphicUses:858Used by:860
Symbol 860 MovieClip {black_space_fgl_fla.BossSpiderEye_141}Uses:845 847 849 851 853 855 857 859Used by:867
Symbol 861 BitmapUsed by:862
Symbol 862 GraphicUses:861Used by:867
Symbol 863 BitmapUsed by:864
Symbol 864 GraphicUses:863Used by:867
Symbol 865 BitmapUsed by:866
Symbol 866 GraphicUses:865Used by:867
Symbol 867 MovieClip {BossSpiderBase}Uses:843 860 862 864 866Used by:868
Symbol 868 MovieClip {game.enemy.BossSpider}Uses:825 816 834 841 867Used by:950
Symbol 869 BitmapUsed by:870
Symbol 870 GraphicUses:869Used by:875
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:875
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:875
Symbol 875 MovieClip {BossShooterBase}Uses:870 872 874Used by:904
Symbol 876 BitmapUsed by:877
Symbol 877 GraphicUses:876Used by:882
Symbol 878 BitmapUsed by:879
Symbol 879 GraphicUses:878Used by:882
Symbol 880 BitmapUsed by:881
Symbol 881 GraphicUses:880Used by:882
Symbol 882 MovieClip {BossShooterHead}Uses:877 879 881Used by:904
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:889
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:889
Symbol 887 BitmapUsed by:888
Symbol 888 GraphicUses:887Used by:889
Symbol 889 MovieClip {BossShooterTLeft}Uses:884 886 888Used by:904
Symbol 890 BitmapUsed by:891
Symbol 891 GraphicUses:890Used by:896
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:896
Symbol 894 BitmapUsed by:895
Symbol 895 GraphicUses:894Used by:896
Symbol 896 MovieClip {BossShooterTMidLeft}Uses:891 893 895Used by:904
Symbol 897 BitmapUsed by:898
Symbol 898 GraphicUses:897Used by:903
Symbol 899 BitmapUsed by:900
Symbol 900 GraphicUses:899Used by:903
Symbol 901 BitmapUsed by:902
Symbol 902 GraphicUses:901Used by:903
Symbol 903 MovieClip {BossShooterTMidRight}Uses:898 900 902Used by:904
Symbol 904 MovieClip {game.enemy.BossShooter}Uses:825 875 882 889 896 903 102Used by:950
Symbol 905 BitmapUsed by:906
Symbol 906 GraphicUses:905Used by:911
Symbol 907 BitmapUsed by:908
Symbol 908 GraphicUses:907Used by:911
Symbol 909 BitmapUsed by:910
Symbol 910 GraphicUses:909Used by:911
Symbol 911 MovieClip {BossFinalFangLeft}Uses:906 908 910Used by:949
Symbol 912 BitmapUsed by:913
Symbol 913 GraphicUses:912Used by:918
Symbol 914 BitmapUsed by:915
Symbol 915 GraphicUses:914Used by:918
Symbol 916 BitmapUsed by:917
Symbol 917 GraphicUses:916Used by:918
Symbol 918 MovieClip {BossFinalFangRight}Uses:913 915 917Used by:949
Symbol 919 BitmapUsed by:920
Symbol 920 GraphicUses:919Used by:925
Symbol 921 BitmapUsed by:922
Symbol 922 GraphicUses:921Used by:925
Symbol 923 BitmapUsed by:924
Symbol 924 GraphicUses:923Used by:925
Symbol 925 MovieClip {BossFinalBase}Uses:920 922 924Used by:949
Symbol 926 BitmapUsed by:927
Symbol 927 GraphicUses:926Used by:941
Symbol 928 BitmapUsed by:929
Symbol 929 GraphicUses:928Used by:936
Symbol 930 BitmapUsed by:931
Symbol 931 GraphicUses:930Used by:936
Symbol 932 BitmapUsed by:933
Symbol 933 GraphicUses:932Used by:936
Symbol 934 BitmapUsed by:935
Symbol 935 GraphicUses:934Used by:936
Symbol 936 MovieClip {black_space_fgl_fla.BossFinalThroat_154}Uses:929 931 933 935Used by:941
Symbol 937 BitmapUsed by:938
Symbol 938 GraphicUses:937Used by:941
Symbol 939 BitmapUsed by:940
Symbol 940 GraphicUses:939Used by:941
Symbol 941 MovieClip {BossFinalBasePart}Uses:927 936 938 940Used by:949
Symbol 942 BitmapUsed by:943
Symbol 943 GraphicUses:942Used by:948
Symbol 944 BitmapUsed by:945
Symbol 945 GraphicUses:944Used by:948
Symbol 946 BitmapUsed by:947
Symbol 947 GraphicUses:946Used by:948
Symbol 948 MovieClip {BossFinalTop}Uses:943 945 947Used by:949
Symbol 949 MovieClip {game.enemy.BossFinal}Uses:911 918 925 941 816 825 948Used by:950
Symbol 950 MovieClipUses:817 826 827 153 868 904 949Used by:998
Symbol 951 BitmapUsed by:952
Symbol 952 GraphicUses:951Used by:957
Symbol 953 BitmapUsed by:954
Symbol 954 GraphicUses:953Used by:957
Symbol 955 BitmapUsed by:956
Symbol 956 GraphicUses:955Used by:957
Symbol 957 MovieClip {game.enemy.SuperSaw}Uses:952 954 956Used by:998
Symbol 958 TextUses:10Used by:973
Symbol 959 Sound {SoundBomb2}Used by:973
Symbol 960 Sound {SoundDetector}Used by:973
Symbol 961 Sound {SoundExplosion}Used by:973
Symbol 962 Sound {SoundBossHit}Used by:973
Symbol 963 Sound {SoundMissileLaunch}Used by:973
Symbol 964 Sound {SoundMoan}Used by:973
Symbol 965 Sound {SoundMoney}Used by:973
Symbol 966 Sound {SoundMonsterHit1}Used by:973
Symbol 967 Sound {SoundMonsterHit2}Used by:973
Symbol 968 Sound {SoundMonsterHit3}Used by:973
Symbol 969 Sound {SoundTheme}Used by:973
Symbol 970 Sound {SoundRampage}Used by:973
Symbol 971 Sound {SoundPowerUp}Used by:973
Symbol 972 Sound {SoundMenuAmbience}Used by:973
Symbol 973 MovieClip {black_space_fgl_fla.SoundClip_157}Uses:958 959 960 961 962 963 964 965 966 967 968 969 970 971 972Used by:998
Symbol 974 BitmapUsed by:975
Symbol 975 GraphicUses:974Used by:976
Symbol 976 MovieClip {game.enemy.SpiderMinion}Uses:975Used by:998
Symbol 977 BitmapUsed by:978
Symbol 978 GraphicUses:977Used by:983
Symbol 979 BitmapUsed by:980
Symbol 980 GraphicUses:979Used by:983
Symbol 981 BitmapUsed by:982
Symbol 982 GraphicUses:981Used by:983
Symbol 983 MovieClip {game.enemy.FangLeftMinion}Uses:978 980 982Used by:998
Symbol 984 BitmapUsed by:985
Symbol 985 GraphicUses:984Used by:990
Symbol 986 BitmapUsed by:987
Symbol 987 GraphicUses:986Used by:990
Symbol 988 BitmapUsed by:989
Symbol 989 GraphicUses:988Used by:990
Symbol 990 MovieClip {game.enemy.FangRightMinion}Uses:985 987 989Used by:998
Symbol 991 GraphicUsed by:992
Symbol 992 MovieClip {game.AsteroidBackground}Uses:991Used by:998 1006
Symbol 993 BitmapUsed by:994
Symbol 994 GraphicUses:993Used by:995
Symbol 995 MovieClip {game.powerup.AbilityPU}Uses:994 591Used by:998
Symbol 996 TextUses:76Used by:997
Symbol 997 MovieClip {IncHealthClip}Uses:996Used by:998
Symbol 998 MovieClipUses:166 167 169 172 173 181 183 260 261 262 271 325 337 344 347 351 371 398 425 460 473 486 499 516 272 517 522 300 317 525 538 554 673 17 20 26 23 29 678 682 775 779 612 788 950 648 957 973 976 983 990 992 43 995 997Used by:Timeline
Symbol 999 GraphicUsed by:Timeline
Symbol 1000 BitmapUsed by:1001
Symbol 1001 GraphicUses:1000Used by:1006
Symbol 1002 FontUsed by:1003
Symbol 1003 TextUses:1002Used by:1004
Symbol 1004 MovieClipUses:1003Used by:1006
Symbol 1005 TextUses:10Used by:1006
Symbol 1006 MovieClip {black_space_fgl_fla.GlobalBackground_165}Uses:992 1001 1004 659 664 1005Used by:Timeline
Streaming Sound 1Used by:Symbol 715 MovieClip
Streaming Sound 2Used by:Symbol 721 MovieClip
Streaming Sound 3Used by:Symbol 727 MovieClip
Streaming Sound 4Used by:Symbol 733 MovieClip
Streaming Sound 5Used by:Symbol 739 MovieClip
Streaming Sound 6Used by:Symbol 745 MovieClip
Streaming Sound 7Used by:Symbol 750 MovieClip
Streaming Sound 8Used by:Symbol 755 MovieClip
Streaming Sound 9Used by:Symbol 761 MovieClip
Streaming Sound 10Used by:Symbol 767 MovieClip

Instance Names

"globalBack"Frame 41Symbol 1006 MovieClip {black_space_fgl_fla.GlobalBackground_165}
"turretLeft"Symbol 9 MovieClip {game.enemy.Battleship} Frame 1Symbol 6 MovieClip
"turretRight"Symbol 9 MovieClip {game.enemy.Battleship} Frame 1Symbol 6 MovieClip
"desc"Symbol 12 MovieClip {FeedDescription} Frame 1Symbol 11 EditableText
"button"Symbol 17 MovieClip {ButtonPlay} Frame 1Symbol 16 Button
"button"Symbol 20 MovieClip {ButtonAchievements} Frame 1Symbol 16 Button
"button"Symbol 23 MovieClip {ButtonNewGame} Frame 1Symbol 16 Button
"button"Symbol 26 MovieClip {ButtonCredits} Frame 1Symbol 16 Button
"button"Symbol 29 MovieClip {ButtonMoreGames} Frame 1Symbol 16 Button
"yes"Symbol 40 MovieClip Frame 1Symbol 36 Button
"cancel"Symbol 40 MovieClip Frame 1Symbol 39 Button
"button"Symbol 43 MovieClip {ButtonHighscores} Frame 1Symbol 16 Button
"ok"Symbol 56 MovieClip Frame 1Symbol 51 Button
"dreemchest"Symbol 56 MovieClip Frame 1Symbol 53 Button
"lostgarden"Symbol 56 MovieClip Frame 1Symbol 55 Button
"buttonResume"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 17 MovieClip {ButtonPlay}
"buttonSurvival"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 20 MovieClip {ButtonAchievements}
"buttonNewGame"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 23 MovieClip {ButtonNewGame}
"buttonCredits"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 26 MovieClip {ButtonCredits}
"buttonMoreGames"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 29 MovieClip {ButtonMoreGames}
"newgame"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 40 MovieClip
"buttonHighscores"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 43 MovieClip {ButtonHighscores}
"credits"Symbol 57 MovieClip {game.MenuScreen} Frame 1Symbol 56 MovieClip
"image"Symbol 65 MovieClip {FeedGame} Frame 1Symbol 62 MovieClip
"caption"Symbol 65 MovieClip {FeedGame} Frame 1Symbol 63 EditableText
"button"Symbol 65 MovieClip {FeedGame} Frame 1Symbol 64 Button
"filler"Symbol 78 MovieClip Frame 1Symbol 75 MovieClip
"caption"Symbol 78 MovieClip Frame 1Symbol 77 EditableText
"button"Symbol 84 MovieClip {black_space_fgl_fla.SponsorLogo_171} Frame 1Symbol 83 Button
"button"Symbol 88 MovieClip {black_space_fgl_fla.SmallLogo_73} Frame 1Symbol 87 Button
"button"Symbol 94 MovieClip {black_space_fgl_fla.Logo_173} Frame 1Symbol 93 Button
"bar"Symbol 95 MovieClip {dreemchest.Preloader} Frame 1Symbol 78 MovieClip
"cpmStar"Symbol 95 MovieClip {dreemchest.Preloader} Frame 1Symbol 80 MovieClip
"eyeBig"Symbol 145 MovieClip {BossStoneBase} Frame 1Symbol 113 MovieClip
"eyeB"Symbol 145 MovieClip {BossStoneBase} Frame 1Symbol 122 MovieClip
"eyeA"Symbol 145 MovieClip {BossStoneBase} Frame 1Symbol 131 MovieClip
"stone"Symbol 153 MovieClip {game.enemy.BossStone} Frame 1Symbol 145 MovieClip {BossStoneBase}
"closer"Symbol 153 MovieClip {game.enemy.BossStone} Frame 1Symbol 152 MovieClip {BossStonePartB}
"filler"Symbol 181 MovieClip Frame 1Symbol 178 MovieClip
"caption"Symbol 181 MovieClip Frame 1Symbol 180 EditableText
"shield"Symbol 271 MovieClip {game.Player} Frame 1Symbol 270 Button
"button"Symbol 329 MovieClip {ButtonMenu} Frame 1Symbol 16 Button
"menu"Symbol 337 MovieClip {game.LevelScreen} Frame 1Symbol 329 MovieClip {ButtonMenu}
"upgradeMarker"Symbol 337 MovieClip {game.LevelScreen} Frame 1Symbol 331 MovieClip
"score"Symbol 337 MovieClip {game.LevelScreen} Frame 1Symbol 332 EditableText
"openUpgrades"Symbol 337 MovieClip {game.LevelScreen} Frame 1Symbol 336 Button
"back"Symbol 344 MovieClip {LevelButton} Frame 1Symbol 340 MovieClip
"caption"Symbol 344 MovieClip {LevelButton} Frame 1Symbol 341 EditableText
"button"Symbol 344 MovieClip {LevelButton} Frame 1Symbol 343 Button
"filler"Symbol 347 MovieClip {dreemchest.FadeToBlack} Frame 1Symbol 346 MovieClip
"caption"Symbol 522 MovieClip {RampageClip} Frame 1Symbol 521 EditableText
"image"Symbol 554 MovieClip {Asteroid} Frame 1Symbol 553 MovieClip
"image"Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61} Frame 1Symbol 591 MovieClip
"caption"Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61} Frame 1Symbol 592 EditableText
"cooldown"Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61} Frame 1Symbol 594 MovieClip
"filler"Symbol 600 MovieClip Frame 1Symbol 598 MovieClip
"caption"Symbol 600 MovieClip Frame 1Symbol 599 EditableText
"slot2"Symbol 614 MovieClip Frame 1Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61}
"slot1"Symbol 614 MovieClip Frame 1Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61}
"slot0"Symbol 614 MovieClip Frame 1Symbol 595 MovieClip {black_space_fgl_fla.AbilitySlot_61}
"healthBar"Symbol 614 MovieClip Frame 1Symbol 181 MovieClip
"energyBar"Symbol 614 MovieClip Frame 1Symbol 600 MovieClip
"money"Symbol 614 MovieClip Frame 1Symbol 602 EditableText
"crystals"Symbol 614 MovieClip Frame 1Symbol 613 EditableText
"score"Symbol 621 MovieClip {game.ScoreDialog} Frame 1Symbol 617 EditableText
"cancel"Symbol 621 MovieClip {game.ScoreDialog} Frame 1Symbol 39 Button
"ok"Symbol 621 MovieClip {game.ScoreDialog} Frame 1Symbol 51 Button
"marker"Symbol 621 MovieClip {game.ScoreDialog} Frame 1Symbol 619 MovieClip
"username"Symbol 621 MovieClip {game.ScoreDialog} Frame 1Symbol 620 EditableText
"filler"Symbol 626 MovieClip Frame 1Symbol 624 MovieClip
"caption"Symbol 626 MovieClip Frame 1Symbol 625 EditableText
"button"Symbol 659 MovieClip {black_space_fgl_fla.ToggleMusic_82} Frame 1Symbol 658 Button
"button"Symbol 664 MovieClip {black_space_fgl_fla.ToggleSound_84} Frame 1Symbol 663 Button
"button"Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78} Frame 1Symbol 652 Button
"menu"Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78} Frame 1Symbol 654 Button
"low"Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78} Frame 1Symbol 667 Button
"medium"Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78} Frame 1Symbol 669 Button
"high"Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78} Frame 1Symbol 671 Button
"rampage"Symbol 673 MovieClip {HUD} Frame 1Symbol 556 MovieClip
"hit"Symbol 673 MovieClip {HUD} Frame 1Symbol 558 MovieClip
"score"Symbol 673 MovieClip {HUD} Frame 1Symbol 559 EditableText
"stats"Symbol 673 MovieClip {HUD} Frame 1Symbol 560 EditableText
"perf"Symbol 673 MovieClip {HUD} Frame 1Symbol 561 EditableText
"pannel"Symbol 673 MovieClip {HUD} Frame 1Symbol 614 MovieClip
"scoreDialog"Symbol 673 MovieClip {HUD} Frame 1Symbol 621 MovieClip {game.ScoreDialog}
"wave"Symbol 673 MovieClip {HUD} Frame 1Symbol 626 MovieClip
"abilityTip"Symbol 673 MovieClip {HUD} Frame 1Symbol 629 MovieClip
"clickHere"Symbol 673 MovieClip {HUD} Frame 1Symbol 672 MovieClip {black_space_fgl_fla.ClickHere_78}
"back"Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97} Frame 1Symbol 689 MovieClip
"selected"Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97} Frame 1Symbol 690 MovieClip
"image"Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97} Frame 1Symbol 591 MovieClip
"button"Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97} Frame 1Symbol 692 Button
"level"Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97} Frame 1Symbol 696 MovieClip
"cost"Symbol 768 MovieClip {black_space_fgl_fla.UpgradeDescription_106} Frame 1Symbol 708 EditableText
"coin"Symbol 768 MovieClip {black_space_fgl_fla.UpgradeDescription_106} Frame 1Symbol 364 MovieClip
"crystal"Symbol 768 MovieClip {black_space_fgl_fla.UpgradeDescription_106} Frame 1Symbol 612 MovieClip {game.powerup.Crystal}
"ab1"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab0"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab3"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab2"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab5"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab4"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab7"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab6"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab9"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"ab8"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 697 MovieClip {black_space_fgl_fla.UpgradeButton_97}
"purchase"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 701 Button
"close"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 703 Button
"description"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 768 MovieClip {black_space_fgl_fla.UpgradeDescription_106}
"money"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 769 EditableText
"crystals"Symbol 775 MovieClip {game.UpgradePannel} Frame 1Symbol 770 EditableText
"blade"Symbol 817 MovieClip {game.enemy.BossBlade} Frame 1Symbol 815 MovieClip {BossBladeBase}
"brain"Symbol 826 MovieClip {game.enemy.BossBrain} Frame 1Symbol 824 MovieClip {BrainBase}
"eye"Symbol 867 MovieClip {BossSpiderBase} Frame 1Symbol 860 MovieClip {black_space_fgl_fla.BossSpiderEye_141}
"eye"Symbol 867 MovieClip {BossSpiderBase} Frame 8Symbol 860 MovieClip {black_space_fgl_fla.BossSpiderEye_141}
"minions"Symbol 868 MovieClip {game.enemy.BossSpider} Frame 1Symbol 825 MovieClip {MinionSpawner}
"spider"Symbol 868 MovieClip {game.enemy.BossSpider} Frame 1Symbol 867 MovieClip {BossSpiderBase}
"shooter"Symbol 904 MovieClip {game.enemy.BossShooter} Frame 1Symbol 875 MovieClip {BossShooterBase}
"throat"Symbol 941 MovieClip {BossFinalBasePart} Frame 1Symbol 936 MovieClip {black_space_fgl_fla.BossFinalThroat_154}
"fang2"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 911 MovieClip {BossFinalFangLeft}
"fang3"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 918 MovieClip {BossFinalFangRight}
"final"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 925 MovieClip {BossFinalBase}
"basePart"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 941 MovieClip {BossFinalBasePart}
"rampage1"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 816 MovieClip {RampageShooter}
"rampage2"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 816 MovieClip {RampageShooter}
"fang0"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 911 MovieClip {BossFinalFangLeft}
"fang1"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 918 MovieClip {BossFinalFangRight}
"spawner0"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 825 MovieClip {MinionSpawner}
"spawner1"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 825 MovieClip {MinionSpawner}
"top"Symbol 949 MovieClip {game.enemy.BossFinal} Frame 1Symbol 948 MovieClip {BossFinalTop}
"image"Symbol 995 MovieClip {game.powerup.AbilityPU} Frame 1Symbol 591 MovieClip
"caption"Symbol 1006 MovieClip {black_space_fgl_fla.GlobalBackground_165} Frame 1Symbol 1004 MovieClip

Special Tags

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

Labels

"Preloader"Frame 1
"Assets"Frame 21
"Game"Frame 41
"Normal"Symbol 102 MovieClip {BossShooterTRight} Frame 1
"Destroyed"Symbol 102 MovieClip {BossShooterTRight} Frame 8
"Normal"Symbol 145 MovieClip {BossStoneBase} Frame 1
"Destroyed"Symbol 145 MovieClip {BossStoneBase} Frame 8
"Normal"Symbol 152 MovieClip {BossStonePartB} Frame 1
"Destroyed"Symbol 152 MovieClip {BossStonePartB} Frame 8
"Normal"Symbol 797 MovieClip {MinionSpawnerRight} Frame 1
"Destroyed"Symbol 797 MovieClip {MinionSpawnerRight} Frame 11
"Normal"Symbol 806 MovieClip {MinionSpawnerLeft} Frame 1
"Destroyed"Symbol 806 MovieClip {MinionSpawnerLeft} Frame 8
"Normal"Symbol 824 MovieClip {BrainBase} Frame 1
"Destroyed"Symbol 824 MovieClip {BrainBase} Frame 8
"Normal"Symbol 834 MovieClip {BossSpiderClawL} Frame 1
"Destroyed"Symbol 834 MovieClip {BossSpiderClawL} Frame 8
"Normal"Symbol 841 MovieClip {BossSpiderClawR} Frame 1
"Destroyed"Symbol 841 MovieClip {BossSpiderClawR} Frame 8
"Normal"Symbol 867 MovieClip {BossSpiderBase} Frame 1
"Destroyed"Symbol 867 MovieClip {BossSpiderBase} Frame 8
"Normal"Symbol 875 MovieClip {BossShooterBase} Frame 1
"Destroyed"Symbol 875 MovieClip {BossShooterBase} Frame 8
"Normal"Symbol 882 MovieClip {BossShooterHead} Frame 1
"Destroyed"Symbol 882 MovieClip {BossShooterHead} Frame 8
"Normal"Symbol 889 MovieClip {BossShooterTLeft} Frame 1
"Destroyed"Symbol 889 MovieClip {BossShooterTLeft} Frame 8
"Normal"Symbol 896 MovieClip {BossShooterTMidLeft} Frame 1
"Destroyed"Symbol 896 MovieClip {BossShooterTMidLeft} Frame 8
"Normal"Symbol 903 MovieClip {BossShooterTMidRight} Frame 1
"Destroyed"Symbol 903 MovieClip {BossShooterTMidRight} Frame 8
"Normal"Symbol 911 MovieClip {BossFinalFangLeft} Frame 1
"Destroyed"Symbol 911 MovieClip {BossFinalFangLeft} Frame 8
"Normal"Symbol 918 MovieClip {BossFinalFangRight} Frame 1
"Destroyed"Symbol 918 MovieClip {BossFinalFangRight} Frame 8
"Normal"Symbol 925 MovieClip {BossFinalBase} Frame 1
"Destroyed"Symbol 925 MovieClip {BossFinalBase} Frame 8
"Normal"Symbol 941 MovieClip {BossFinalBasePart} Frame 1
"Destroyed"Symbol 941 MovieClip {BossFinalBasePart} Frame 8
"Normal"Symbol 948 MovieClip {BossFinalTop} Frame 1
"Destroyed"Symbol 948 MovieClip {BossFinalTop} Frame 8




http://swfchan.com/27/133399/info.shtml
Created: 14/2 -2019 03:55:44 Last modified: 14/2 -2019 03:55:44 Server time: 29/04 -2024 16:32:27