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

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

AutoTanks - build your tanks so they get through the obstacles to the target.swf

This is the info page for
Flash #92273

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


Text
PLAY

AUTOTANKS

>

PLAY

AUTOTANKS

>

Sponsored Link (opens in a new window)

<p align="center"><font face="6809 Chargen" size="24" color="#00c522" letterSpacing="0.000000" kerning="1">Loading AutoTanks</font></p><p align="center"><font face="6809 Chargen" size="24" color="#00c522" letterSpacing="0.000000" kerning="1">0%</font></p>

Speed

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">$</font></p>

Attack

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">$ </font></p>

Rate

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">$</font></p>

Range

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">$ </font></p>

Armor

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">$</font></p>

Build Tank

Can't Build

H

AutoTanks

<p align="right"><font face="6809 Chargen" size="18" color="#05c112" letterSpacing="0.000000" kerning="1">Score: 0</font></p>

Submit/View High Scores

Submit/View High Scores

Submit/View High Scores

Play more games at...

Play more games at...

Created by George Wendal - Sinistersea.com

Created by George Wendal - Sinistersea.com

Play Missions

Play Missions

Play Missions

Create Custom Levels

Create Custom Levels

Create Custom Levels

Play Custom Level

Play Custom Level

Play Custom Level

Turn Music Off

Turn Music Off

Turn Music On

Turn Music On

Turn SFX Off

Turn SFX Off

Turn SFX On

Turn SFX On

Browse User-Created Levels

Browse User-Created Levels

Browse User-Created Levels

<p align="left"><font face="6809 Chargen" size="16" color="#ff0000" letterSpacing="0.000000" kerning="1">(available at sinistersea.com)</font></p>

Download Music

Download Music

<p align="left"><font face="6809 Chargen" size="16" color="#ff0000" letterSpacing="0.000000" kerning="1">(available at sinistersea.com)</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">INITIATE TRANSMISSION......</font></p>

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

Enter Level Code:

Ok

Ok

<p align="left"><font face="6809 Chargen" size="18" color="#ff0000" letterSpacing="0.000000" kerning="1">ERROR: Level Code Invalid</font></p>

Resume Game

Resume Game

<p align="center"><font face="6809 Chargen" size="30" color="#000000" letterSpacing="0.000000" kerning="1"><b>0/5</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#000000" letterSpacing="0.000000" kerning="1">$0</font></p>

<p align="left"><font face="6809 Chargen" size="14" color="#00c522" letterSpacing="0.000000" kerning="1">$0</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1"><b>0</b></font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1"><b>0</b></font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Mission: 99</b></font></p>

Restart Level

Restart Level

Exit Current Level

Exit Current Level

Exit Current Level

Play More Games

Play More Games

Play More Games

SinisterSea.com

SinisterSea.com

Menu

Menu

<p align="left"><font face="6809 Chargen" size="14" color="#05c112" letterSpacing="0.000000" kerning="1">Mission 20</font></p>

?

<p align="center"><font face="6809 Chargen" size="28" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Mission Complete</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Mission Bonus: 500</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Mission Time: 50</b></font></p><p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Bonus: 100</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Enemies Destroyed: 50</b></font></p><p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Bonus: 100</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Tanks Remaining: 2</b></font></p><p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Bonus: 100</b></font></p>

<p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Cash Remaining: $20</b></font></p><p align="left"><font face="6809 Chargen" size="16" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Bonus: 100</b></font></p>

Try Again

Try Again

Try Again

Continue

Continue

New Mission

<p align="center"><font face="6809 Chargen" size="24" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Mission Score: </b></font></p>

<p align="center"><font face="6809 Chargen" size="18" color="#00c522" letterSpacing="0.000000" kerning="1"><b>Previous Best: </b></font></p>

Rate this level:

Boring

Fun

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

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

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

Select Mission:

<p align="left"><font face="6809 Chargen" size="18" color="#05c112" letterSpacing="0.000000" kerning="1">&lt; Back to Title Screen</font></p>

<p align="left"><font face="6809 Chargen" size="18" color="#00ff00" letterSpacing="0.000000" kerning="1">&lt; Back to Title Screen</font></p>

<p align="left"><font face="6809 Chargen" size="18" color="#00ff00" letterSpacing="0.000000" kerning="1">&lt; Back to Title Screen</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Starting Tanks: 99</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Tanks to Save: 1</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Starting Cash: $999</font></p>

<p align="left"><font face="6809 Chargen" size="22" color="#000000" letterSpacing="0.000000" kerning="1">+</font></p>

+

-

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Obstacles</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Obstacles</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Obstacles</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Launchers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Launchers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Launchers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Sentries</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Sentries</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Sentries</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Patrollers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Patrollers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Patrollers</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Hunters</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Hunters</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Hunters</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Power-Ups</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Power-Ups</font></p>

<p align="left"><font face="6809 Chargen" size="12" color="#00ff00" letterSpacing="0.000000" kerning="1">Power-Ups</font></p>

Exit

Exit

Import

Import

Export

Export

Test

Test

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">Label</font></p><p align="center"><font face="6809 Chargen" size="10" color="#00c522" letterSpacing="0.000000" kerning="1">1</font></p>

Add

Drag

Remove

Export Level:

<p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">Text Goes Here</font></p><p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">a</font></p><p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">a</font></p><p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">a</font></p><p align="left"><font face="6809 Chargen" size="12" color="#00c522" letterSpacing="0.000000" kerning="1">a</font></p>

To share your level with other people, just copy the code
below, then send it to whoever you please.  They can
import it using the "Play Custom Level" option on the
AutoTanks title screen.  If you want to save your level,
you can copy the code to a text file for future use.

Level Code:

Copy to Clipboard

Copy to Clipboard

<p align="left"><font face="6809 Chargen" size="14" color="#00c522" letterSpacing="0.000000" kerning="1"> - Done!</font></p>

Share on
SinisterSea.com

Share on
SinisterSea.com

OR

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

Level Name:

Uploading Level...

Import Level:

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

Paste (Ctrl-V) or type level code below to import a level for editing.

Cancel

Cancel

<p align="left"><font face="6809 Chargen" size="18" color="#ff0000" letterSpacing="0.000000" kerning="1">- Level code entered is not valid-</font></p>

Next >

Next >

Next >

< Prev

< Prev

How to play (1/5)

Your mission is to get your
AutoTanks safely across the
map to the transport portal.

How to play (2/5)

Set the upgrades you want
an AutoTank to have before
building.  HIgher levels of
upgrades cost more money.

How to play (3/5)

AutoTanks will follow the
path that is set when the
tank is built.  Click and drag
the path to change it.

How to play (4/5)

Once an AutoTank is built, you
no longer control it.  It moves
on its own, and will target and
fire at enemies automatically.

How to play (5/5)

The number indicated below
shows how many AutoTanks
need to reach the goal to
complete the mission.

Tank Factory

All AutoTanks are created
here.  Click and drag to
change the starting
direction for tanks.

Tank Upgrades

Speed - move and turn faster
Armor - withstand more damage
Attack - inflict greater damage
per shot
Rate - fire more rapidly
Range - attack from a greater
distance

Portal

Get the required number of
AutoTanks here safely to
complete the mission.

Anti-Tank Mine

Running into a mine will
destroy an AutoTank.

Energy Powerup - restores
an AutoTank's armor

Extra Cash - adds an extra
$100 to the available cash

Extra Tank - adds an extra
AutoTank

Enemies

They will attempt to destroy
your AutoTanks.

Upgrade Station

Upgrades the speed, armor,
attack, rate, or range of any
AutoTank that passes over
it.

Building
AutoTanks

When you are ready to build an
AutoTank, click this button.  The
cost is displayed on the button,
and the number of available tanks
and cash are displayed above.

---------------SECURITY BROADCAST---------------

Military Intelligence reports that a rogue TINK (Tactical Intelligent Neuro-
Kinetic) unit somehow managed to avoid the scheduled shutdown of all
systems in the Intelligent Automation division.  The unit escaped the
secure compound through a series of transport portals, and is
suspected to have several advanced AI prototype models under its
control.  Outside of a secure environment, these units are capable of
self-replication, and present an immediate and grave threat to the
survival of humanity.

Sort By:

Random

Random

Most Recent

Most Recent

Rating

Rating

Levels:

< Prev

< Prev

Next >

Next >

<p align="left"><font face="6809 Chargen" size="14" color="#00cc00" letterSpacing="0.000000" kerning="1">Author:</font></p>

<p align="left"><font face="6809 Chargen" size="14" color="#00cc00" letterSpacing="0.000000" kerning="1">Rating:</font></p>

<p align="left"><font face="6809 Chargen" size="14" color="#00cc00" letterSpacing="0.000000" kerning="1">Win %:</font></p>

<p align="left"><font face="6809 Chargen" size="14" color="#00cc00" letterSpacing="0.000000" kerning="1">Created:</font></p>

Login to your SinisterSea account:

OR...

(it's free)

Cancel

Cancel

Activate

Activate

<p align="left"><font face="Arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Username</b></font></p>

<p align="left"><font face="Arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">100 clams</font></p>

<p align="center"><font face="Arial" size="22" color="#ffff00" letterSpacing="0.000000" kerning="1"><b>User Level Access</b></font></p>

<p align="left"><font face="Arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Username</b></font></p>

<p align="left"><font face="Arial" size="14" color="#ffffff" letterSpacing="0.000000" kerning="1">This upgrade allows you to browse and play levels created and uploaded by other players. Fourth line of text goes here to check spacing.</font></p>

<p align="left"><font face="Arial" size="14" color="#ffff00" letterSpacing="0.000000" kerning="1"><b>100 points</b></font></p>

<p align="left"><font face="Arial" size="14" color="#ffff00" letterSpacing="0.000000" kerning="1"><b>0 points</b></font></p>

Get More Clams

Get More Clams

You need more clams to buy this item!

You need more clams to buy this item!

You need more points to buy this item!

Submit

Submit

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

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

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

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

Terms and Conditions

Terms and Conditions

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

Your password has been
reset, and the new password
has been emailed to you.

Ok

Ok

Cancel

Cancel

<p align="left"><font face="_sans" size="17" color="#666666" letterSpacing="0.000000" kerning="1">email address</font></p>

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

<p align="left"><font face="_sans" size="17" color="#666666" letterSpacing="0.000000" kerning="1">email or username</font></p>

<p align="left"><font face="_sans" size="17" color="#666666" letterSpacing="0.000000" kerning="1">password</font></p>

Create a New Account

Create a New Account

Login

Login

Forgot password?

Forgot password?

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

Enter your email address:

Confirm Password:

Username:

Email:

Password:

(max 16 chars, alphanumeric only)

(6-20 chars, alphanumeric only)

Your email address will never be shared with
anyone else. Period.

Registration

You are about to activate

Logged in as

Cost:

You currently have

Get       250 clams for $5

Get       500 clams for $9

Get       1000 clams for $16

You currently have

Get More Clams:

THANK YOU.

Your support helps make independent game
development possible.

Return to previous menu

(best value!)

Waiting for purchase to be
completed in payment window...

Retrieving purchased upgrades...

<p align="left"><font face="6809 Chargen" size="14" color="#05c112" letterSpacing="0.000000" kerning="1">Mission 20</font></p>

Loading Levels...

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

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

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

Download Music:

Intro Theme

Treads of Fury (Level Theme)

RoboBraxe (Editor Theme)

Win Theme

( Listen )

( Listen )

( Download )

( Download )

( Stop )

( Stop )

<p align="center"><font face="6809 Chargen" size="36" color="#00cc00" letterSpacing="0.000000" kerning="1">Downloading MP3...0%</font></p>

Start Download

Start Download

ActionScript [AS3]

Section 1
//MainTimeline (autotanks_fla.MainTimeline) package autotanks_fla { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.filters.*; import mochi.*; import flash.media.*; import flash.text.*; import CPMStar.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; import flash.system.*; import flash.ui.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var bytestotal; public var readyToContinue:Boolean; public var noAdDomains:Array; public var onSinisterSea:Boolean; public var ad:DisplayObject; public var CPMStarContentSpotID:String; public var adBox:AdBox; public var adTimer:Timer; public var domName; public var bytesloaded; public var showAds:Boolean; public var loadCounter:TextField; public var sclbar; public var i:int; public var playATButton:PlayATButton; public function MainTimeline(){ addFrameScript(0, frame1, 2, frame3); } public function playClicked(_arg1:MouseEvent){ playATButton.removeEventListener(MouseEvent.CLICK, playClicked); removeChild(adBox); play(); } public function stepFrame(_arg1:Event){ var _local2 = ""; bytestotal = stage.loaderInfo.bytesTotal; bytesloaded = stage.loaderInfo.bytesLoaded; sclbar = Math.round(((bytesloaded * 100) / bytestotal)); if ((((adTimer.currentCount < sclbar)) && (showAds))){ _local2 = String(adTimer.currentCount); } else { _local2 = String(sclbar); }; loadCounter.text = (("Loading AutoTanks\n" + _local2) + "%"); if ((((bytesloaded >= bytestotal)) && (readyToContinue))){ adTimer.stop(); adTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerDone); removeEventListener(Event.ENTER_FRAME, stepFrame); if (showAds){ loadCounter.text = ""; playATButton.visible = true; playATButton.addEventListener(MouseEvent.CLICK, playClicked); } else { play(); }; }; } public function timerDone(_arg1:TimerEvent){ readyToContinue = true; } function frame1(){ stop(); MochiBot.track(this, "c3cc6b62"); MochiServices.connect("4e5755645ae94375", root); bytestotal = stage.loaderInfo.bytesTotal; bytesloaded = stage.loaderInfo.bytesLoaded; sclbar = Math.round(((bytesloaded * 100) / bytestotal)); domName = loaderInfo.loaderURL.toUpperCase(); onSinisterSea = false; noAdDomains = ["SINISTERSEA.COM", "NEWGROUNDS.COM", "KONGREGATE.COM"]; showAds = true; adTimer = new Timer(25, 100); readyToContinue = false; playATButton.visible = false; adTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerDone); adTimer.start(); i = 0; while (i < noAdDomains.length) { if (domName.indexOf(noAdDomains[i]) == -1){ } else { showAds = false; }; i++; }; if (domName.indexOf("SINISTERSEA.COM") == -1){ onSinisterSea = false; } else { onSinisterSea = true; }; if (showAds){ CPMStarContentSpotID = "780Q8B4A2605"; ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); } else { readyToContinue = true; loadCounter.y = 230; removeChild(adBox); }; addEventListener(Event.ENTER_FRAME, stepFrame); } function frame3(){ stop(); addChild(GameManager.screenDisplay); addChild(GameManager.interfaceDisplay); addChild(GameManager.fadeDisplay); GameManager.setStage(stage); GameManager.onSinisterSea = onSinisterSea; GameManager.initiate(); } } }//package autotanks_fla
Section 2
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local3:String; var _local2:uint; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function concatObjects(... _args):Object{ var _local3:Object; var _local5:String; var _local2:Object = {}; var _local4:int; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 3
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 4
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var valueComplete:Number; public var modifierFunction:Function; public var extra:Object; public var valueStart:Number; public var hasModifier:Boolean; public var arrayIndex:Number; public var originalValueComplete:Object; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var getValue:Function; public var preProcess:Function; public var setValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 8
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ if (!_inited){ init(); }; var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ if (!_inited){ init(); }; var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; var _local5:Object = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time; var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local5:uint; var _local6:String; var _local7:Boolean; var _local3:TweenListObj = _tweenList[_arg1]; var _local4:TweenListObj = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; var _local3:Number = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.74"); } public static function onEnterFrame(_arg1:Event):void{ updateTime(); updateFrame(); var _local2:Boolean; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; var isOver:Boolean; var cTime:Number = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; var _local7:Object = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time; var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay; var _local10:Array = new Array(); var _local11:Object = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; var _local12:Object = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; var _local4:Boolean; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; if (!Boolean(_tweenList)){ return ([]); }; var _local4:Array = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; if (!Boolean(_tweenList)){ return (0); }; var _local3:Number = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removedLocally:Boolean; var i:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; var removed:Boolean; var tl:uint = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ if (!_inited){ init(); }; var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 9
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var hasStarted:Boolean; public var onUpdate:Function; public var useFrames:Boolean; public var count:Number; public var onOverwriteParams:Array; public var timeStart:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var isCaller:Boolean; public var timePaused:Number; public var transition:Function; public var onCompleteParams:Array; public var onError:Function; public var timesCalled:Number; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local3:String; var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local3:String; var _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); var _local2:Boolean; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:Object = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 10
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader extends Sprite { private var cpmstarLoader:Loader; private var contentspotid:String; public function AdLoader(_arg1:String){ this.contentspotid = _arg1; addEventListener(Event.ADDED, addedHandler); } private function dispatchHandler(_arg1:Event):void{ dispatchEvent(_arg1); } private function addedHandler(_arg1:Event):void{ removeEventListener(Event.ADDED, addedHandler); Security.allowDomain("server.cpmstar.com"); var _local2 = "http://server.cpmstar.com/adviewas3.swf"; var _local3:DisplayObjectContainer = parent; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler); cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler); cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid))); addChild(cpmstarLoader); } } }//package CPMStar
Section 11
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 12
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false private var _fps:Number;// = NAN private var _time:Number;// = NAN public var begin:Number;// = NAN private var _finish:Number;// = NAN public var change:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ this.func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function get position():Number{ return (this.getPosition(this._time)); } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 13
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var position:Number;// = NAN public var time:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 14
//MochiDigits (mochi.MochiDigits) package mochi { 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
Section 15
//MochiScores (mochi.MochiScores) package mochi { 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){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } 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.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 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 16
//MochiServices (mochi.MochiServices) package mochi { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__ms_"; private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; public static var netup:Boolean = true; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } private static function 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().getTime())); _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 init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } 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://x.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 disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } 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("*"); Security.allowInsecureDomain("*"); }; }; return (_local2); } public static function getVersion():String{ return ("1.43"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } public static function get id():String{ return (_id); } private static function urlOptions(_arg1:Object):Object{ var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; var _local3:String = _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 setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function 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 initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = this.client._callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; trace("connected!"); _connecting = false; _connected = true; while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } 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{ var id = _arg1; var clip = _arg2; var clipname:String = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servicesURL != undefined){ _servicesURL = urlOptions(clip).servicesURL; }; MochiServices.allowDomains(_servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); var f:Function = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999)))); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); var req:URLRequest = new URLRequest(_servicesURL); var vars:URLVariables = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; req.data = vars; _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } public static function get clip():Object{ return (_container); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; var mc:MovieClip = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 17
//Action (org.flintparticles.common.actions.Action) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public interface Action { function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void; function addedToEmitter(_arg1:Emitter):void; function removedFromEmitter(_arg1:Emitter):void; function getDefaultPriority():Number; } }//package org.flintparticles.common.actions
Section 18
//ActionBase (org.flintparticles.common.actions.ActionBase) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class ActionBase implements Action { public function addedToEmitter(_arg1:Emitter):void{ } public function removedFromEmitter(_arg1:Emitter):void{ } public function getDefaultPriority():Number{ return (0); } public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ } } }//package org.flintparticles.common.actions
Section 19
//Age (org.flintparticles.common.actions.Age) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.energyEasing.*; public class Age extends ActionBase { private var _easing:Function; public function Age(_arg1:Function=null){ if (_arg1 == null){ _easing = Linear.easeNone; } else { _easing = _arg1; }; } public function set easing(_arg1:Function):void{ _easing = _arg1; } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ _arg2.age = (_arg2.age + _arg3); if (_arg2.age >= _arg2.lifetime){ _arg2.energy = 0; _arg2.isDead = true; } else { _arg2.energy = _easing(_arg2.age, _arg2.lifetime); }; } public function get easing():Function{ return (_easing); } } }//package org.flintparticles.common.actions
Section 20
//ColorChange (org.flintparticles.common.actions.ColorChange) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.utils.*; public class ColorChange extends ActionBase { private var _startColor:uint; private var _endColor:uint; public function ColorChange(_arg1:uint, _arg2:uint){ _startColor = _arg1; _endColor = _arg2; } public function get startColor():uint{ return (_startColor); } public function set startColor(_arg1:uint):void{ _startColor = _arg1; } public function get endColor():uint{ return (_endColor); } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ _arg2.color = interpolateColors(_startColor, _endColor, _arg2.energy); } public function set endColor(_arg1:uint):void{ _endColor = _arg1; } } }//package org.flintparticles.common.actions
Section 21
//Fade (org.flintparticles.common.actions.Fade) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class Fade extends ActionBase { private var _endAlpha:Number; private var _diffAlpha:Number; public function Fade(_arg1:Number=1, _arg2:Number=0){ _diffAlpha = (_arg1 - _arg2); _endAlpha = _arg2; } public function get endAlpha():Number{ return (_endAlpha); } public function set endAlpha(_arg1:Number):void{ _diffAlpha = ((_endAlpha + _diffAlpha) - _arg1); _endAlpha = _arg1; } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ var _local4:Number = (_endAlpha + (_diffAlpha * _arg2.energy)); _arg2.color = ((_arg2.color & 0xFFFFFF) | (Math.round((_local4 * 0xFF)) << 24)); } override public function getDefaultPriority():Number{ return (-5); } public function set startAlpha(_arg1:Number):void{ _diffAlpha = (_arg1 - _endAlpha); } public function get startAlpha():Number{ return ((_endAlpha + _diffAlpha)); } } }//package org.flintparticles.common.actions
Section 22
//ScaleImage (org.flintparticles.common.actions.ScaleImage) package org.flintparticles.common.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class ScaleImage extends ActionBase { private var _diffScale:Number; private var _endScale:Number; public function ScaleImage(_arg1:Number=1, _arg2:Number=1){ _diffScale = (_arg1 - _arg2); _endScale = _arg2; } public function set startScale(_arg1:Number):void{ _diffScale = (_arg1 - _endScale); } public function set endScale(_arg1:Number):void{ _diffScale = ((_endScale + _diffScale) - _arg1); _endScale = _arg1; } public function get startScale():Number{ return ((_endScale + _diffScale)); } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ _arg2.scale = (_endScale + (_diffScale * _arg2.energy)); } public function get endScale():Number{ return (_endScale); } } }//package org.flintparticles.common.actions
Section 23
//Activity (org.flintparticles.common.activities.Activity) package org.flintparticles.common.activities { import org.flintparticles.common.emitters.*; public interface Activity { function initialize(_arg1:Emitter):void; function removedFromEmitter(_arg1:Emitter):void; function update(_arg1:Emitter, _arg2:Number):void; function addedToEmitter(_arg1:Emitter):void; function getDefaultPriority():Number; } }//package org.flintparticles.common.activities
Section 24
//Blast (org.flintparticles.common.counters.Blast) package org.flintparticles.common.counters { import org.flintparticles.common.emitters.*; public class Blast implements Counter { private var _startCount:uint; public function Blast(_arg1:uint){ _startCount = _arg1; } public function stop():void{ } public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{ return (0); } public function startEmitter(_arg1:Emitter):uint{ return (_startCount); } public function resume():void{ } public function set startCount(_arg1:Number):void{ _startCount = _arg1; } public function get startCount():Number{ return (_startCount); } } }//package org.flintparticles.common.counters
Section 25
//Counter (org.flintparticles.common.counters.Counter) package org.flintparticles.common.counters { import org.flintparticles.common.emitters.*; public interface Counter { function stop():void; function startEmitter(_arg1:Emitter):uint; function updateEmitter(_arg1:Emitter, _arg2:Number):uint; function resume():void; } }//package org.flintparticles.common.counters
Section 26
//ZeroCounter (org.flintparticles.common.counters.ZeroCounter) package org.flintparticles.common.counters { import org.flintparticles.common.emitters.*; public class ZeroCounter implements Counter { public function stop():void{ } public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{ return (0); } public function startEmitter(_arg1:Emitter):uint{ return (0); } public function resume():void{ } } }//package org.flintparticles.common.counters
Section 27
//Dot (org.flintparticles.common.displayObjects.Dot) package org.flintparticles.common.displayObjects { import flash.display.*; public class Dot extends Shape { public function Dot(_arg1:Number, _arg2:uint=0xFFFFFF, _arg3:String="normal"){ graphics.beginFill(_arg2); graphics.drawCircle(0, 0, _arg1); graphics.endFill(); blendMode = _arg3; } } }//package org.flintparticles.common.displayObjects
Section 28
//RadialDot (org.flintparticles.common.displayObjects.RadialDot) package org.flintparticles.common.displayObjects { import flash.display.*; import flash.geom.*; public class RadialDot extends Shape { public function RadialDot(_arg1:Number, _arg2:uint=0xFFFFFF, _arg3:String="normal"){ var _local4:Matrix = new Matrix(); _local4.createGradientBox((_arg1 * 2), (_arg1 * 2), 0, -(_arg1), -(_arg1)); graphics.beginGradientFill(GradientType.RADIAL, [_arg2, _arg2], [1, 0], [0, 0xFF], _local4); graphics.drawCircle(0, 0, _arg1); graphics.endFill(); blendMode = _arg3; } } }//package org.flintparticles.common.displayObjects
Section 29
//Emitter (org.flintparticles.common.emitters.Emitter) package org.flintparticles.common.emitters { import flash.events.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.activities.*; import org.flintparticles.common.counters.*; import org.flintparticles.common.events.*; import org.flintparticles.common.utils.*; public class Emitter extends EventDispatcher { protected var _running:Boolean;// = false protected var _activities:PriorityArray; protected var _particles:Array; protected var _initializers:PriorityArray; protected var _counter:Counter; protected var _started:Boolean;// = false protected var _actions:PriorityArray; protected var _useInternalTick:Boolean;// = true protected var _particleFactory:ParticleFactory; protected var _fixedFrameTime:Number;// = 0 protected var _maximumFrameTime:Number;// = 0.1 public function Emitter(){ _particles = new Array(); _actions = new PriorityArray(); _initializers = new PriorityArray(); _activities = new PriorityArray(); _counter = new ZeroCounter(); } public function addInitializer(_arg1:Initializer, _arg2:Number=NaN):void{ if (isNaN(_arg2)){ _arg2 = _arg1.getDefaultPriority(); }; _initializers.add(_arg1, _arg2); _arg1.addedToEmitter(this); } public function stop():void{ if (_useInternalTick){ FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener); }; _started = false; killAllParticles(); } public function killAllParticles():void{ var _local1:int = _particles.length; var _local2:int; while (_local2 < _local1) { dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _particles[_local2])); _particleFactory.disposeParticle(_particles[_local2]); _local2++; }; _particles.length = 0; } public function set fixedFrameTime(_arg1:Number):void{ _fixedFrameTime = _arg1; } public function get maximumFrameTime():Number{ return (_maximumFrameTime); } public function get useInternalTick():Boolean{ return (_useInternalTick); } protected function createParticle():Particle{ var _local1:Particle = _particleFactory.createParticle(); var _local2:int = _initializers.length; initParticle(_local1); var _local3:int; while (_local3 < _local2) { _initializers[_local3].initialize(this, _local1); _local3++; }; _particles.push(_local1); dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_CREATED, _local1)); return (_local1); } public function get particleFactory():ParticleFactory{ return (_particleFactory); } private function updateEventListener(_arg1:UpdateEvent):void{ if (_fixedFrameTime){ update(_fixedFrameTime); } else { update(_arg1.time); }; } public function get particles():Array{ return (_particles); } protected function sortParticles():void{ } public function removeActivity(_arg1:Activity):void{ if (_activities.remove(_arg1)){ _arg1.removedFromEmitter(this); }; } public function set maximumFrameTime(_arg1:Number):void{ _maximumFrameTime = _arg1; } protected function initParticle(_arg1:Particle):void{ } public function addAction(_arg1:Action, _arg2:Number=NaN):void{ if (isNaN(_arg2)){ _arg2 = _arg1.getDefaultPriority(); }; _actions.add(_arg1, _arg2); _arg1.addedToEmitter(this); } public function hasInitializerOfType(_arg1:Class):Boolean{ var _local2:uint = _initializers.length; var _local3:uint; while (_local3 < _local2) { if ((_initializers[_local3] is _arg1)){ return (true); }; _local3++; }; return (false); } public function resume():void{ _running = true; } public function removeInitializer(_arg1:Initializer):void{ if (_initializers.remove(_arg1)){ _arg1.removedFromEmitter(this); }; } public function get running():Boolean{ return (_running); } public function hasActionOfType(_arg1:Class):Boolean{ var _local2:uint = _actions.length; var _local3:uint; while (_local3 < _local2) { if ((_actions[_local3] is _arg1)){ return (true); }; _local3++; }; return (false); } public function get fixedFrameTime():Number{ return (_fixedFrameTime); } public function set particleFactory(_arg1:ParticleFactory):void{ _particleFactory = _arg1; } public function hasActivity(_arg1:Activity):Boolean{ return (_activities.contains(_arg1)); } public function addActivity(_arg1:Activity, _arg2:Number=NaN):void{ if (isNaN(_arg2)){ _arg2 = _arg1.getDefaultPriority(); }; _activities.add(_arg1, _arg2); _arg1.addedToEmitter(this); } public function update(_arg1:Number):void{ var _local2:int; var _local3:Particle; var _local5:Action; var _local6:int; var _local7:int; if (!_running){ return; }; if (_arg1 > _maximumFrameTime){ _arg1 = _maximumFrameTime; }; var _local4:int = _counter.updateEmitter(this, _arg1); _local2 = 0; while (_local2 < _local4) { createParticle(); _local2++; }; sortParticles(); _local4 = _activities.length; _local2 = 0; while (_local2 < _local4) { _activities[_local2].update(this, _arg1); _local2++; }; if (_particles.length > 0){ _local4 = _actions.length; _local6 = _particles.length; _local7 = 0; while (_local7 < _local4) { _local5 = _actions[_local7]; _local2 = 0; while (_local2 < _local6) { _local3 = _particles[_local2]; _local5.update(this, _local3, _arg1); _local2++; }; _local7++; }; _local2 = _local6; while (_local2--) { _local3 = _particles[_local2]; if (_local3.isDead){ dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _local3)); _particleFactory.disposeParticle(_local3); _particles.splice(_local2, 1); }; }; } else { dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_EMPTY)); }; dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_UPDATED)); } public function addExistingParticles(_arg1:Array, _arg2:Boolean=false):void{ var _local4:int; var _local5:int; var _local6:int; var _local3:int = _arg1.length; if (_arg2){ _local5 = _initializers.length; _local6 = 0; while (_local6 < _local5) { _local4 = 0; while (_local4 < _local3) { _initializers[_local6].initialize(this, _arg1[_local4]); _local4++; }; _local6++; }; }; _local4 = 0; while (_local4 < _local3) { _particles.push(_arg1[_local4]); dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_ADDED, _arg1[_local4])); _local4++; }; } public function removeAction(_arg1:Action):void{ if (_actions.remove(_arg1)){ _arg1.removedFromEmitter(this); }; } public function hasActivityOfType(_arg1:Class):Boolean{ var _local2:uint = _activities.length; var _local3:uint; while (_local3 < _local2) { if ((_activities[_local3] is _arg1)){ return (true); }; _local3++; }; return (false); } public function set useInternalTick(_arg1:Boolean):void{ if (_useInternalTick != _arg1){ _useInternalTick = _arg1; if (_started){ if (_useInternalTick){ FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true); } else { FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener); }; }; }; } public function hasInitializer(_arg1:Initializer):Boolean{ return (_initializers.contains(_arg1)); } public function start():void{ if (_useInternalTick){ FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true); }; _started = true; _running = true; var _local1:int = _activities.length; var _local2:int; while (_local2 < _local1) { _activities[_local2].initialize(this); _local2++; }; _local1 = _counter.startEmitter(this); _local2 = 0; while (_local2 < _local1) { createParticle(); _local2++; }; } public function hasAction(_arg1:Action):Boolean{ return (_actions.contains(_arg1)); } public function pause():void{ _running = false; } public function set counter(_arg1:Counter):void{ _counter = _arg1; } public function get counter():Counter{ return (_counter); } public function runAhead(_arg1:Number, _arg2:Number=10):void{ var _local3:Number = _maximumFrameTime; var _local4:Number = (1 / _arg2); _maximumFrameTime = _local4; while (_arg1 > 0) { _arg1 = (_arg1 - _local4); update(_local4); }; _maximumFrameTime = _local3; } } }//package org.flintparticles.common.emitters
Section 30
//Linear (org.flintparticles.common.energyEasing.Linear) package org.flintparticles.common.energyEasing { public class Linear { public static function easeOut(_arg1:Number, _arg2:Number):Number{ return ((1 - (_arg1 / _arg2))); } public static function easeIn(_arg1:Number, _arg2:Number):Number{ return ((1 - (_arg1 / _arg2))); } public static function easeInOut(_arg1:Number, _arg2:Number):Number{ return ((1 - (_arg1 / _arg2))); } public static function easeNone(_arg1:Number, _arg2:Number):Number{ return ((1 - (_arg1 / _arg2))); } } }//package org.flintparticles.common.energyEasing
Section 31
//EmitterEvent (org.flintparticles.common.events.EmitterEvent) package org.flintparticles.common.events { import flash.events.*; public class EmitterEvent extends Event { public static var EMITTER_UPDATED:String = "emitterUpdated"; public static var EMITTER_EMPTY:String = "emitterEmpty"; public function EmitterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package org.flintparticles.common.events
Section 32
//ParticleEvent (org.flintparticles.common.events.ParticleEvent) package org.flintparticles.common.events { import flash.events.*; import org.flintparticles.common.particles.*; public class ParticleEvent extends Event { public var particle:Particle; public static var PARTICLE_ADDED:String = "particleAdded"; public static var PARTICLE_DEAD:String = "particleDead"; public static var PARTICLE_CREATED:String = "particleCreated"; public function ParticleEvent(_arg1:String, _arg2:Particle=null, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.particle = _arg2; } } }//package org.flintparticles.common.events
Section 33
//UpdateEvent (org.flintparticles.common.events.UpdateEvent) package org.flintparticles.common.events { import flash.events.*; public class UpdateEvent extends Event { public var time:Number; public static var UPDATE:String = "update"; public function UpdateEvent(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.time = _arg2; } } }//package org.flintparticles.common.events
Section 34
//ColorInit (org.flintparticles.common.initializers.ColorInit) package org.flintparticles.common.initializers { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.utils.*; public class ColorInit extends InitializerBase { private var _max:uint; private var _min:uint; public function ColorInit(_arg1:uint, _arg2:uint){ _min = _arg1; _max = _arg2; } public function set minColor(_arg1:uint):void{ _min = _arg1; } public function get color():uint{ return (((_min == _max)) ? _min : interpolateColors(_max, _min, 0.5)); } public function set color(_arg1:uint):void{ _max = (_min = _arg1); } override public function initialize(_arg1:Emitter, _arg2:Particle):void{ if (_max == _min){ _arg2.color = _min; } else { _arg2.color = interpolateColors(_min, _max, Math.random()); }; } public function get minColor():uint{ return (_min); } public function set maxColor(_arg1:uint):void{ _max = _arg1; } public function get maxColor():uint{ return (_max); } } }//package org.flintparticles.common.initializers
Section 35
//Initializer (org.flintparticles.common.initializers.Initializer) package org.flintparticles.common.initializers { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public interface Initializer { function initialize(_arg1:Emitter, _arg2:Particle):void; function addedToEmitter(_arg1:Emitter):void; function removedFromEmitter(_arg1:Emitter):void; function getDefaultPriority():Number; } }//package org.flintparticles.common.initializers
Section 36
//InitializerBase (org.flintparticles.common.initializers.InitializerBase) package org.flintparticles.common.initializers { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class InitializerBase implements Initializer { public function initialize(_arg1:Emitter, _arg2:Particle):void{ } public function addedToEmitter(_arg1:Emitter):void{ } public function removedFromEmitter(_arg1:Emitter):void{ } public function getDefaultPriority():Number{ return (0); } } }//package org.flintparticles.common.initializers
Section 37
//Lifetime (org.flintparticles.common.initializers.Lifetime) package org.flintparticles.common.initializers { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class Lifetime extends InitializerBase { private var _max:Number; private var _min:Number; public function Lifetime(_arg1:Number, _arg2:Number=NaN){ _max = _arg2; _min = _arg1; } public function get lifetime():Number{ return (((_min == _max)) ? _min : ((_max + _min) * 0.5)); } public function get maxLifetime():Number{ return (_max); } override public function initialize(_arg1:Emitter, _arg2:Particle):void{ if (isNaN(_max)){ _arg2.lifetime = _min; } else { _arg2.lifetime = (_min + (Math.random() * (_max - _min))); }; } public function set lifetime(_arg1:Number):void{ _max = (_min = _arg1); } public function set minLifetime(_arg1:Number):void{ _min = _arg1; } public function set maxLifetime(_arg1:Number):void{ _max = _arg1; } public function get minLifetime():Number{ return (_min); } } }//package org.flintparticles.common.initializers
Section 38
//SharedImage (org.flintparticles.common.initializers.SharedImage) package org.flintparticles.common.initializers { import flash.display.*; import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; public class SharedImage extends InitializerBase { private var _image:DisplayObject; public function SharedImage(_arg1:DisplayObject){ _image = _arg1; } override public function initialize(_arg1:Emitter, _arg2:Particle):void{ _arg2.image = _image; } public function set image(_arg1:DisplayObject):void{ _image = _arg1; } public function get image():DisplayObject{ return (_image); } } }//package org.flintparticles.common.initializers
Section 39
//Particle (org.flintparticles.common.particles.Particle) package org.flintparticles.common.particles { import flash.utils.*; import flash.geom.*; public class Particle { public var energy:Number;// = 1 public var lifetime:Number;// = 0 public var scale:Number;// = 1 public var image;// = null public var color:uint;// = 4294967295 public var collisionRadius:Number;// = 1 private var _colorTransform:ColorTransform;// = null private var _previousColor:uint; public var isDead:Boolean;// = false public var mass:Number;// = 1 private var _dictionary:Dictionary;// = null public var age:Number;// = 0 public function get dictionary():Dictionary{ if (_dictionary == null){ _dictionary = new Dictionary(); }; return (_dictionary); } public function get colorTransform():ColorTransform{ if (((!(_colorTransform)) || (!((_previousColor == color))))){ _colorTransform = new ColorTransform((((color >>> 16) & 0xFF) / 0xFF), (((color >>> 8) & 0xFF) / 0xFF), ((color & 0xFF) / 0xFF), (((color >>> 24) & 0xFF) / 0xFF), 0, 0, 0, 0); _previousColor = color; }; return (_colorTransform); } public function get alpha():Number{ return ((((color & 4278190080) >>> 24) / 0xFF)); } public function initialize():void{ color = 4294967295; scale = 1; mass = 1; collisionRadius = 1; lifetime = 0; age = 0; energy = 1; isDead = false; image = null; _dictionary = null; _colorTransform = null; } } }//package org.flintparticles.common.particles
Section 40
//ParticleFactory (org.flintparticles.common.particles.ParticleFactory) package org.flintparticles.common.particles { public interface ParticleFactory { function createParticle():Particle; function disposeParticle(_arg1:Particle):void; } }//package org.flintparticles.common.particles
Section 41
//Renderer (org.flintparticles.common.renderers.Renderer) package org.flintparticles.common.renderers { import org.flintparticles.common.emitters.*; public interface Renderer { function removeEmitter(_arg1:Emitter):void; function addEmitter(_arg1:Emitter):void; } }//package org.flintparticles.common.renderers
Section 42
//SpriteRendererBase (org.flintparticles.common.renderers.SpriteRendererBase) package org.flintparticles.common.renderers { import flash.events.*; import flash.display.*; import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.events.*; public class SpriteRendererBase extends Sprite implements Renderer { protected var _emitters:Array; public function SpriteRendererBase(){ _emitters = new Array(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true); } private function particleAdded(_arg1:ParticleEvent):void{ addParticle(_arg1.particle); if (stage){ stage.invalidate(); }; } private function addedToStage(_arg1:Event):void{ if (stage){ stage.invalidate(); }; } public function get emitters():Array{ return (_emitters); } protected function addParticle(_arg1:Particle):void{ } private function updateParticles(_arg1:Event):void{ var _local2:Array = new Array(); var _local3:int; while (_local3 < _emitters.length) { _local2 = _local2.concat(_emitters[_local3].particles); _local3++; }; renderParticles(_local2); } private function emitterUpdated(_arg1:EmitterEvent):void{ if (stage){ stage.invalidate(); }; } public function removeEmitter(_arg1:Emitter):void{ var _local3:Particle; var _local2:int; while (_local2 < _emitters.length) { if (_emitters[_local2] == _arg1){ _emitters.splice(_local2, 1); _arg1.removeEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated); _arg1.removeEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded); _arg1.removeEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded); _arg1.removeEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved); for each (_local3 in _arg1.particles) { removeParticle(_local3); }; if (_emitters.length == 0){ removeEventListener(Event.RENDER, updateParticles); renderParticles([]); } else { stage.invalidate(); }; return; }; _local2++; }; } protected function renderParticles(_arg1:Array):void{ } protected function removeParticle(_arg1:Particle):void{ } private function particleRemoved(_arg1:ParticleEvent):void{ removeParticle(_arg1.particle); if (stage){ stage.invalidate(); }; } public function addEmitter(_arg1:Emitter):void{ var _local2:Particle; _emitters.push(_arg1); if (stage){ stage.invalidate(); }; _arg1.addEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated, false, 0, true); _arg1.addEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded, false, 0, true); _arg1.addEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded, false, 0, true); _arg1.addEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved, false, 0, true); for each (_local2 in _arg1.particles) { addParticle(_local2); }; if (_emitters.length == 1){ addEventListener(Event.RENDER, updateParticles, false, 0, true); }; } } }//package org.flintparticles.common.renderers
Section 43
//FrameUpdater (org.flintparticles.common.utils.FrameUpdater) package org.flintparticles.common.utils { import flash.events.*; import flash.display.*; import flash.utils.*; import org.flintparticles.common.events.*; public class FrameUpdater extends EventDispatcher { private var _shape:Shape; private var _time:Number; private static var _instance:FrameUpdater; public function FrameUpdater(){ _shape = new Shape(); _shape.addEventListener(Event.ENTER_FRAME, frameUpdate, false, 0, true); _time = getTimer(); } private function frameUpdate(_arg1:Event):void{ var _local2:int = _time; _time = getTimer(); var _local3:Number = ((_time - _local2) * 0.001); dispatchEvent(new UpdateEvent(UpdateEvent.UPDATE, _local3)); } public static function get instance():FrameUpdater{ if (_instance == null){ _instance = new (FrameUpdater); }; return (_instance); } } }//package org.flintparticles.common.utils
Section 44
//interpolateColors (org.flintparticles.common.utils.interpolateColors) package org.flintparticles.common.utils { public function interpolateColors(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number = (1 - _arg3); var _local5:uint = Math.round(((((_arg1 >>> 16) & 0xFF) * _arg3) + (((_arg2 >>> 16) & 0xFF) * _local4))); var _local6:uint = Math.round(((((_arg1 >>> 8) & 0xFF) * _arg3) + (((_arg2 >>> 8) & 0xFF) * _local4))); var _local7:uint = Math.round((((_arg1 & 0xFF) * _arg3) + ((_arg2 & 0xFF) * _local4))); var _local8:uint = Math.round(((((_arg1 >>> 24) & 0xFF) * _arg3) + (((_arg2 >>> 24) & 0xFF) * _local4))); return (((((_local8 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local7)); } }//package org.flintparticles.common.utils
Section 45
//Maths (org.flintparticles.common.utils.Maths) package org.flintparticles.common.utils { public class Maths { private static const DEGTORAD:Number = 0.0174532925199433; private static const RADTODEG:Number = 57.2957795130823; public static function asRadians(_arg1:Number):Number{ return ((_arg1 * DEGTORAD)); } public static function asDegrees(_arg1:Number):Number{ return ((_arg1 * RADTODEG)); } } }//package org.flintparticles.common.utils
Section 46
//PriorityArray (org.flintparticles.common.utils.PriorityArray) package org.flintparticles.common.utils { import flash.utils.*; public class PriorityArray extends Proxy { private var _values:Array; public function PriorityArray(){ _values = new Array(); } public function remove(_arg1):Boolean{ var _local2:uint = _values.length; while (_local2--) { if (_values[_local2].value == _arg1){ _values.splice(_local2, 1); return (true); }; }; return (false); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return ((_arg1 - 1).toString()); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:uint = uint(_arg1); if ((((_local3 == _arg1)) && ((_local3 < _values.length)))){ _values[_local3].value = _arg2; }; } public function add(_arg1, _arg2:Number):uint{ var _local3:uint = _values.length; var _local4:uint; while (_local4 < _local3) { if (_values[_local4].priority < _arg2){ break; }; _local4++; }; _values.splice(_local4, 0, new Pair(_arg2, _arg1)); return (_values.length); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ var _local2:int = int(_arg1); if ((((((_local2 == _arg1)) && ((_local2 < _values.length)))) && (_values[_local2]))){ return (_values[_local2].value); }; return (undefined); } public function clear():void{ _values.length = 0; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ if (_arg1 < _values.length){ return ((_arg1 + 1)); }; return (0); } public function get length():uint{ return (_values.length); } public function removeAt(_arg1:uint){ var _local2:* = _values[_arg1].value; _values.splice(_arg1, 1); return (_local2); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){ return (_values[(_arg1 - 1)]); } public function contains(_arg1):Boolean{ var _local2:uint = _values.length; while (_local2--) { if (_values[_local2].value == _arg1){ return (true); }; }; return (false); } } }//package org.flintparticles.common.utils class Pair { private var value; private var priority:Number; private function Pair(_arg1:Number, _arg2){ this.priority = _arg1; this.value = _arg2; } }
Section 47
//Move (org.flintparticles.twoD.actions.Move) package org.flintparticles.twoD.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.actions.*; import org.flintparticles.twoD.particles.*; public class Move extends ActionBase { private var p:Particle2D; override public function getDefaultPriority():Number{ return (-10); } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ p = Particle2D(_arg2); p.x = (p.x + (p.velX * _arg3)); p.y = (p.y + (p.velY * _arg3)); } } }//package org.flintparticles.twoD.actions
Section 48
//RandomDrift (org.flintparticles.twoD.actions.RandomDrift) package org.flintparticles.twoD.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.actions.*; import org.flintparticles.twoD.particles.*; public class RandomDrift extends ActionBase { private var _sizeX:Number; private var _sizeY:Number; public function RandomDrift(_arg1:Number, _arg2:Number){ _sizeX = (_arg1 * 2); _sizeY = (_arg2 * 2); } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ var _local4:Particle2D = Particle2D(_arg2); Particle2D(_arg2).velX = (_local4.velX + (((Math.random() - 0.5) * _sizeX) * _arg3)); _local4.velY = (_local4.velY + (((Math.random() - 0.5) * _sizeY) * _arg3)); } public function get driftY():Number{ return ((_sizeY / 2)); } public function set driftY(_arg1:Number):void{ _sizeY = (_arg1 * 2); } public function set driftX(_arg1:Number):void{ _sizeX = (_arg1 * 2); } public function get driftX():Number{ return ((_sizeX / 2)); } } }//package org.flintparticles.twoD.actions
Section 49
//SpeedLimit (org.flintparticles.twoD.actions.SpeedLimit) package org.flintparticles.twoD.actions { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.actions.*; import org.flintparticles.twoD.particles.*; public class SpeedLimit extends ActionBase { private var _isMinimum:Boolean; private var _limitSq:Number; private var _limit:Number; public function SpeedLimit(_arg1:Number, _arg2:Boolean=false){ _limit = _arg1; _limitSq = (_arg1 * _arg1); _isMinimum = _arg2; } public function get isMinimum():Boolean{ return (_isMinimum); } public function set isMinimum(_arg1:Boolean):void{ _isMinimum = _arg1; } override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{ var _local6:Number; var _local4:Particle2D = Particle2D(_arg2); var _local5:Number = ((_local4.velX * _local4.velX) + (_local4.velY * _local4.velY)); if (((((_isMinimum) && ((_local5 < _limitSq)))) || (((!(_isMinimum)) && ((_local5 > _limitSq)))))){ _local6 = (_limit / Math.sqrt(_local5)); _local4.velX = (_local4.velX * _local6); _local4.velY = (_local4.velY * _local6); }; } override public function getDefaultPriority():Number{ return (-5); } public function set limit(_arg1:Number):void{ _limit = _arg1; _limitSq = (_arg1 * _arg1); } public function get limit():Number{ return (_limit); } } }//package org.flintparticles.twoD.actions
Section 50
//Emitter2D (org.flintparticles.twoD.emitters.Emitter2D) package org.flintparticles.twoD.emitters { import org.flintparticles.common.emitters.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.utils.*; import org.flintparticles.twoD.particles.*; public class Emitter2D extends Emitter { protected var _y:Number;// = 0 public var spaceSort:Boolean;// = false public var spaceSortedX:Array; protected var _x:Number;// = 0 protected var _rotation:Number;// = 0 protected static var _creator:ParticleCreator2D = new ParticleCreator2D(); public function Emitter2D(){ _particleFactory = _creator; } public function get y():Number{ return (_y); } override protected function initParticle(_arg1:Particle):void{ var _local2:Particle2D; _local2 = Particle2D(_arg1); _local2.x = _x; _local2.y = _y; _local2.rotation = _rotation; } override protected function sortParticles():void{ var _local1:int; var _local2:int; if (spaceSort){ spaceSortedX = _particles.sortOn("x", (Array.NUMERIC | Array.RETURNINDEXEDARRAY)); _local1 = _particles.length; _local2 = 0; while (_local2 < _local1) { _particles[spaceSortedX[_local2]].sortID = _local2; _local2++; }; }; } public function set x(_arg1:Number):void{ _x = _arg1; } public function set rotRadians(_arg1:Number):void{ _rotation = _arg1; } public function get x():Number{ return (_x); } public function get rotRadians():Number{ return (_rotation); } public function set rotation(_arg1:Number):void{ _rotation = Maths.asRadians(_arg1); } public function get rotation():Number{ return (Maths.asDegrees(_rotation)); } public function set y(_arg1:Number):void{ _y = _arg1; } public static function get defaultParticleFactory():ParticleFactory{ return (_creator); } } }//package org.flintparticles.twoD.emitters
Section 51
//Velocity (org.flintparticles.twoD.initializers.Velocity) package org.flintparticles.twoD.initializers { import org.flintparticles.common.emitters.*; import flash.geom.*; import org.flintparticles.common.particles.*; import org.flintparticles.common.initializers.*; import org.flintparticles.twoD.zones.*; import org.flintparticles.twoD.particles.*; public class Velocity extends InitializerBase { private var _zone:Zone2D; public function Velocity(_arg1:Zone2D){ _zone = _arg1; } override public function initialize(_arg1:Emitter, _arg2:Particle):void{ var _local3:Particle2D; var _local5:Number; var _local6:Number; _local3 = Particle2D(_arg2); var _local4:Point = _zone.getLocation(); if (_local3.rotation == 0){ _local3.velX = _local4.x; _local3.velY = _local4.y; } else { _local5 = Math.sin(_local3.rotation); _local6 = Math.cos(_local3.rotation); _local3.velX = ((_local6 * _local4.x) - (_local5 * _local4.y)); _local3.velY = ((_local6 * _local4.y) + (_local5 * _local4.x)); }; } public function set zone(_arg1:Zone2D):void{ _zone = _arg1; } public function get zone():Zone2D{ return (_zone); } } }//package org.flintparticles.twoD.initializers
Section 52
//Particle2D (org.flintparticles.twoD.particles.Particle2D) package org.flintparticles.twoD.particles { import flash.geom.*; import org.flintparticles.common.particles.*; public class Particle2D extends Particle { public var sortID:uint;// = 0 private var _inertia:Number; public var velY:Number;// = 0 private var _previousRadius:Number; private var _previousMass:Number; public var angVelocity:Number;// = 0 public var x:Number;// = 0 public var y:Number;// = 0 public var velX:Number;// = 0 public var rotation:Number;// = 0 override public function initialize():void{ super.initialize(); x = 0; y = 0; velX = 0; velY = 0; rotation = 0; angVelocity = 0; sortID = 0; } public function get matrixTransform():Matrix{ var _local1:Number = (scale * Math.cos(rotation)); var _local2:Number = (scale * Math.sin(rotation)); return (new Matrix(_local1, _local2, -(_local2), _local1, x, y)); } public function get inertia():Number{ if (((!((mass == _previousMass))) || (!((collisionRadius == _previousRadius))))){ _inertia = (((mass * collisionRadius) * collisionRadius) * 0.5); _previousMass = mass; _previousRadius = collisionRadius; }; return (_inertia); } } }//package org.flintparticles.twoD.particles
Section 53
//ParticleCreator2D (org.flintparticles.twoD.particles.ParticleCreator2D) package org.flintparticles.twoD.particles { import org.flintparticles.common.particles.*; public class ParticleCreator2D implements ParticleFactory { private var _particles:Array; public function ParticleCreator2D(){ _particles = new Array(); } public function clearAllParticles():void{ _particles = new Array(); } public function disposeParticle(_arg1:Particle):void{ if ((_arg1 is Particle2D)){ _arg1.initialize(); _particles.push(_arg1); }; } public function createParticle():Particle{ if (_particles.length){ return (_particles.pop()); }; return (new Particle2D()); } } }//package org.flintparticles.twoD.particles
Section 54
//BitmapRenderer (org.flintparticles.twoD.renderers.BitmapRenderer) package org.flintparticles.twoD.renderers { import flash.display.*; import flash.geom.*; import flash.filters.*; import org.flintparticles.twoD.particles.*; import org.flintparticles.common.renderers.*; public class BitmapRenderer extends SpriteRendererBase { protected var _canvas:Rectangle; protected var _bitmap:Bitmap; protected var _smoothing:Boolean; protected var _bitmapData:BitmapData; protected var _postFilters:Array; protected var _preFilters:Array; protected var _colorMap:Array; protected static var ZERO_POINT:Point = new Point(0, 0); public function BitmapRenderer(_arg1:Rectangle, _arg2:Boolean=false){ mouseEnabled = false; mouseChildren = false; _smoothing = _arg2; _preFilters = new Array(); _postFilters = new Array(); _canvas = _arg1; createBitmap(); } public function get canvas():Rectangle{ return (_canvas); } public function set canvas(_arg1:Rectangle):void{ _canvas = _arg1; createBitmap(); } public function removeFilter(_arg1:BitmapFilter):void{ var _local2:int; while (_local2 < _preFilters.length) { if (_preFilters[_local2] == _arg1){ _preFilters.splice(_local2, 1); return; }; _local2++; }; _local2 = 0; while (_local2 < _postFilters.length) { if (_postFilters[_local2] == _arg1){ _postFilters.splice(_local2, 1); return; }; _local2++; }; } override protected function renderParticles(_arg1:Array):void{ var _local2:int; var _local3:int; if (!_bitmap){ return; }; _bitmapData.lock(); _local3 = _preFilters.length; _local2 = 0; while (_local2 < _local3) { _bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _preFilters[_local2]); _local2++; }; if ((((_local3 == 0)) && ((_postFilters.length == 0)))){ _bitmapData.fillRect(_bitmap.bitmapData.rect, 0); }; _local3 = _arg1.length; if (_local3){ _local2 = _local3; while (_local2--) { drawParticle(_arg1[_local2]); }; }; _local3 = _postFilters.length; _local2 = 0; while (_local2 < _local3) { _bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _postFilters[_local2]); _local2++; }; if (_colorMap){ _bitmapData.paletteMap(_bitmapData, _bitmapData.rect, ZERO_POINT, _colorMap[1], _colorMap[2], _colorMap[3], _colorMap[0]); }; _bitmapData.unlock(); } protected function drawParticle(_arg1:Particle2D):void{ var _local2:Matrix; _local2 = _arg1.matrixTransform; _local2.translate(-(_canvas.x), -(_canvas.y)); _bitmapData.draw(_arg1.image, _local2, _arg1.colorTransform, DisplayObject(_arg1.image).blendMode, null, _smoothing); } public function setPaletteMap(_arg1:Array=null, _arg2:Array=null, _arg3:Array=null, _arg4:Array=null):void{ _colorMap = new Array(4); _colorMap[0] = _arg4; _colorMap[1] = _arg1; _colorMap[2] = _arg2; _colorMap[3] = _arg3; } public function clearPaletteMap():void{ _colorMap = null; } public function addFilter(_arg1:BitmapFilter, _arg2:Boolean=false):void{ if (_arg2){ _postFilters.push(_arg1); } else { _preFilters.push(_arg1); }; } protected function createBitmap():void{ if (!_canvas){ return; }; if (((_bitmap) && (_bitmapData))){ _bitmapData.dispose(); _bitmapData = null; }; if (_bitmap){ removeChild(_bitmap); }; _bitmap = new Bitmap(null, "auto", _smoothing); _bitmapData = new BitmapData(_canvas.width, _canvas.height, true, 0); _bitmap.bitmapData = _bitmapData; addChild(_bitmap); _bitmap.x = _canvas.x; _bitmap.y = _canvas.y; } } }//package org.flintparticles.twoD.renderers
Section 55
//DiscZone (org.flintparticles.twoD.zones.DiscZone) package org.flintparticles.twoD.zones { import flash.geom.*; public class DiscZone implements Zone2D { private var _innerRadius:Number; private var _outerRadius:Number; private var _center:Point; private var _innerSq:Number; private var _outerSq:Number; private static const TWOPI:Number = 6.28318530717959; public function DiscZone(_arg1:Point, _arg2:Number, _arg3:Number=0){ if (_arg2 < _arg3){ throw (new Error((((("The outerRadius (" + _arg2) + ") can't be smaller than the innerRadius (") + _arg3) + ") in your DiscZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument."))); }; _center = _arg1; _innerRadius = _arg3; _outerRadius = _arg2; _innerSq = (_innerRadius * _innerRadius); _outerSq = (_outerRadius * _outerRadius); } public function set outerRadius(_arg1:Number):void{ _outerRadius = _arg1; _outerSq = (_outerRadius * _outerRadius); } public function get center():Point{ return (_center); } public function getArea():Number{ return ((Math.PI * (_outerSq - _innerSq))); } public function getLocation():Point{ var _local1:Number = Math.random(); var _local2:Point = Point.polar((_innerRadius + ((1 - (_local1 * _local1)) * (_outerRadius - _innerRadius))), (Math.random() * TWOPI)); _local2.x = (_local2.x + _center.x); _local2.y = (_local2.y + _center.y); return (_local2); } public function get outerRadius():Number{ return (_outerRadius); } public function get innerRadius():Number{ return (_innerRadius); } public function set innerRadius(_arg1:Number):void{ _innerRadius = _arg1; _innerSq = (_innerRadius * _innerRadius); } public function set center(_arg1:Point):void{ _center = _arg1; } public function contains(_arg1:Number, _arg2:Number):Boolean{ _arg1 = (_arg1 - _center.x); _arg2 = (_arg2 - _center.y); var _local3:Number = ((_arg1 * _arg1) + (_arg2 * _arg2)); return ((((_local3 <= _outerSq)) && ((_local3 >= _innerSq)))); } } }//package org.flintparticles.twoD.zones
Section 56
//Zone2D (org.flintparticles.twoD.zones.Zone2D) package org.flintparticles.twoD.zones { import flash.geom.*; public interface Zone2D { function getArea():Number; function getLocation():Point; function contains(_arg1:Number, _arg2:Number):Boolean; } }//package org.flintparticles.twoD.zones
Section 57
//Serializer (org.sepy.io.Serializer) package org.sepy.io { public class Serializer { public static const version:String = "3.0.0"; public static var pattern:RegExp = /[A-Z][a-z]{2}, \d{2} [A-Z][a-z]{2} \d{4} \d{2}:\d{2}:\d{2} \+|\-\d{4}/g; public static var c:uint; public static function stringLength(_arg1:String):uint{ var data = _arg1; var code:int; var result:int; var slen:int = data.length; while (slen) { slen = (slen - 1); try { code = data.charCodeAt(slen); } catch(e:Error) { code = 65536; }; if (code < 128){ result = (result + 1); } else { if (code < 0x0800){ result = (result + 2); } else { if (code < 65536){ result = (result + 3); } else { result = (result + 4); }; }; }; }; return (result); } public static function unserialize_internal(_arg1:String){ var _local2:*; var _local3:*; var _local8:uint; var _local9:*; var _local10:uint; var _local11:uint; var _local4:Array = new Array(); var _local5:String = _arg1.charAt(Serializer.c); var _local6:uint; var _local7:Boolean; switch (_local5){ case "N": Serializer.c = (Serializer.c + 2); break; case "b": _local2 = (_arg1.substr((Serializer.c + 2), 1) == "1"); Serializer.c = (Serializer.c + 4); break; case "i": _local4.push(_arg1.indexOf(";", Serializer.c)); _local6 = (Serializer.c + 2); Serializer.c = (_local4[0] + 1); _local2 = int(_arg1.substring(_local6, _local4[0])); break; case "d": _local4.push(_arg1.indexOf(";", Serializer.c)); _local6 = (Serializer.c + 2); Serializer.c = (_local4[0] + 1); _local2 = Number(_arg1.substring(_local6, _local4[0])); break; case "s": _local4.push(int(_arg1.indexOf(":", (Serializer.c + 2)))); _local4.push((_local4[0] + 2)); _local6 = (Serializer.c + 2); _local4.push(0); _local4.push(int(_arg1.substring(_local6, _local4[0]))); if (_local4[3] == 0){ _local2 = ""; Serializer.c = (_local6 + 5); } else { _local10 = Serializer.stringCLenght(_arg1, Serializer.c, _local4[3]); if (_local10 != _local4[3]){ _local2 = _arg1.substr((_local4[0] + 2), _local10); Serializer.c = ((_local4[0] + 4) + _local10); } else { _local2 = _arg1.substr((_local4[0] + 2), _local4[3]); Serializer.c = ((_local4[0] + 4) + _local4[3]); }; }; if (Serializer.pattern.test(_local2)){ _local2 = new Date(_local2); }; break; case "a": _local6 = (Serializer.c + 2); _local4.push(int(_arg1.indexOf(":", _local6))); _local4.push(int(_arg1.substring(_local6, _local4[0]))); Serializer.c = (_local4[0] + 2); _local2 = []; _local8 = 0; while (_local8 < _local4[1]) { _local3 = Serializer.unserialize_internal(_arg1); _local2[_local3] = Serializer.unserialize_internal(_arg1); if (((!((_local3 is int))) || ((_local3 < 0)))){ _local7 = false; }; _local8++; }; if (_local7){ _local4.push([]); _local11 = 0; while (_local11 < _local2.length) { _local6 = _local4[2].length; while (_local11 > _local6) { _local4[2].push(null); _local6 = (_local6 + 1); }; _local4[2].push(_local2[_local11]); _local11++; }; _local2 = _local4[2]; }; Serializer.c = (Serializer.c + 1); break; case "O": _local6 = (_arg1.indexOf("\"", Serializer.c) + 1); Serializer.c = _arg1.indexOf("\"", _local6); _local4.push(_arg1.substring(_local6, Serializer.c)); Serializer.c = (Serializer.c + 2); _local8 = Serializer.c; Serializer.c = _arg1.indexOf(":", _local8); _local8 = int(_arg1.substring(_local8, Serializer.c)); Serializer.c = (Serializer.c + 2); _local2 = {}; while (_local8 > 0) { _local9 = Serializer.unserialize_internal(_arg1); _local2[_local9] = Serializer.unserialize_internal(_arg1); _local8--; }; break; }; return (_local2); } public static function stringCLenght(_arg1:String, _arg2:uint=0, _arg3:uint=0):int{ var _local4:uint; var _local5:uint = _arg3; var _local6:uint = ((_arg2 + 4) + _arg3.toString().length); _local4 = 0; while (_local4 < _local5) { if (_arg1.charCodeAt((_local4 + _local6)) > 128){ _local5--; }; _local4++; }; return (_local5); } public static function serialize(_arg1):String{ var _local2:String; var _local5:String; var _local3:Array = new Array(); var _local4:int; if ((_arg1 is Boolean)){ _local2 = (("b:" + uint(_arg1)) + ";"); } else { if ((_arg1 is int)){ _local2 = (("i:" + _arg1.toString()) + ";"); } else { if ((_arg1 is Number)){ _local2 = (("d:" + _arg1.toString()) + ";"); } else { if ((_arg1 is String)){ _local2 = (((("s:" + Serializer.stringLength(_arg1)) + ":\"") + _arg1) + "\";"); } else { if ((_arg1 is Date)){ _local2 = (((("s:" + _arg1.toString().length) + ":\"") + _arg1) + "\";"); } else { if ((_arg1 is Object)){ for (_local5 in _arg1) { _local3.push(Serializer.serialize(_local5)); _local3.push(Serializer.serialize(_arg1[_local5])); _local4 = (_local4 + 1); }; _local2 = (((("O:8:\"stdClass\":" + _local4) + ":{") + _local3.join("")) + "}"); } else { if ((_arg1 is Array)){ for (_local5 in _arg1) { _local3.push(Serializer.serialize(_local4)); _local3.push(Serializer.serialize(_arg1[_local5])); _local4 = (_local4 + 1); }; _local2 = (((("a:" + _local4) + ":{") + _local3.join("")) + "}"); } else { if ((((_arg1 == null)) || ((_arg1 == undefined)))){ _local2 = "N;"; } else { _local2 = "i:0;"; }; }; }; }; }; }; }; }; return (_local2); } public static function unserialize(_arg1:String){ Serializer.c = 0; return (Serializer.unserialize_internal(_arg1)); } } }//package org.sepy.io
Section 58
//AccountManager (AccountManager) package { import flash.events.*; import flash.utils.*; import org.sepy.io.*; import flash.net.*; public final class AccountManager { private static var contactTimer:Timer = new Timer(60000); private static var newUsername:String; public static var forgotSuccessful:Boolean = false; private static var updateChangeMode:int = 0; public static var registrationSuccessful:Boolean = false; public static var loadComplete:Boolean = false; public static var updateSuccessful:Boolean = false; private static var memberLSO:SharedObject; public static var registrationError:String = ""; private static var newEmail:String; private static var shouldMaintainContact:Boolean = false; public static var loginSuccessful:Boolean = false; public static var purchaseSuccessful:Boolean = false; private static function loadLSO():void{ memberLSO = SharedObject.getLocal("memberLSO", "/"); } public static function get sessionTime():Number{ var _local1:Number; loadLSO(); _local1 = memberLSO.data.sessionTime; unloadLSO(); return (_local1); } private static function authenticateUserResult(_arg1:Event):void{ var _local5:Date; var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); var _local4:Array = new Array(); loadComplete = true; if (_local3.usernameMatches == "true"){ loadLSO(); memberLSO.data.loggedIn = true; memberLSO.data.id = _local3.returnedId; memberLSO.data.username = _local3.returnedUsername; memberLSO.data.emailaddress = _local3.returnedEmail; memberLSO.data.pointsAvailable = _local3.returnedPoints; _local5 = new Date(); memberLSO.data.sessionTime = _local5.getTime(); unloadLSO(); if (shouldMaintainContact){ startContactTimer(); }; loginSuccessful = true; } else { loginSuccessful = false; }; } private static function startContactTimer(){ if (initialLoggedInCheck()){ contactTimer.reset(); contactTimer.addEventListener(TimerEvent.TIMER, maintainContact); contactTimer.start(); }; } private static function forgotLoadComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); loadComplete = true; if (_local3.emailExists == "true"){ forgotSuccessful = true; } else { forgotSuccessful = false; }; } public static function updatePoints():void{ var _local1:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/getpoints.php"); var _local2:URLVariables = new URLVariables(); var _local3:URLLoader = new URLLoader(); loadComplete = false; loadLSO(); _local2.id = memberLSO.data.id; unloadLSO(); _local1.data = _local2; _local1.method = URLRequestMethod.POST; _local3.addEventListener(Event.COMPLETE, updatePointsComplete); _local3.load(_local1); } public static function registerUser(_arg1:String, _arg2:String, _arg3:String):void{ var _local4:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/submituser.php"); var _local5:URLVariables = new URLVariables(); var _local6:URLLoader = new URLLoader(); loadComplete = false; registrationSuccessful = false; newUsername = _arg2; _local5.emailaddress = _arg1; _local5.username = _arg2; _local5.password1 = _arg3; _local4.data = _local5; _local4.method = URLRequestMethod.POST; _local6.addEventListener(Event.COMPLETE, registerUserComplete); _local6.load(_local4); } public static function logout(){ if (shouldMaintainContact){ stopContactTimer(); }; loadLSO(); memberLSO.data.loggedIn = false; unloadLSO(); } private static function maintainContact(_arg1:TimerEvent){ var _local2:Date; if (checkLoggedIn()){ _local2 = new Date(); loadLSO(); if ((_local2.getTime() - memberLSO.data.sessionTime) < 90000){ memberLSO.data.sessionTime = _local2.getTime(); }; unloadLSO(); } else { stopContactTimer(); }; } public static function get id():String{ var _local1:String; loadLSO(); _local1 = memberLSO.data.id; unloadLSO(); return (_local1); } public static function get email():String{ var _local1:String; loadLSO(); _local1 = memberLSO.data.emailaddress; unloadLSO(); return (_local1); } public static function initialLoggedInCheck():Boolean{ var _local2:Date; var _local1:Boolean = checkLoggedIn(); if (_local1){ _local2 = new Date(); loadLSO(); if ((_local2.getTime() - memberLSO.data.sessionTime) < 90000){ _local1 = true; memberLSO.data.sessionTime = _local2.getTime(); } else { _local1 = false; memberLSO.data.loggedIn = false; }; unloadLSO(); }; return (_local1); } public static function forgotCheck(_arg1:String):void{ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/forgotpassword.php"); var _local3:URLVariables = new URLVariables(); var _local4:URLLoader = new URLLoader(); loadComplete = false; _local3.emailaddress = _arg1; _local2.data = _local3; _local2.method = URLRequestMethod.POST; _local4.addEventListener(Event.COMPLETE, forgotLoadComplete); _local4.load(_local2); } public static function get pointsAvailable():int{ var _local1:int; loadLSO(); _local1 = memberLSO.data.pointsAvailable; unloadLSO(); return (_local1); } private static function stopContactTimer(){ contactTimer.stop(); contactTimer.removeEventListener(TimerEvent.TIMER, maintainContact); contactTimer.reset(); } public static function submitPurchase(_arg1:int):void{ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/submitpurchase.php"); var _local3:URLVariables = new URLVariables(); var _local4:URLLoader = new URLLoader(); loadComplete = false; loadLSO(); _local3.id = memberLSO.data.id; unloadLSO(); _local3.cost = PaymentManager.purchaseItems[_arg1].cost; _local3.purchaseItem = _arg1; _local3.itemCol = PaymentManager.purchaseItems[_arg1].tableCol; _local3.gamename = (PaymentManager.gameName + "_users"); _local2.data = _local3; _local2.method = URLRequestMethod.POST; _local4.addEventListener(Event.COMPLETE, purchaseComplete); _local4.load(_local2); } public static function updateAccount(_arg1:int, _arg2:String, _arg3:String, _arg4:String, _arg5:String){ var _local6:URLRequest; var _local7:URLVariables = new URLVariables(); var _local8:URLLoader = new URLLoader(); loadComplete = false; updateChangeMode = _arg1; newUsername = _arg2; newEmail = _arg5; _local6 = new URLRequest("http://www.sinistersea.com/cgi-bin/updateaccount.php"); _local7.username = _arg2; loadLSO(); _local7.id = memberLSO.data.id; unloadLSO(); _local7.currentpassword = _arg3; _local7.newpassword = _arg4; _local7.emailaddress = _arg5; switch (_arg1){ case 1: _local7.updateType = "username"; break; case 2: _local7.updateType = "password"; break; case 3: _local7.updateType = "email"; break; }; _local6.data = _local7; _local6.method = URLRequestMethod.POST; _local8.addEventListener(Event.COMPLETE, updateAccountComplete); _local8.load(_local6); } public static function authenticateUser(_arg1:String, _arg2:String):void{ var _local3:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/checkuser.php"); var _local4:URLVariables = new URLVariables(); var _local5:URLLoader = new URLLoader(); loadComplete = false; loginSuccessful = false; _local4.username = _arg1; _local4.password1 = _arg2; _local3.data = _local4; _local3.method = URLRequestMethod.POST; _local5.addEventListener(Event.COMPLETE, authenticateUserResult); _local5.load(_local3); } private static function unloadLSO():void{ memberLSO.flush(); memberLSO = null; } public static function update(){ var _local1:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/updateaccount.php"); var _local2:URLVariables = new URLVariables(); var _local3:URLLoader = new URLLoader(); loadComplete = false; loadLSO(); _local2.id = memberLSO.data.id; unloadLSO(); _local1.data = _local2; _local1.method = URLRequestMethod.POST; _local3.addEventListener(Event.COMPLETE, authenticateUserResult); _local3.load(_local1); } public static function startContactMaintenance(){ shouldMaintainContact = true; startContactTimer(); } public static function get username():String{ var _local1:String; loadLSO(); _local1 = memberLSO.data.username; unloadLSO(); return (_local1); } private static function purchaseComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); loadComplete = true; if (_local3.purchaseCompleted == "true"){ PaymentManager.purchaseItems[_local3.purchaseItem].purchased = true; loadLSO(); memberLSO.data.pointsAvailable = (memberLSO.data.pointsAvailable - PaymentManager.purchaseItems[_local3.purchaseItem].cost); unloadLSO(); purchaseSuccessful = true; } else { purchaseSuccessful = false; }; } private static function updatePointsComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); if (_local3.pointsUpdated == "true"){ loadLSO(); memberLSO.data.pointsAvailable = _local3.returnedPoints; unloadLSO(); }; loadComplete = true; } public static function gotPurchases(_arg1:Event){ var _local5:int; var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); var _local4:Array = new Array(); loadComplete = true; if (_local3.gameRecordExists == "true"){ _local4 = Serializer.unserialize(_local3.returnedPurchases); _local5 = 0; while (_local5 < _local4.length) { if (_local4[_local5] == 1){ PaymentManager.purchaseItems[_local5].purchased = true; }; _local5++; }; }; } public static function initiateGettingPurchases(){ var _local1:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/checkpurchases.php"); var _local2:URLVariables = new URLVariables(); var _local3:URLLoader = new URLLoader(); loadComplete = false; loadLSO(); _local2.id = memberLSO.data.id; unloadLSO(); _local2.gamename = (PaymentManager.gameName + "_users"); _local1.data = _local2; _local1.method = URLRequestMethod.POST; _local3.addEventListener(Event.COMPLETE, gotPurchases); _local3.load(_local1); } private static function registerUserComplete(_arg1:Event):void{ var _local5:Date; var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); var _local4:Boolean; loadComplete = true; if (_local3.usernameExists == "true"){ registrationSuccessful = false; registrationError = "USERNAME_EXISTS"; _local4 = false; }; if (_local3.emailExists == "true"){ registrationSuccessful = false; registrationError = "EMAIL_EXISTS"; _local4 = false; }; if (_local4){ loadLSO(); memberLSO.data.id = _local3.returnedId; memberLSO.data.emailaddress = _local3.returnedEmail; memberLSO.data.loggedIn = true; memberLSO.data.username = newUsername; memberLSO.data.pointsAvailable = _local3.returnedPoints; _local5 = new Date(); memberLSO.data.sessionTime = _local5.getTime(); unloadLSO(); registrationSuccessful = true; } else { registrationSuccessful = false; }; } public static function checkLoggedIn():Boolean{ var _local1:Boolean; loadLSO(); if (memberLSO.data.loggedIn){ _local1 = true; } else { _local1 = false; }; unloadLSO(); return (_local1); } private static function updateAccountComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); loadComplete = true; switch (updateChangeMode){ case 1: if (_local3.updateSuccessful == "false"){ updateSuccessful = false; } else { updateSuccessful = true; loadLSO(); memberLSO.data.username = newUsername; unloadLSO(); }; break; case 2: if (_local3.updateSuccessful == "false"){ updateSuccessful = false; } else { updateSuccessful = true; }; break; case 3: if (_local3.updateSuccessful == "false"){ updateSuccessful = false; } else { updateSuccessful = true; loadLSO(); memberLSO.data.emailaddress = newEmail; unloadLSO(); }; break; }; } } }//package
Section 59
//AdBox (AdBox) package { import flash.display.*; public dynamic class AdBox extends MovieClip { } }//package
Section 60
//AddButton (AddButton) package { import flash.display.*; public dynamic class AddButton extends SimpleButton { } }//package
Section 61
//ArmorControl (ArmorControl) package { import flash.display.*; import flash.text.*; public dynamic class ArmorControl extends MovieClip { public var costText:TextField; } }//package
Section 62
//AttackControl (AttackControl) package { import flash.display.*; import flash.text.*; public dynamic class AttackControl extends MovieClip { public var costText:TextField; } }//package
Section 63
//AutoTank (AutoTank) package { import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class AutoTank extends Unit { public var onNewCell:Boolean;// = true public var lastDirection:int;// = 4 public var statLevels:Array; public var pathArray:Array; public var pathPosition:int;// = 0 public function AutoTank(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int){ pathArray = new Array(); statLevels = new Array(); clip = new PlayerTank(); super(_arg1, _arg2); unitID = _arg8; typeOfUnit = TANK_TYPE; maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0.5; turretRotationSpeed = 4; range = 500; shotRecovery = 150; currentRecovery = 150; doesMove = true; doesFire = true; doesBuild = false; hasTurret = true; clearedBuilder = false; statLevels.push(_arg3); statLevels.push(_arg4); statLevels.push(_arg5); statLevels.push(_arg6); statLevels.push(_arg7); setStatLevel(SPEEDCONTROL, _arg3); setStatLevel(ARMORCONTROL, _arg4); setStatLevel(ATTACKCONTROL, _arg5); setStatLevel(RATECONTROL, _arg6); setStatLevel(RANGECONTROL, _arg7); } public function advancePath(){ pathPosition++; onNewCell = true; clearedBuilder = true; if (pathPosition >= pathArray.length){ switch (lastDirection){ case RIGHT: destinationX++; break; case LEFT: destinationX--; break; case UP: destinationY--; break; case DOWN: destinationY++; break; }; moveStatus = lastDirection; } else { switch (pathArray[pathPosition]){ case RIGHT: destinationX++; break; case LEFT: destinationX--; break; case UP: destinationY--; break; case DOWN: destinationY++; break; }; if (pathArray[pathPosition] > TANKMOVEOFFSET){ pathPosition = (pathArray[pathPosition] - TANKMOVEOFFSET); switch (pathArray[pathPosition]){ case RIGHT: destinationX++; break; case LEFT: destinationX--; break; case UP: destinationY--; break; case DOWN: destinationY++; break; }; }; moveStatus = pathArray[pathPosition]; }; } public function setStatLevel(_arg1:int, _arg2:int){ statLevels[_arg1] = _arg2; switch (_arg1){ case SPEEDCONTROL: switch (_arg2){ case 0: currentSpeed = SPEED_1; rotateSpeed = SPEED_1; break; case 1: currentSpeed = SPEED_2; rotateSpeed = SPEED_2; break; case 2: currentSpeed = SPEED_3; rotateSpeed = SPEED_3; break; case 3: currentSpeed = SPEED_4; rotateSpeed = SPEED_4; break; default: currentSpeed = SPEED_1; rotateSpeed = SPEED_1; break; }; break; case ARMORCONTROL: switch (_arg2){ case 0: maxhealth = ARMOR_1; health = ARMOR_1; break; case 1: maxhealth = ARMOR_2; health = ARMOR_2; break; case 2: maxhealth = ARMOR_3; health = ARMOR_3; break; case 3: maxhealth = ARMOR_4; health = ARMOR_4; break; default: maxhealth = ARMOR_1; health = ARMOR_1; break; }; break; case ATTACKCONTROL: switch (_arg2){ case 0: payloadSize = ONE_MEGATON; damageMultiplier = DAMAGE_1; break; case 1: payloadSize = TWO_MEGATON; damageMultiplier = DAMAGE_2; break; case 2: payloadSize = THREE_MEGATON; damageMultiplier = DAMAGE_3; break; case 3: payloadSize = FOUR_MEGATON; damageMultiplier = DAMAGE_4; break; default: payloadSize = ONE_MEGATON; damageMultiplier = DAMAGE_1; break; }; break; case RATECONTROL: switch (_arg2){ case 0: shotRecovery = RATE_1; currentRecovery = RATE_1; break; case 1: shotRecovery = RATE_2; currentRecovery = RATE_2; break; case 2: shotRecovery = RATE_3; currentRecovery = RATE_3; break; case 3: shotRecovery = RATE_4; currentRecovery = RATE_4; break; default: shotRecovery = RATE_1; currentRecovery = RATE_1; break; }; break; case RANGECONTROL: switch (_arg2){ case 0: range = RANGE_1; break; case 1: range = RANGE_2; break; case 2: range = RANGE_3; break; case 3: range = RANGE_4; break; default: range = RANGE_1; break; }; break; }; } public function moveMe(){ var _local1:Number = clip.rotation; if (_local1 < 0){ _local1 = (_local1 + 360); }; switch (moveStatus){ case WAITING: break; case MOVINGUP: if (clip.y <= (PosFromCell(destinationY) + currentSpeed)){ clip.y = PosFromCell(destinationY); moveStatus = WAITING; } else { if (_local1 == 0){ clip.y = (clip.y - currentSpeed); } else { if (_local1 >= 180){ if ((_local1 + rotateSpeed) >= 360){ clip.rotation = 0; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 0){ clip.rotation = 0; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case MOVINGRIGHT: if (clip.x >= (PosFromCell(destinationX) - currentSpeed)){ clip.x = PosFromCell(destinationX); moveStatus = WAITING; } else { if (_local1 == 90){ clip.x = (clip.x + currentSpeed); } else { if ((((_local1 >= 270)) || ((_local1 < 90)))){ if (((((_local1 + rotateSpeed) >= 90)) && ((_local1 < 90)))){ clip.rotation = 90; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 90){ clip.rotation = 90; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case MOVINGDOWN: if (clip.y >= (PosFromCell(destinationY) - currentSpeed)){ clip.y = PosFromCell(destinationY); moveStatus = WAITING; } else { if (_local1 == 180){ clip.y = (clip.y + currentSpeed); } else { if (_local1 < 180){ if ((_local1 + rotateSpeed) >= 180){ clip.rotation = 180; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 180){ clip.rotation = 180; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case MOVINGLEFT: if (clip.x <= (PosFromCell(destinationX) + currentSpeed)){ clip.x = PosFromCell(destinationX); moveStatus = WAITING; } else { if (_local1 == 270){ clip.x = (clip.x - currentSpeed); } else { if ((((_local1 > 270)) || ((_local1 <= 90)))){ if (((((_local1 - rotateSpeed) <= 270)) && ((_local1 > 270)))){ clip.rotation = -90; } else { clip.rotation = (clip.rotation - rotateSpeed); }; } else { if ((_local1 + rotateSpeed) >= 270){ clip.rotation = -90; } else { clip.rotation = (clip.rotation + rotateSpeed); }; }; }; }; break; }; if (moveStatus == WAITING){ advancePath(); } else { onNewCell = false; }; } public function setInitialDirection(){ switch (pathArray[0]){ case DOWN: destinationX = CellFromPos(clip.x); destinationY = (CellFromPos(clip.y) + 1); clip.rotation = 180; break; case UP: destinationX = CellFromPos(clip.x); destinationY = (CellFromPos(clip.y) - 1); clip.rotation = 0; break; case LEFT: destinationX = (CellFromPos(clip.x) - 1); destinationY = CellFromPos(clip.y); clip.rotation = -90; break; case RIGHT: destinationX = (CellFromPos(clip.x) + 1); destinationY = CellFromPos(clip.y); clip.rotation = 90; break; }; moveStatus = pathArray[0]; lastDirection = pathArray[(pathArray.length - 1)]; } } }//package
Section 64
//BackTitleButton (BackTitleButton) package { import flash.display.*; import flash.text.*; public dynamic class BackTitleButton extends SimpleButton { public var backTitleButton:TextField; } }//package
Section 65
//BeatenFlag (BeatenFlag) package { import flash.display.*; public dynamic class BeatenFlag extends Sprite { } }//package
Section 66
//BrowseUserLevelsButton (BrowseUserLevelsButton) package { import flash.display.*; public dynamic class BrowseUserLevelsButton extends SimpleButton { } }//package
Section 67
//BuildTankButton (BuildTankButton) package { import flash.display.*; public dynamic class BuildTankButton extends MovieClip { public function BuildTankButton(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 9, frame10); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame10(){ stop(); } } }//package
Section 68
//BuildTankDisplay (BuildTankDisplay) package { import flash.display.*; import flash.text.*; public dynamic class BuildTankDisplay extends MovieClip { public var cashText:TextField; public var tanksAvailText:TextField; public var costText:TextField; } }//package
Section 69
//BuildTankFX (BuildTankFX) package { import flash.media.*; public dynamic class BuildTankFX extends Sound { } }//package
Section 70
//BuyClamsContents (BuyClamsContents) package { import flash.display.*; import flash.text.*; public dynamic class BuyClamsContents extends MovieClip { public var buy500Button:PaymentBox_BuyButton; public var buyClamsUsername:TextField; public var cancelClamBuyButton:PaymentBox_CancelBuyButton; public var buyClamsAvailable:TextField; public var buy1000Button:PaymentBox_BuyButton; public var buy250Button:PaymentBox_BuyButton; } }//package
Section 71
//CancelButton (CancelButton) package { import flash.display.*; public dynamic class CancelButton extends SimpleButton { } }//package
Section 72
//ClamIcon (ClamIcon) package { import flash.display.*; public dynamic class ClamIcon extends MovieClip { } }//package
Section 73
//CloseButton (CloseButton) package { import flash.display.*; public dynamic class CloseButton extends SimpleButton { } }//package
Section 74
//CopyToClipboardButton (CopyToClipboardButton) package { import flash.display.*; public dynamic class CopyToClipboardButton extends SimpleButton { } }//package
Section 75
//Crate_Health (Crate_Health) package { import flash.display.*; public dynamic class Crate_Health extends MovieClip { public function Crate_Health(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 76
//Crate_Money (Crate_Money) package { import flash.display.*; public dynamic class Crate_Money extends MovieClip { public function Crate_Money(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 77
//Crate_Sideswitcher (Crate_Sideswitcher) package { import flash.display.*; public dynamic class Crate_Sideswitcher extends MovieClip { public function Crate_Sideswitcher(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 78
//Crate_Tank (Crate_Tank) package { import flash.display.*; public dynamic class Crate_Tank extends MovieClip { public function Crate_Tank(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 79
//CrateCollectedFX (CrateCollectedFX) package { import flash.media.*; public dynamic class CrateCollectedFX extends Sound { } }//package
Section 80
//CreateCustomButton (CreateCustomButton) package { import flash.display.*; public dynamic class CreateCustomButton extends SimpleButton { } }//package
Section 81
//CreatedByButton (CreatedByButton) package { import flash.display.*; public dynamic class CreatedByButton extends SimpleButton { } }//package
Section 82
//CreateMusic (CreateMusic) package { import flash.media.*; public dynamic class CreateMusic extends Sound { } }//package
Section 83
//CustomInput (CustomInput) package { import flash.display.*; import flash.text.*; public dynamic class CustomInput extends Sprite { public var errorCodeText:TextField; public var levelCodeText:TextField; public var okButton:OkButton; } }//package
Section 84
//DeleteIcon (DeleteIcon) package { import flash.display.*; public dynamic class DeleteIcon extends Sprite { } }//package
Section 85
//DirectionArrow (DirectionArrow) package { import flash.display.*; public dynamic class DirectionArrow extends MovieClip { public function DirectionArrow(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 5, frame6); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame6(){ stop(); } } }//package
Section 86
//DownloadButton (DownloadButton) package { import flash.display.*; public dynamic class DownloadButton extends SimpleButton { } }//package
Section 87
//DownloadMusicButton (DownloadMusicButton) package { import flash.display.*; public dynamic class DownloadMusicButton extends SimpleButton { } }//package
Section 88
//EditorPlaceFX (EditorPlaceFX) package { import flash.media.*; public dynamic class EditorPlaceFX extends Sound { } }//package
Section 89
//EditorRemoveFX (EditorRemoveFX) package { import flash.media.*; public dynamic class EditorRemoveFX extends Sound { } }//package
Section 90
//EverythingHolder (EverythingHolder) package { import flash.display.*; public dynamic class EverythingHolder extends MovieClip { public function EverythingHolder(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 91
//ExitButton (ExitButton) package { import flash.display.*; public dynamic class ExitButton extends SimpleButton { } }//package
Section 92
//Explosion (Explosion) package { import flash.geom.*; import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.twoD.zones.*; import org.flintparticles.twoD.emitters.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.twoD.initializers.*; import org.flintparticles.common.displayObjects.*; public class Explosion { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var payloadType:int;// = 1 public var damageMultiplier:Number;// = 1 public var centerFire:Emitter2D; public var payloadSize:int;// = 10 public var fire:Emitter2D; public var xPos:int;// = 0 public var damageActive:Boolean;// = true public var smoke:Emitter2D; public var backFire:Emitter2D; public var yPos:int;// = 0 public function Explosion(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Number){ smoke = new Emitter2D(); fire = new Emitter2D(); centerFire = new Emitter2D(); backFire = new Emitter2D(); super(); xPos = _arg1; yPos = _arg2; payloadSize = _arg3; payloadType = _arg4; damageMultiplier = _arg5; smoke.counter = new Blast(5); smoke.addInitializer(new Lifetime(2, 3)); smoke.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 20, 1))); smoke.addInitializer(new SharedImage(new RadialDot(6))); smoke.addAction(new Age()); smoke.addAction(new Move()); smoke.addAction(new ScaleImage(1, 7)); smoke.addAction(new Fade(0.75, 0)); smoke.addAction(new RandomDrift(15, 15)); smoke.x = _arg1; smoke.y = _arg2; smoke.start(); fire.counter = new Blast(5); fire.addInitializer(new Lifetime(2, 3)); fire.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 20, 1))); fire.addInitializer(new SharedImage(new Dot(5))); fire.addAction(new Age()); fire.addAction(new Move()); fire.addAction(new ColorChange(2113915904, 0xCC0000)); fire.addAction(new ScaleImage(5, 1)); fire.x = _arg1; fire.y = _arg2; fire.start(); centerFire.counter = new Blast(1); centerFire.addInitializer(new Lifetime(3, 3)); centerFire.addInitializer(new SharedImage(new RadialDot(10))); centerFire.addAction(new Age()); centerFire.addAction(new Move()); centerFire.addAction(new ColorChange(4294953984, 0xCC0000)); centerFire.addAction(new ScaleImage(1, (payloadSize / 5))); centerFire.x = _arg1; centerFire.y = _arg2; centerFire.start(); backFire.counter = new Blast(1); backFire.addInitializer(new Lifetime(1, 1)); backFire.addInitializer(new SharedImage(new Dot(10))); backFire.addAction(new Age()); backFire.addAction(new Move()); backFire.addAction(new ColorChange(4294953984, 0xCC0000)); backFire.addAction(new ScaleImage(1, (payloadSize / 5))); backFire.x = _arg1; backFire.y = _arg2; backFire.start(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 93
//ExportScreen (ExportScreen) package { import flash.display.*; import flash.text.*; public dynamic class ExportScreen extends MovieClip { public var levelNameText:TextField; public var doneIndicator:TextField; public var okButton:OkButton; public var shareOnSSButton:ShareOnSSButton; public var levelCodeText:TextField; public var copyToClipboardButton:CopyToClipboardButton; public function ExportScreen(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 94
//FiringRange (FiringRange) package { import flash.display.*; public dynamic class FiringRange extends Sprite { } }//package
Section 95
//FxButton (FxButton) package { import flash.display.*; public dynamic class FxButton extends MovieClip { public function FxButton(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 96
//GameManager (GameManager) package { import flash.events.*; import flash.display.*; import caurina.transitions.*; import flash.utils.*; import mochi.*; import flash.media.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public final class GameManager extends Sprite { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; static const TITLESTATE:int = 1; static const LEVELSTATE:int = 2; static const STORYSTATE:int = 4; static const CREATESTATE:int = 3; public static var levelMusic:LevelMusic = new LevelMusic(); private static var paymentInitializer:PaymentInitializer = new PaymentInitializer(); private static var prevLevel:LevelScreen; public static var levelEditor:LevelEditor; public static var musicChannel:SoundChannel = new SoundChannel(); public static var levelBrowse:LevelBrowse; public static var userLevelWins:int = 0; public static var shellLand:ShellLandFX = new ShellLandFX(); public static var storyMusic:StoryMusic = new StoryMusic(); public static var interfaceDisplay:Sprite = new Sprite(); public static var musicPlaying:Boolean = false; public static var managerStage:Stage; public static var levelInfo:Array = new Array(); public static var editorRemove:EditorRemoveFX = new EditorRemoveFX(); public static var resumeLSO:SharedObject = SharedObject.getLocal("autoTanksResume"); public static var levelClick:LevelClickFX = new LevelClickFX(); public static var menuClick:MenuClickFX = new MenuClickFX(); public static var userLevelId:int = 0; public static var buildTank:BuildTankFX = new BuildTankFX(); public static var stationReached:StationReachedFX = new StationReachedFX(); private static var delayTimer:Timer = new Timer(500, 2); public static var ssIntroSound:SSIntroSound = new SSIntroSound(); public static var reachedGoal:ReachedGoalFX = new ReachedGoalFX(); public static var shellFire:ShellFireFX = new ShellFireFX(); private static var firstTitle:Boolean = true; public static var createMusic:CreateMusic = new CreateMusic(); private static var currentLevel:LevelScreen; public static var missleLaunch:MissleLaunchFX = new MissleLaunchFX(); public static var onSinisterSea:Boolean = false; public static var lastSubmittedScore:int = 0; public static var wonLevel:WonLevelFX = new WonLevelFX(); public static var currentState:int = 0; public static var currentScore:int = 0; public static var sink:SinkFX = new SinkFX(); public static var levelSelect:LevelSelect; public static var fxButton:ToggleButton = new ToggleButton(); public static var fadeDisplay:Sprite = new Sprite(); public static var musicDownloadScreen:MusicDownloadScreen; public static var titleMusic:TitleMusic = new TitleMusic(); public static var editorPlace:EditorPlaceFX = new EditorPlaceFX(); public static var userLevelName:String = ""; public static var screenDisplay:Sprite = new Sprite(); public static var musicButton:ToggleButton = new ToggleButton(); public static var fxTransform:SoundTransform = new SoundTransform(); public static var lostLevel:LostLevelFX = new LostLevelFX(); public static var loadError:LoadErrorFX = new LoadErrorFX(); public static var userLevelRatings:int = 0; public static var userLevelPlays:int = 0; public static var musicTransform:SoundTransform = new SoundTransform(); public static var unitExplode:UnitExplodeFX = new UnitExplodeFX(); public static var musicDownload:FileReference; public static var fxChannel:SoundChannel = new SoundChannel(); public static var crateCollected:CrateCollectedFX = new CrateCollectedFX(); public static var titleScreen:TitleScreen; public static var paymentBox:PaymentBox; public static var transmission:TransmissionFX = new TransmissionFX(); public static var userLevelSubmit:Boolean = false; public static var introScreen:IntroScreen; private static function checkForPurchases(){ if (onSinisterSea){ paymentInitializer.activate(interfaceDisplay); if (AccountManager.initialLoggedInCheck()){ paymentInitializer.showInitializer(); AccountManager.initiateGettingPurchases(); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, purchasesRetrieved); delayTimer.start(); } else { paymentInitializer.startListening(); loadIntro(); }; } else { loadIntro(); }; } public static function activateSoundButtons(){ musicButton.clip.addEventListener(MouseEvent.CLICK, musicToggle); fxButton.clip.addEventListener(MouseEvent.CLICK, fxToggle); musicButton.activate(); fxButton.activate(); } private static function keyPressed(_arg1:KeyboardEvent){ var _local2:MouseEvent; var _local3:MouseEvent; var _local4:MouseEvent; switch (_arg1.keyCode){ case 112: if (currentState == LEVELSTATE){ if (currentLevel.isPaused){ currentLevel.resumeLevel(); } else { currentLevel.pauseLevel(); }; }; break; case 109: _local2 = new MouseEvent(MouseEvent.CLICK); musicToggle(_local2); break; case 115: _local3 = new MouseEvent(MouseEvent.CLICK); fxToggle(_local3); break; case 102: _local4 = new MouseEvent(MouseEvent.CLICK); fxToggle(_local4); break; }; } public static function leaveEditor(){ levelEditor.deactivate(); switchMusic(); Tweener.addTween(levelEditor, {x:680, transition:"linear", time:2, onComplete:clearEditor}); loadTitle(); } public static function deactivateSoundButtons(){ musicButton.clip.removeEventListener(MouseEvent.CLICK, musicToggle); fxButton.clip.removeEventListener(MouseEvent.CLICK, fxToggle); musicButton.deactivate(); fxButton.deactivate(); } public static function clearLevelSelect(){ screenDisplay.removeChild(levelSelect); levelSelect = null; } public static function exitLevel(){ var i:int; switch (currentLevel.levelType){ case 1: Tweener.addTween(currentLevel, {x:-680, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[currentLevel]}); currentState = CREATESTATE; Tweener.addTween(levelEditor, {x:0, transition:"linear", time:2, onComplete:activateEditor}); break; case 2: if (currentLevel.levelWon){ if (currentLevel.score > levelInfo[currentLevel.currentLevel].bestScore){ levelInfo[currentLevel.currentLevel].bestScore = currentLevel.score; }; levelInfo[currentLevel.currentLevel].beaten = true; if (currentLevel.currentLevel < 20){ levelInfo[(currentLevel.currentLevel + 1)].isAvailable = true; }; i = 0; while (i < 21) { resumeLSO.data.beatenArray[i] = levelInfo[i].beaten; resumeLSO.data.availableArray[i] = levelInfo[i].isAvailable; resumeLSO.data.bestScoreArray[i] = levelInfo[i].bestScore; i = (i + 1); }; try { resumeLSO.flush(); } catch(e:Error) { }; }; currentState = TITLESTATE; if ((((currentLevel.currentLevel == 20)) && (currentLevel.levelWon))){ Tweener.addTween(currentLevel, {x:680, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[currentLevel]}); loadTitle(); } else { Tweener.addTween(currentLevel, {x:-680, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[currentLevel]}); loadSelect(); }; break; case 3: Tweener.addTween(currentLevel, {x:680, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[currentLevel]}); currentState = TITLESTATE; loadTitle(); break; case 4: Tweener.addTween(currentLevel, {x:-680, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[currentLevel]}); currentState = TITLESTATE; loadLevelBrowse(); break; }; switchMusic(); } public static function loadTitle(){ currentState = TITLESTATE; titleScreen = new TitleScreen(); musicButton.clip = titleScreen.titleMusicButton; fxButton.clip = titleScreen.titleFxButton; activateSoundButtons(); titleScreen.x = -680; screenDisplay.addChild(titleScreen); Tweener.addTween(titleScreen, {x:0, transition:"linear", time:2, onComplete:activateTitle}); if (firstTitle){ musicTransform.volume = 0; musicChannel.soundTransform = musicTransform; musicButton.turnOn(); fxButton.turnOn(); startMusic(); managerStage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); titleScreen.storyScreen.visible = true; }; } public static function introClicked(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } public static function clearIntro(){ screenDisplay.removeChild(introScreen); introScreen = null; } public static function clearTitle(){ screenDisplay.removeChild(titleScreen); titleScreen = null; } public static function activateTitle(){ titleScreen.activate(); if (firstTitle){ firstTitle = false; titleScreen.storyScreen.tinkClip.gotoAndPlay(2); titleScreen.storyScreen.startText(0); }; } public static function backFromBrowse(){ leaveLevelBrowse(); loadTitle(); } public static function fadeInIntro(){ introScreen.introFade.alpha = (introScreen.introFade.alpha - 0.2); } public static function playFx(_arg1:int){ if (fxButton.isOn){ switch (_arg1){ case 1: fxChannel = levelClick.play(); break; case 2: fxChannel = levelClick.play(); break; case 3: fxChannel = shellFire.play(); break; case 4: fxChannel = shellLand.play(); break; case 5: fxChannel = unitExplode.play(); break; case 6: fxChannel = buildTank.play(); break; case 7: fxChannel = reachedGoal.play(); break; case 8: fxChannel = crateCollected.play(); break; case 9: fxChannel = stationReached.play(); break; case 10: fxChannel = missleLaunch.play(); break; case 11: fxChannel = sink.play(); break; case 12: fxChannel = editorPlace.play(); break; case 13: fxChannel = editorRemove.play(); break; case 14: fxChannel = loadError.play(); break; case 15: fxChannel = wonLevel.play(); break; case 16: fxChannel = lostLevel.play(); break; case 17: fxChannel = transmission.play(); break; }; }; } public static function loadIntro(){ introScreen = new IntroScreen(); introScreen.alpha = 0; introScreen.ssLogoButton.alpha = 0; introScreen.introFade.mouseEnabled = false; introScreen.introFade.mouseChildren = false; introScreen.ssLogoButton.addEventListener(MouseEvent.CLICK, introClicked); screenDisplay.addChild(introScreen); Tweener.addTween(introScreen, {alpha:1, transition:"linear", time:1.5, onComplete:playIntroSound}); Tweener.addCaller(introScreen, {onUpdate:fadeInIntro, time:2, count:5, delay:1}); Tweener.addCaller(introScreen, {onUpdate:fadeOutIntro, time:2, count:5, delay:5.5, onComplete:loadTitle}); Tweener.addTween(introScreen, {x:680, transition:"linear", time:2, delay:7.5, onComplete:clearIntro}); } private static function purchasesRetrieved(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, purchasesRetrieved); paymentInitializer.closePaymentInitializer(); loadIntro(); } else { delayTimer.reset(); delayTimer.start(); }; } public static function loadLevel(){ currentLevel.fadeInLevel(); } public static function activateLevelBrowse(){ levelBrowse.activate(); } public static function stopMusic(){ Tweener.addTween(musicTransform, {volume:0, time:1, onUpdate:function (){ musicChannel.soundTransform = musicTransform; }, onComplete:function (){ musicChannel.stop(); }}); } public static function clearLevel(_arg1:LevelScreen){ screenDisplay.removeChild(_arg1); _arg1 = null; } public static function clearEditor(){ screenDisplay.removeChild(levelEditor); levelEditor = null; } public static function playIntroSound(){ fxChannel = ssIntroSound.play(); introScreen.ssLogoButton.alpha = 1; } public static function fadeOutIntro(){ introScreen.introFade.alpha = (introScreen.introFade.alpha + 0.2); } public static function activateEditor(){ levelEditor.activate(); } public static function loadLevelBrowse(){ levelBrowse = new LevelBrowse(); levelBrowse.x = 680; screenDisplay.addChild(levelBrowse); levelBrowse.activate(); Tweener.addTween(levelBrowse, {x:0, transition:"linear", time:2}); } public static function initiateCustom(_arg1:String){ switchMusic(); currentState = LEVELSTATE; currentLevel = new LevelScreen(-10, _arg1, 3); currentLevel.x = 680; screenDisplay.addChild(currentLevel); Tweener.addTween(currentLevel, {x:0, transition:"linear", time:2, onComplete:loadLevel}); } public static function clearMusicScreen(){ screenDisplay.removeChild(musicDownloadScreen); musicDownloadScreen = null; } public static function leaveLevelSelect(){ levelSelect.deactivate(); Tweener.addTween(levelSelect, {x:680, transition:"linear", time:2, onComplete:clearLevelSelect}); } public static function switchMusic(){ if (musicButton.isOn){ Tweener.addTween(musicTransform, {volume:0, time:1, onUpdate:function (){ musicChannel.soundTransform = musicTransform; }, onComplete:function (){ musicChannel.stop(); startMusic(); }}); }; } public static function initiateTestLevel(_arg1:String){ switchMusic(); currentState = LEVELSTATE; currentLevel = new LevelScreen(-10, _arg1, 1); currentLevel.x = -680; screenDisplay.addChild(currentLevel); Tweener.addTween(currentLevel, {x:0, transition:"linear", time:2, onComplete:loadLevel}); Tweener.addTween(levelEditor, {x:680, transition:"linear", time:2}); } public static function loadMusicDownload(){ musicDownloadScreen = new MusicDownloadScreen(); musicDownloadScreen.x = 680; screenDisplay.addChild(musicDownloadScreen); musicDownloadScreen.activate(); Tweener.addTween(musicDownloadScreen, {x:0, transition:"linear", time:2}); } public static function stopFx(){ Tweener.addTween(fxTransform, {volume:0, time:1, onUpdate:function (){ fxChannel.soundTransform = fxTransform; }, onComplete:function (){ fxChannel.stop(); }}); } public static function loadSelect(){ levelSelect = new LevelSelect(); levelSelect.x = 680; screenDisplay.addChild(levelSelect); Tweener.addTween(levelSelect, {x:0, transition:"linear", time:2, onComplete:activateLevelSelect}); } public static function clearLevelBrowse(){ screenDisplay.removeChild(levelBrowse); levelBrowse = null; } public static function activateLevelSelect(){ levelSelect.activate(); } public static function restartLevel(){ switchMusic(); prevLevel = currentLevel; currentLevel = new LevelScreen(prevLevel.currentLevel, prevLevel.levelString, prevLevel.levelType); currentLevel.y = -490; screenDisplay.addChild(currentLevel); Tweener.addTween(prevLevel, {y:490, transition:"linear", time:2, onComplete:clearLevel, onCompleteParams:[prevLevel]}); Tweener.addTween(currentLevel, {y:0, transition:"linear", time:2, onComplete:loadLevel}); } public static function initiate(){ var _local1:int; var _local2:int; populateLevels(); interfaceDisplay.width = 680; interfaceDisplay.height = 490; PaymentManager.initialize(); checkForPurchases(); if (resumeLSO.data.previouslyViewed){ _local1 = 0; while (_local1 < 21) { levelInfo[_local1].beaten = resumeLSO.data.beatenArray[_local1]; levelInfo[_local1].isAvailable = resumeLSO.data.availableArray[_local1]; levelInfo[_local1].bestScore = resumeLSO.data.bestScoreArray[_local1]; _local1++; }; lastSubmittedScore = resumeLSO.data.lastSubmittedScore; } else { resumeLSO.data.previouslyViewed = true; resumeLSO.data.beatenArray = new Array(); resumeLSO.data.availableArray = new Array(); resumeLSO.data.bestScoreArray = new Array(); resumeLSO.data.lastSubmittedScore = 0; _local2 = 0; while (_local2 < 21) { resumeLSO.data.beatenArray.push(false); resumeLSO.data.availableArray.push(false); resumeLSO.data.bestScoreArray.push(0); _local2++; }; resumeLSO.data.availableArray[0] = true; }; } public static function leaveMusicScreen(){ musicDownloadScreen.deactivate(); Tweener.addTween(musicDownloadScreen, {x:680, transition:"linear", time:2, onComplete:clearMusicScreen}); } public static function setStage(_arg1){ managerStage = _arg1; } public static function backToTitle(){ leaveLevelSelect(); loadTitle(); } public static function initiateMission(_arg1:int){ switchMusic(); currentState = LEVELSTATE; currentLevel = new LevelScreen(_arg1, levelInfo[_arg1].levelString, 2); currentLevel.x = -680; screenDisplay.addChild(currentLevel); Tweener.addTween(currentLevel, {x:0, transition:"linear", time:2, onComplete:loadLevel}); } public static function musicToggle(_arg1:MouseEvent){ var e = _arg1; if (musicButton.isOn){ musicButton.turnOff(); Tweener.addTween(musicTransform, {volume:0, time:1, onUpdate:function (){ musicChannel.soundTransform = musicTransform; }, onComplete:function (){ musicChannel.stop(); }}); } else { musicButton.turnOn(); startMusic(); }; } public static function fxToggle(_arg1:MouseEvent){ var e = _arg1; if (fxButton.isOn){ Tweener.addTween(fxTransform, {volume:0, time:1, onUpdate:function (){ fxChannel.soundTransform = fxTransform; }, onComplete:function (){ fxChannel.stop(); }}); fxButton.turnOff(); } else { fxButton.turnOn(); }; } public static function initiateUserLevel(_arg1:String, _arg2:String, _arg3:int){ switchMusic(); userLevelName = _arg2; userLevelId = _arg3; currentState = LEVELSTATE; currentLevel = new LevelScreen(-10, _arg1, 4); currentLevel.x = -680; screenDisplay.addChild(currentLevel); Tweener.addTween(currentLevel, {x:0, transition:"linear", time:2, onComplete:loadLevel}); } public static function leaveTitle(){ titleScreen.deactivate(); Tweener.addTween(titleScreen, {x:-680, transition:"linear", time:2, onComplete:clearTitle}); } public static function startMusic(){ if (musicButton.isOn){ switch (currentState){ case TITLESTATE: musicChannel = titleMusic.play(0, int.MAX_VALUE); break; case LEVELSTATE: musicChannel = levelMusic.play(0, int.MAX_VALUE); break; case CREATESTATE: musicChannel = createMusic.play(0, int.MAX_VALUE); break; case STORYSTATE: musicChannel = storyMusic.play(0, int.MAX_VALUE); break; }; Tweener.addTween(musicTransform, {volume:1, time:3, onUpdate:function (){ musicChannel.soundTransform = musicTransform; }}); }; } public static function backFromMusic(){ leaveMusicScreen(); loadTitle(); } public static function loadEditor(){ switchMusic(); currentState = CREATESTATE; levelEditor = new LevelEditor(); levelEditor.x = 680; screenDisplay.addChild(levelEditor); Tweener.addTween(levelEditor, {x:0, transition:"linear", time:2, onComplete:activateEditor}); } private static function populateLevels(){ var _local1:LevelData; var _local2:int; while (_local2 < 21) { _local1 = new LevelData(_local2); levelInfo.push(_local1); _local2++; }; } public static function leaveLevelBrowse(){ levelBrowse.deactivate(); Tweener.addTween(levelBrowse, {x:680, transition:"linear", time:2, onComplete:clearLevelBrowse}); } } }//package
Section 97
//GoalDisplay (GoalDisplay) package { import flash.display.*; import flash.text.*; public dynamic class GoalDisplay extends MovieClip { public var goalText:TextField; } }//package
Section 98
//GoalEffect (GoalEffect) package { import flash.geom.*; import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.twoD.zones.*; import org.flintparticles.twoD.emitters.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.twoD.initializers.*; import org.flintparticles.common.displayObjects.*; public class GoalEffect { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var centerFire:Emitter2D; public var implode:Emitter2D; public var emitter:Emitter2D; public function GoalEffect(_arg1:int, _arg2:int){ emitter = new Emitter2D(); centerFire = new Emitter2D(); implode = new Emitter2D(); super(); emitter.counter = new Blast(30); emitter.addInitializer(new Lifetime(2, 3)); emitter.addInitializer(new SharedImage(new Dot(2))); emitter.addInitializer(new ColorInit(4294902015, 4278255615)); emitter.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 20, 1))); emitter.addAction(new Age()); emitter.addAction(new Fade()); emitter.addAction(new RandomDrift(40, 40)); emitter.addAction(new SpeedLimit(20)); emitter.addAction(new Move()); emitter.x = _arg1; emitter.y = _arg2; emitter.start(); centerFire.counter = new Blast(1); centerFire.addInitializer(new Lifetime(0.5, 0.5)); centerFire.addInitializer(new SharedImage(new RadialDot(10))); centerFire.addAction(new Age()); centerFire.addAction(new Move()); centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); centerFire.addAction(new ScaleImage(1, 10)); centerFire.x = _arg1; centerFire.y = _arg2; centerFire.start(); implode.counter = new Blast(1); implode.addInitializer(new Lifetime(0.5, 0.5)); implode.addInitializer(new SharedImage(new RadialDot(10))); implode.addAction(new Age()); implode.addAction(new Move()); implode.addAction(new ColorChange(4281532569, 0xFFFFFF)); implode.addAction(new ScaleImage(10, 1)); implode.x = _arg1; implode.y = _arg2; implode.start(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 99
//GrassBackground (GrassBackground) package { import flash.display.*; public dynamic class GrassBackground extends Sprite { } }//package
Section 100
//HighScoreButton (HighScoreButton) package { import flash.display.*; public dynamic class HighScoreButton extends SimpleButton { } }//package
Section 101
//HomingMissle (HomingMissle) package { public class HomingMissle extends Unit { private var currentVY:Number;// = 0 private var currentVX:Number;// = 0 public var distanceTravelled:Number;// = 0 public var moveDirection:int;// = 1 public function HomingMissle(_arg1:int, _arg2:int, _arg3:int){ clip = new HomingMissleClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = MISSLE_TYPE; maxhealth = 49; health = maxhealth; currentSpeed = 1.25; rotateSpeed = 0; turretRotationSpeed = 0; range = 800; shotRecovery = 0; currentRecovery = 0; doesMove = true; doesFire = false; clearedBuilder = false; } public function moveMe(){ var _local1:* = Math.atan2((closestEnemyY - clip.y), (closestEnemyX - clip.x)); var _local2:Number = (Math.cos(_local1) * currentSpeed); var _local3:Number = (Math.sin(_local1) * currentSpeed); if (closestEnemyID != NOENEMY){ if (_local2 >= 0){ if ((clip.x + _local2) > closestEnemyX){ clip.x = closestEnemyX; } else { clip.x = (clip.x + _local2); }; } else { if (_local2 < 0){ if ((clip.x + _local2) < closestEnemyX){ clip.x = closestEnemyX; } else { clip.x = (clip.x + _local2); }; }; }; if (_local3 >= 0){ if ((clip.y + _local3) > closestEnemyY){ clip.y = closestEnemyY; } else { clip.y = (clip.y + _local3); }; } else { if (_local3 < 0){ if ((clip.y + _local3) < closestEnemyY){ clip.y = closestEnemyY; } else { clip.y = (clip.y + _local3); }; }; }; clip.rotation = getTargetRotation((closestEnemyX - clip.x), (closestEnemyY - clip.y)); currentVX = _local2; currentVY = _local3; } else { clip.x = (clip.x + currentVX); clip.y = (clip.y + currentVY); }; if (!clearedBuilder){ distanceTravelled = (distanceTravelled + currentSpeed); if (distanceTravelled >= 30){ clearedBuilder = true; }; }; } } }//package
Section 102
//HomingMissleBuilder (HomingMissleBuilder) package { import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class HomingMissleBuilder extends Unit { public var buildStatus:int;// = 14 public var buildProgress:int;// = 0 public var buildTime:int;// = 200 public var launchDirection:int;// = 1 public var tempUnit:HomingMissle; public function HomingMissleBuilder(_arg1:int, _arg2:int, _arg3:int){ clip = new HomingMissleBuilderClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = BUILDER_TYPE; maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0; turretRotationSpeed = 50; range = 300; shotRecovery = 0; currentRecovery = 0; doesMove = false; doesFire = false; doesBuild = true; hasTurret = true; clearedBuilder = true; } public function buildUpdate(){ targetEnemy(clip, clip.tankTurret); if ((((buildProgress >= buildTime)) && (!((closestEnemyID == NOENEMY))))){ buildStatus = BUILD_COMPLETE; tempUnit = new HomingMissle(0, clip.x, clip.y); buildProgress = 0; } else { if (buildProgress <= buildTime){ buildProgress++; buildStatus = BUILDING; }; }; } } }//package
Section 103
//HomingMissleBuilderClip (HomingMissleBuilderClip) package { import flash.display.*; public dynamic class HomingMissleBuilderClip extends MovieClip { public var tankTurret:HomingTurret; public function HomingMissleBuilderClip(){ addFrameScript(0, frame1, 10, frame11, 23, frame24); } function frame1(){ stop(); } function frame11(){ stop(); } function frame24(){ gotoAndStop("normal"); } } }//package
Section 104
//HomingMissleClip (HomingMissleClip) package { import flash.display.*; public dynamic class HomingMissleClip extends MovieClip { public function HomingMissleClip(){ addFrameScript(5, frame6, 16, frame17, 29, frame30); } function frame6(){ gotoAndPlay("normal"); } function frame30(){ gotoAndPlay("normal"); } function frame17(){ stop(); } } }//package
Section 105
//HomingTurret (HomingTurret) package { import flash.display.*; public dynamic class HomingTurret extends MovieClip { public function HomingTurret(){ addFrameScript(0, frame1, 3, frame4, 9, frame10); } function frame10(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame4(){ gotoAndStop("normal"); } } }//package
Section 106
//HoverClip (HoverClip) package { import flash.display.*; public dynamic class HoverClip extends MovieClip { } }//package
Section 107
//HoverEditor (HoverEditor) package { import flash.display.*; public dynamic class HoverEditor extends MovieClip { public var badSpot:DeleteIcon; public function HoverEditor(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 108
//ImportScreen (ImportScreen) package { import flash.display.*; import flash.text.*; public dynamic class ImportScreen extends Sprite { public var levelCodeText:TextField; public var codeErrorText:TextField; public var cancelButton:CancelButton; public var okButton:OkButton; } }//package
Section 109
//InterfaceChrome (InterfaceChrome) package { import flash.display.*; public dynamic class InterfaceChrome extends Sprite { public var ssLink:SSLink; } }//package
Section 110
//IntroFade (IntroFade) package { import flash.display.*; public dynamic class IntroFade extends MovieClip { } }//package
Section 111
//IntroScreen (IntroScreen) package { import flash.display.*; public dynamic class IntroScreen extends MovieClip { public var introFade:IntroFade; public var ssLogoButton:SSLogoButton; } }//package
Section 112
//Kamikaze (Kamikaze) package { public class Kamikaze extends Unit { public var distanceTravelled:Number;// = 0 public var moveDirection:int;// = 1 public function Kamikaze(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ clip = new KamikazeClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = MISSLE_TYPE; maxhealth = 49; health = maxhealth; currentSpeed = 3; rotateSpeed = 0; turretRotationSpeed = 0; range = 0; shotRecovery = 0; currentRecovery = 0; doesMove = true; doesFire = false; clearedBuilder = false; moveDirection = _arg4; switch (moveDirection){ case RIGHT: clip.rotation = 90; break; case LEFT: clip.rotation = -90; break; case UP: clip.rotation = 0; break; case DOWN: clip.rotation = 180; break; }; } public function moveMe(){ switch (moveDirection){ case RIGHT: clip.x = (clip.x + currentSpeed); break; case LEFT: clip.x = (clip.x - currentSpeed); break; case UP: clip.y = (clip.y - currentSpeed); break; case DOWN: clip.y = (clip.y + currentSpeed); break; }; if (!clearedBuilder){ distanceTravelled = (distanceTravelled + currentSpeed); if (distanceTravelled > COLLISIONDISTANCE){ clearedBuilder = true; }; }; } } }//package
Section 113
//KamikazeBuilder (KamikazeBuilder) package { public class KamikazeBuilder extends Unit { public var buildStatus:int;// = 14 public var buildProgress:int;// = 0 public var buildTime:int;// = 220 public var launchDirection:int;// = 1 public var tempUnit:Kamikaze; public function KamikazeBuilder(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ clip = new KamikazeBuilderClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = BUILDER_TYPE; maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0; turretRotationSpeed = 0; range = 0; shotRecovery = 0; currentRecovery = 0; doesMove = false; doesFire = false; doesBuild = true; clearedBuilder = true; launchDirection = _arg4; switch (launchDirection){ case RIGHT: clip.rotation = 90; break; case LEFT: clip.rotation = -90; break; case UP: clip.rotation = 0; break; case DOWN: clip.rotation = 180; break; }; } public function buildUpdate(){ if (buildProgress >= buildTime){ buildStatus = BUILD_COMPLETE; tempUnit = new Kamikaze(0, clip.x, clip.y, launchDirection); buildProgress = 0; } else { buildProgress++; }; } } }//package
Section 114
//KamikazeBuilderClip (KamikazeBuilderClip) package { import flash.display.*; public dynamic class KamikazeBuilderClip extends MovieClip { public function KamikazeBuilderClip(){ addFrameScript(0, frame1, 6, frame7, 16, frame17, 29, frame30); } function frame30(){ gotoAndStop("normal"); } function frame7(){ gotoAndStop("normal"); } function frame17(){ stop(); } function frame1(){ stop(); } } }//package
Section 115
//KamikazeClip (KamikazeClip) package { import flash.display.*; public dynamic class KamikazeClip extends MovieClip { public function KamikazeClip(){ addFrameScript(5, frame6, 15, frame16, 28, frame29); } function frame6(){ gotoAndPlay("normal"); } function frame16(){ stop(); } function frame29(){ gotoAndPlay("normal"); } } }//package
Section 116
//LayoutGrid (LayoutGrid) package { import flash.display.*; public dynamic class LayoutGrid extends MovieClip { public function LayoutGrid(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } } }//package
Section 117
//LevEdExit (LevEdExit) package { import flash.display.*; public dynamic class LevEdExit extends SimpleButton { } }//package
Section 118
//LevEdExport (LevEdExport) package { import flash.display.*; public dynamic class LevEdExport extends SimpleButton { } }//package
Section 119
//LevEdHunters (LevEdHunters) package { import flash.display.*; public dynamic class LevEdHunters extends SimpleButton { } }//package
Section 120
//LevEdImport (LevEdImport) package { import flash.display.*; public dynamic class LevEdImport extends SimpleButton { } }//package
Section 121
//LevEdLaunchers (LevEdLaunchers) package { import flash.display.*; public dynamic class LevEdLaunchers extends SimpleButton { } }//package
Section 122
//LevEdObstacles (LevEdObstacles) package { import flash.display.*; public dynamic class LevEdObstacles extends SimpleButton { } }//package
Section 123
//LevEdPatrollers (LevEdPatrollers) package { import flash.display.*; public dynamic class LevEdPatrollers extends SimpleButton { } }//package
Section 124
//LevEdPowerUps (LevEdPowerUps) package { import flash.display.*; public dynamic class LevEdPowerUps extends SimpleButton { } }//package
Section 125
//LevEdSentries (LevEdSentries) package { import flash.display.*; public dynamic class LevEdSentries extends SimpleButton { } }//package
Section 126
//LevEdTest (LevEdTest) package { import flash.display.*; public dynamic class LevEdTest extends SimpleButton { } }//package
Section 127
//LevelBrowse (LevelBrowse) package { import flash.events.*; import flash.display.*; import flash.utils.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class LevelBrowse extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const TURNER_DOWN_LEFT:int = 55; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TANK_TYPE:int = 100; const WATER_TYPE:int = 90; const BUILDER_TYPE:int = 103; const RANGECONTROL:int = 4; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const FOUR_MEGATON:int = 40; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const TITLE_STARTGAME:int = 1; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const WATER_TOP:int = 76; const STORYTHEME:int = 4; const HOMINGMISSLEBUILDER:int = 45; const RIGHT:int = 1; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var createdText:TextField; public var sortSelect:SortSelect; public var ratingText:TextField; public var sharePrevButton:SharePrevButton; public var backToTitleButton:BackTitleButton; private var numLevels:int;// = 15 private var userLevels:Array; private var levelLoadClip:LevelLoadingClip; public var shareNextButton:ShareNextButton; public var authorText:TextField; public var createdByButton:CreatedByButton; public var winPercentText:TextField; private var levelNames:Array; private var currentSortType:String;// = "mostrecent" private var startPos:int;// = 0 public var recentSortButton:RecentSortButton; private var levelMarkers:Array; private var delayTimer:Timer; public var randomSortButton:RandomSortButton; public var levelLayout:Array; public var ratingSortButton:RatingSortButton; public function LevelBrowse(){ levelMarkers = new Array(); userLevels = new Array(); levelNames = new Array(); levelLayout = new Array(); delayTimer = new Timer(500, 2); levelLoadClip = new LevelLoadingClip(); super(); } private function shareNextClicked(_arg1:MouseEvent){ startPos = (startPos + 15); sharePrevButton.visible = true; getLevelsFromDB(currentSortType, startPos); } public function deactivate(){ var _local1:int = levelMarkers.length; var _local2:int; while (_local2 < _local1) { levelMarkers[_local2].deactivate(); _local2++; }; createdByButton.removeEventListener(MouseEvent.CLICK, createdByClicked); backToTitleButton.removeEventListener(MouseEvent.CLICK, backTitleClicked); shareNextButton.removeEventListener(MouseEvent.CLICK, shareNextClicked); sharePrevButton.removeEventListener(MouseEvent.CLICK, sharePrevClicked); randomSortButton.removeEventListener(MouseEvent.CLICK, randomSortClicked); recentSortButton.removeEventListener(MouseEvent.CLICK, recentSortClicked); ratingSortButton.removeEventListener(MouseEvent.CLICK, ratingSortClicked); } public function activate(){ sharePrevButton.visible = false; populateMarkers(); if (GameManager.userLevelSubmit){ GameManager.userLevelSubmit = false; submitRatingToDB(); } else { getLevelsFromDB(currentSortType, startPos); }; createdByButton.addEventListener(MouseEvent.CLICK, createdByClicked); backToTitleButton.addEventListener(MouseEvent.CLICK, backTitleClicked); shareNextButton.addEventListener(MouseEvent.CLICK, shareNextClicked); sharePrevButton.addEventListener(MouseEvent.CLICK, sharePrevClicked); randomSortButton.addEventListener(MouseEvent.CLICK, randomSortClicked); recentSortButton.addEventListener(MouseEvent.CLICK, recentSortClicked); ratingSortButton.addEventListener(MouseEvent.CLICK, ratingSortClicked); } private function sharePrevClicked(_arg1:MouseEvent){ startPos = (startPos - 15); if (startPos == 0){ sharePrevButton.visible = false; }; getLevelsFromDB(currentSortType, startPos); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } private function backTitleClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.backFromBrowse(); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function shareLevelTimerFired(_arg1:TimerEvent){ if (LevelShareManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, shareLevelTimerFired); removeChild(levelLoadClip); userLevels = LevelShareManager.userLevels; resetMarkers(); } else { delayTimer.reset(); delayTimer.start(); }; } private function submitRatingToDB():void{ delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, submitRatingTimerFired); delayTimer.start(); addChild(levelLoadClip); LevelShareManager.submitRating(GameManager.userLevelId, GameManager.userLevelRatings, GameManager.userLevelPlays, GameManager.userLevelWins); } private function createdByClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } private function submitRatingTimerFired(_arg1:TimerEvent){ if (LevelShareManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, submitRatingTimerFired); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, shareLevelTimerFired); delayTimer.start(); LevelShareManager.retrieveLevels(currentSortType, startPos); } else { delayTimer.reset(); delayTimer.start(); }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } private function getLevelsFromDB(_arg1:String, _arg2:int):void{ delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, shareLevelTimerFired); delayTimer.start(); addChild(levelLoadClip); LevelShareManager.retrieveLevels(_arg1, _arg2); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } private function ratingSortClicked(_arg1:MouseEvent){ currentSortType = "highestrating"; sortSelect.x = 484; newSort(); } private function resetMarkers(){ numLevels = 15; if (userLevels.length < numLevels){ numLevels = userLevels.length; shareNextButton.visible = false; } else { shareNextButton.visible = true; }; var _local1:int; while (_local1 < 15) { if (_local1 < numLevels){ levelMarkers[_local1].levelId = userLevels[_local1].id; levelMarkers[_local1].levelName = userLevels[_local1].levelName; levelMarkers[_local1].levelData = userLevels[_local1].levelData; levelMarkers[_local1].levelLabel.text = userLevels[_local1].levelName; levelMarkers[_local1].levelAuthor = userLevels[_local1].author; levelMarkers[_local1].levelCreateDate = userLevels[_local1].created; levelMarkers[_local1].levelRatings = userLevels[_local1].rating; levelMarkers[_local1].levelPlays = userLevels[_local1].plays; levelMarkers[_local1].levelWins = userLevels[_local1].wins; levelMarkers[_local1].setLayoutArray(); levelMarkers[_local1].visible = true; } else { levelMarkers[_local1].visible = false; }; _local1++; }; } public function populateMarkers(){ var _local1:ShareMarker; var _local4:int; var _local5:LayoutGrid; var _local2:int; while (_local2 < 15) { _local1 = new ShareMarker(); _local1.x = 30; _local1.y = ((_local2 * 16.5) + 175); addChild(_local1); levelMarkers.push(_local1); _local2++; }; var _local3:int = levelMarkers.length; _local2 = 0; while (_local2 < _local3) { levelMarkers[_local2].activate(); _local2++; }; _local2 = 0; while (_local2 < FIELDWIDTH) { levelLayout[_local2] = new Array(); _local4 = 0; while (_local4 < FIELDHEIGHT) { _local5 = new LayoutGrid(); _local5.gotoAndStop("unknown"); _local5.x = ((_local2 * 20) + 195); _local5.y = ((_local4 * 20) + 160); addChild(_local5); levelLayout[_local2].push(_local5); _local4++; }; _local2++; }; } private function recentSortClicked(_arg1:MouseEvent){ currentSortType = "mostrecent"; sortSelect.x = 313; newSort(); } private function newSort(){ startPos = 0; getLevelsFromDB(currentSortType, startPos); } private function startGame(_arg1:MouseEvent){ deactivate(); } private function randomSortClicked(_arg1:MouseEvent){ currentSortType = "random"; sortSelect.x = 135; newSort(); } } }//package
Section 128
//LevelClickFX (LevelClickFX) package { import flash.media.*; public dynamic class LevelClickFX extends Sound { } }//package
Section 129
//LevelData (LevelData) package { import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class LevelData { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var levelNumber:int;// = 0 public var levelName:String; public var levelTime:int;// = 0 public var isAvailable:Boolean;// = false public var tanksToSave:int;// = 1 public var beaten:Boolean;// = false public var levelString:String; public var levelBonus:int;// = 0 public var bestScore:int;// = 0 public var levelLayoutArray:Array; public var startingCash:int;// = 100 public var tanksAlotted:int;// = 1 public function LevelData(_arg1:int){ levelLayoutArray = new Array(); super(); levelNumber = _arg1; populateLevel(); } public function activate(){ } public function populateLevel(){ var _local3:Array; var _local1:int; var _local2:int; switch (levelNumber){ case 0: levelName = "Training Time"; levelTime = 300; levelBonus = 100; isAvailable = true; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827979797979798383838389x767072717270889100000081x767473727478000000100081x767071737488000000000081x767372747800000000000081x767374727891001900008278x767071707800000000007678x767173747800000000007678x767777777800000082797078x810000008100000076737278x810025008100000076717278x810000008100000076737278x767979838800000076777788x767788140000000081000000x810000000000000081002500x810013000000008278000000x810000000000827173797989x810000009100767472737178x810000000000767374737178x810011008279727172747178x810000007673707374727478x808383837777777777777788x4x3x150"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 1: levelName = "Open Fire"; levelTime = 300; levelBonus = 100; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827979797983838383838389x767377778800009100000081x767800000000000000100081x767800000091000000000081x767800910000000000000081x767800000000000000008278x767891009100850000007678x767800919182780000007678x767891919180780000008078x767800000032810000000081x767479797979708900000081x767172737470717289000081x767377777777747078000081x767800000000767178000081x767800110000807288000081x767800000091008400000081x767800000000000000000081x767800000000000000000081x767800910000004100910081x767800000000000000000081x767379797989000000000081x807777777777838383838388x3x2x150"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 2: levelName = "The Patrollers"; levelTime = 300; levelBonus = 100; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000000000000000910000x001000000000000000000000x000000000000410000000000x850000000000000000000000x810000000000000000000000x810000000000000091000000x810000000000000000000000x811582797979890000000000x810076707172778700000000x810076737478000000000000x810076707178000040000000x810076727378009100000000x810076747078000000009100x810076717288000042000000x810080777800000000000000x810000178100000000000085x767989008100000000000081x767788008100910000000081x810000008100000000000081x810086838800430000110081x810000000000850000000081x808383838383778383838388x3x3x50"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 3: levelName = "Pathfinder"; levelTime = 300; levelBonus = 100; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827983838383838383838389x767800000000000000000081x767800827979797979890081x767800767374707172780081x768819807374707172780081x810000008077777777880081x810010002000000000000081x810000008283870082890081x768923827800000076780081x767800767800827973780081x767800767800767777881581x767800767800815000000081x807800768800810000200081x258100812500810000000081x827800768900810000210081x767800767800810000000081x767800767800810000230081x768800807800810000000081x810000008400840000220081x810011000000000000000081x810000008279890000000081x808383837777778383838388x5x5x50"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 4: levelName = "Rocket Garden"; levelTime = 300; levelBonus = 200; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "910000000000000000000091x000000000000000000000000x000000000000100000000000x000000000000000000000000x000000000000000000000000x000000000000000000000000x000091827979797979899100x000082707777777777718900x000076783300000033767800x000076780000000000767800x000076783000110032767800x000076780000008500767800x000076783100008131767800x000080727989007679738800x000091807788008077889100x000000000000000000000000x000000000000000000000000x000000000000000000000000x000000000000000000000000x000000000000000000000000x000000000000000000000000x910000000000000000000091x3x3x120"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 5: levelName = "Sacrifices"; levelTime = 300; levelBonus = 200; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000091000053000000000000x000000000000000000000000x009100000000000091000000x000000000000000000000000x000000009100000000000052x000000000000000000000000x001000000000000091000000x000000000051000000000000x000000130000000000000000x827989008279797989004200x767078007671727378000000x767478007670717278000091x767788008073747078000000x810000000076717278000000x810000000076737478009100x810000000080777788000000x810000000000000013420000x810000000082797989000000x810000000076707178000000x810000000076727378001100x810000000076747078000000x808383838377777777838387x5x2x40"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 6: levelName = "Fight or Flight"; levelTime = 300; levelBonus = 300; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000000000000000000000x008517919191919191919100x008122919191919110919100x008121919191919100919100x008120232221202300191900x007679797979797979798900x007673747071727374707800x007677777777777777717800x008100000053000000767800x008100910000009100767800x008400000000000000808800x560050000011000052000054x008500000000000000828900x008100910000009100767800x008100000051000000767800x007679797979797979727800x007673747071727374707800x007671727374707172737800x007674707172737470717800x007672737470717273747800x008077777777777777778800x000000000000000000000000x3x3x0"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 7: levelName = "Scatter Scramble"; levelTime = 300; levelBonus = 300; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "919191919191919191919191x911000190019001900000091x910000000000000000000091x911900250000250000250091x910000000000000000000091x911900000000000000000091x910000000000000000000091x911900250000250000250091x910000000000000000000091x910000000000000000000091x910000000000000000000091x910000250000250000250091x910000000000000000000091x910000000000000000000091x910000000000000000000091x910000250000250000250091x910000000000000000000091x910000000000000000000091x910000000000000000000091x910000250000250000110091x910000000000000000000091x919191919191919191919191x10x7x0"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 8: levelName = "Homing Missle Dodgeball"; levelTime = 300; levelBonus = 300; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "008279890000008279890091x007677880010008077780091x008100000000000000810091x008100000000000000810091x008100910000001700814591x008100000000000000810091x008100000000000000810091x458100190000009100810091x008100000000000000810091x008100000000000000810091x008100910000001400810091x008100000000000000810091x008100000000000000810091x458100200000009100810091x008100000000000000810091x008100000000000000810091x008100910000001500814591x008100000000000000810091x008100000000000000810091x008100000011000000810091x007679890000008279780091x008077880045008077880091x3x3x50"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 9: levelName = "Back Attack"; levelTime = 300; levelBonus = 300; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "919191919191919100919191x910000002000190010009191x910091919191919100919191x910000000000000000000000x910000000000000000000045x910000000000434100000000x910000000000000000000000x910000000000000000000000x910000000000000000000000x910000000000000000000000x910000000000000000000045x910000000000000000000000x910000000000000000000000x910000000000000000000000x910000000000000000000000x910000004341000000000000x910000000000000000000045x910000000000000000000000x910000000000000000000000x919191919191919100919191x919191919191910011009191x919191919191919100919191x4x3x100"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 10: levelName = "SuperTank"; levelTime = 300; levelBonus = 200; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827979798900000082797989x767173747800100076727178x767472707800000076727178x767273707800000076747378x767073727800190076707378x767473717800000076727478x767271727800190076737278x767174737800000076747178x767271727800190076707378x767277778800000080777778x767820000000000000002281x767800000000000000000081x767800000000000000000081x767800002525252525000081x767800002500000025000081x767800002500110025000081x767800002500000025000081x767800002525252525000081x767800000000000000000081x767800000000000000000081x767821000000000000002381x807783838383838383838388x2x1x0"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 11: levelName = "Grab and Go"; levelTime = 300; levelBonus = 300; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827979797979797983838389x767071777777778800000081x767288000000000000100081x768800000000000000000081x810000000000000000000081x810000000082890082797978x810000008273780076747078x810000007671780076727378x810042007674780080777778x810000007670780000005381x810000007671780015000081x810040007672780000170081x810000007673780014000081x810000007674780000000081x810042007670717979797978x810000007672737470717278x810000007673747071727378x810000008077777777777478x810000000000000000007678x810025000025000011007678x810000000000000000007678x808383838383838383837788x1x1x10"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 12: levelName = "The Hunters"; levelTime = 300; levelBonus = 400; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000867979797979797989x001000008072737470717278x000000000080777777737478x009100000000530000767078x000000000000000000767178x000000000000000000767278x850000000000000000767378x768900000000000000767478x767800000000000000767078x767189910000000000767278x767378000000000000807478x767078000000000000007678x767178000082798900007678x767278000076777800007678x767378560081458100007678x767478000076797800008078x767078000080778800000081x767178000000000000000081x767278000000000000000084x767378000000000000110000x767470798900000091000000x807777777783870000570000x5x3x100"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 13: levelName = "Hedge Maze"; levelTime = 300; levelBonus = 400; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000919191919191919191x001000000000000000001991x000000910000910091910091x910091919191910026910091x910000000091000000000091x919191910091009191910091x912600000000009100000091x919191910091919100919191x910000000000009100000091x910091918283838389910000x910000008100000084919100x919191148100110000009100x910000008100000085009100x910091008083838388009100x910091009100000000009100x910091009191910091919100x912691009100000026910000x919191009100919191910091x910000009100000000000091x910091919191009191910091x912100000000000000002091x919191919191919191919191x1x1x50"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 14: levelName = "Waterways"; levelTime = 300; levelBonus = 500; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "827979797979838387000000x767372747378000000001000x767777777178008289000000x810000008088007670797989x810025000000007674737078x810057008289007672717788x768900827088008077880000x767800767800000000000015x767800768800867979890000x767800840000008077778700x767800000025000000000000x808800850057008279798941x000000768900827170748800x170000808800807777880000x000000000000000000000015x827989008279870086890000x767078008088005300808387x767478000000002500000000x807777797989000000828900x000000807777838383778800x001100000000000000000000x000000868383838383838387x6x4x40"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 15: levelName = "The Stealthy Forest"; levelTime = 300; levelBonus = 500; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "919191919191000000000000x919191910000000000000000x919191000010000000001300x919191000000000000000000x919191910000000000000000x000091910000000091910000x000091919125919191910000x000091919191919191910000x000091919191919191910000x000091919191919191910000x000091910091919191000013x000091910000000000000000x005491320000000000000000x000091910000000000000000x000091919191000000003391x000091919191001300009191x000091910000000000002691x000091000000000000000091x919191000000000000009191x919191320011000000009191x919100000000000000919191x919100000000000000919191x4x3x60"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 16: levelName = "The Gauntlet"; levelTime = 300; levelBonus = 600; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "828383838383838383837989x811000000000000000007678x768383837979797989007678x811100007673747788008088x768387008077784200000000x810000000000768387008687x810000000000810042000000x810000000000768387008687x810000570000810000420000x767989008279718387008687x767788008077780000004200x810000510000767989008289x810000000000767278007678x810000000000767378007678x810000000000767178007678x767989008279747788008088x767178007670780000000000x767178008077880014001400x767378000000000000170000x767173797979890014001400x767472747170780000000000x807777777777778383838387x6x4x120"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 17: levelName = "Rocket Chaser"; levelTime = 300; levelBonus = 500; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "919191919191919131919191x911100000000000000000091x910000000000000000000091x919191009191919100919191x910091009100009100919191x912691009126009100919191x910091009100009100919191x919191009191919100919191x320000000000000000000030x919191009191919100919191x910091009100009100919191x912691009126009100919191x910091009100009100919191x919191009191919100919191x320000000000000000000030x919191009191919100919191x910091009100009100919191x912691009126009100919191x910091009100009100919191x919191009191919100919191x320000000000000000001091x919191339191919191919191x3x3x300"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 18: levelName = "Formalities"; levelTime = 300; levelBonus = 600; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "250000000000000000000025x910000000000000000000091x911382837983798379890091x910081008426840076780091x910081009191910076780091x910081419120000076780091x910081009100000076780091x910081000000000076780091x850080838900750076780091x810000008100000080880091x815211008100100000150091x810000008100000082890091x840082838800750076780091x910081000000000076780091x910081009100000076780091x910081439121000076780091x910081009191910076780091x910081008526850076780091x911380837783778377880091x910000000000000000000091x910000000000000000000091x250000000000000000000025x6x3x100"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 19: levelName = "A Sinister Island"; levelTime = 300; levelBonus = 600; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000000000827979797989x001000000000767172717378x000000828900767170717278x827979707800767170737278x767173707800767173707178x767473778800807473747078x767788000000008074707378x810000000000000076747278x810000000000000076737278x810082798900000080777778x810076737800000000003081x810080778800750000868378x815600000000000000003081x810000828900750000868378x810000808800000000003081x767989000000000000827978x767178000052008500767278x767072797979797800767078x807777717071747800767178x000000807777778800767378x001100000000000000767278x000000000000000000807788x2x2x80"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; case 20: levelName = "The Final Battle"; levelTime = 300; levelBonus = 800; isAvailable = false; tanksAlotted = 5; tanksToSave = 5; startingCash = 100; levelString = "000000000000008689000000x001000000000004581561154x000000000000008278000000x853191319191007678138289x810000002600007678007678x810091008500008078008078x810091008100003081432681x810025008100008678008288x810085008400912681008125x810084004500002681138125x810025008500008678008125x810091008400003081008089x810091002500002581412681x810000009100009181008278x813325332600002684258078x819100252633332625009181x819100252543432525009181x819100252582892525009181x819154002576782500509181x819100252580882525009181x819100002500002500009181x808383838383838383838388x15x10x850"; _local3 = new Array(); _local3 = levelString.split("x"); _local3.splice(22, 3); _local1 = 0; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local2 = 0; while (_local2 < 24) { if ((_local2 % 2) == 0){ levelLayoutArray[_local1][(_local2 / 2)] = ((int(_local3[_local1].charAt(_local2)) * 10) + int(_local3[_local1].charAt((_local2 + 1)))); }; _local2++; }; _local1++; }; break; }; } } }//package
Section 130
//LevelDisplay (LevelDisplay) package { import flash.display.*; import flash.text.*; public dynamic class LevelDisplay extends MovieClip { public var levelText:TextField; public var timeText:TextField; } }//package
Section 131
//LevelEditor (LevelEditor) package { import flash.events.*; import flash.display.*; import flash.utils.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; import flash.system.*; public class LevelEditor extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const HUDDEPTH:int = 0; const PATROLLER_TYPE:int = 112; const WATER_TOPRIGHT:int = 80; const TANKMOVEOFFSET:int = 10; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LEVELTHEME:int = 2; const LOADERROR:int = 14; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const CRATE_MONEY:int = 15; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const TURNER_DOWN_LEFT:int = 55; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const BUILDER_TYPE:int = 103; const WATER_TYPE:int = 90; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const RANGECONTROL:int = 4; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const FOUR_MEGATON:int = 40; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const WATER_TOP:int = 76; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const TITLE_STARTGAME:int = 1; const HOMINGMISSLEBUILDER:int = 45; const RIGHT:int = 1; const TURNER_UP_RIGHT:int = 53; const LEVELTEXTSIZE:int = 12; const ATTACK_LASER:int = 25; const SHELL:int = 1; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const WATER_RIGHTLEFT:int = 83; const LOSTLEVEL:int = 16; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const VERTICAL:int = 5; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var label10:TextField; private var waterIncrement:int;// = 1 private var importString:String;// = "" private var currentSet:int;// = 0 private var importScreen:ImportScreen; public var levEdSentries:LevEdSentries; private var prevX:int;// = 0 private var prevY:int;// = 0 public var levEdLaunchers:LevEdLaunchers; public var subtractSaveTanks:SubtractButton; private var tanksToSave:int;// = 5 private var rotateValue:int;// = 0 private var exportString:String;// = "" private var clipArray:Array; public var addStartTanks:AddButton; private var prevWaterIncrement:int;// = 1 public var startingTanksText:TextField; private var exportScreen:ExportScreen; private var layoutArray:Array; public var tanksToSaveText:TextField; private var startTanks:int;// = 5 public var addSaveTanks:AddButton; public var levEdPowerUps:LevEdPowerUps; public var levEdHunters:LevEdHunters; private var selectedIcon:SelectedIcon; private var hoverEditor:HoverEditor; private var mouseIsDown;// = false public var subtractStartCash:SubtractButton; private var addCode:int;// = 0 public var levEdTest:LevEdTest; private var selectType:int;// = 0 public var levEdImport:LevEdImport; public var levEdExport:LevEdExport; public var ssLink:SSLink; public var levEdPatrollers:LevEdPatrollers; private var startCash:int;// = 50 public var levEdExit:LevEdExit; private var addIcons:Array; public var addStartCash:AddButton; public var startingCashText:TextField; private var delayTimer:Timer; public var levEdObstacles:LevEdObstacles; private var addType:Object; private var prevXPos:int;// = 0 public var subtractStartTanks:SubtractButton; public var label1:TextField; public var label2:TextField; public var label3:TextField; public var label4:TextField; public var label5:TextField; public var label6:TextField; public var label7:TextField; public var label8:TextField; public var label9:TextField; private var prevYPos:int;// = 0 private var clipLayer:Sprite; private var mouseMode:int;// = 1 public function LevelEditor(){ var _local2:Object; var _local4:int; addIcons = new Array(); clipArray = new Array(); layoutArray = new Array(); hoverEditor = new HoverEditor(); clipLayer = new Sprite(); selectedIcon = new SelectedIcon(); exportScreen = new ExportScreen(); importScreen = new ImportScreen(); delayTimer = new Timer(500, 2); super(); hoverEditor.visible = false; hoverEditor.badSpot.visible = false; hoverEditor.buttonMode = true; hoverEditor.useHandCursor = true; addChild(clipLayer); addChild(hoverEditor); var _local1:int; while (_local1 < 22) { clipArray[_local1] = new Array(); layoutArray[_local1] = new Array(); _local4 = 0; while (_local4 < 12) { layoutArray[_local1].push(0); _local4++; }; _local1++; }; layoutArray[2][5] = 10; clipArray[2][5] = new PlayerBuilder(); clipArray[2][5].x = (((2 + 1) * CELLSIZE) - 5); clipArray[2][5].y = (((5 + 1) * CELLSIZE) - 5); clipLayer.addChild(clipArray[2][5]); layoutArray[19][5] = 11; clipArray[19][5] = new TankGoal(); clipArray[19][5].x = (((19 + 1) * CELLSIZE) - 5); clipArray[19][5].y = (((5 + 1) * CELLSIZE) - 5); clipLayer.addChild(clipArray[19][5]); startingTanksText.text = ("Starting Tanks: " + String(startTanks)); tanksToSaveText.text = ("Tanks to Save: " + String(tanksToSave)); startingCashText.text = ("Starting Cash: $" + String(startCash)); hoverEditor.gotoAndStop("selectMode"); exportScreen.x = 10; exportScreen.y = 10; importScreen.x = 10; importScreen.y = 10; selectedIcon.x = 233; selectedIcon.y = 418; addChildAt(selectedIcon, 1); var _local3:int; while (_local3 < 6) { addIcons[_local3] = new Array(); _local2 = new SelectIcon(); _local2.addEventListener(MouseEvent.CLICK, selectIconClicked); _local2.buttonMode = true; _local2.useHandCursor = true; _local2.labelName = "Drag Item"; addIcons[_local3].push(_local2); _local2 = new DeleteIcon(); _local2.addEventListener(MouseEvent.CLICK, deleteIconClicked); _local2.buttonMode = true; _local2.useHandCursor = true; _local2.labelName = "Remove Item"; addIcons[_local3].push(_local2); switch (_local3){ case OBSTACLE_SET: _local2 = new WaterClip(); _local2.rotateValue = 0; _local2.addValue = WATER_TYPE; _local2.addType = WaterClip; _local2.labelName = "Water"; addIconActions(_local2, _local3); _local2 = new MineClip(); _local2.rotateValue = 0; _local2.addValue = MINE; _local2.addType = MineClip; _local2.labelName = "Mine"; addIconActions(_local2, _local3); _local2 = new Tree1Clip(); _local2.rotateValue = 0; _local2.addValue = TREE1; _local2.addType = Tree1Clip; _local2.labelName = "Tree"; addIconActions(_local2, _local3); break; case LAUNCHER_SET: _local2 = new KamikazeBuilderClip(); _local2.rotateValue = 0; _local2.addValue = KAMIKAZE_UP; _local2.addType = KamikazeBuilderClip; _local2.labelName = "Rocket Up"; addIconActions(_local2, _local3); _local2 = new KamikazeBuilderClip(); _local2.rotateValue = 90; _local2.rotation = 90; _local2.addValue = KAMIKAZE_RIGHT; _local2.addType = KamikazeBuilderClip; _local2.labelName = "Rocket Right"; addIconActions(_local2, _local3); _local2 = new KamikazeBuilderClip(); _local2.rotateValue = 180; _local2.rotation = 180; _local2.addValue = KAMIKAZE_DOWN; _local2.addType = KamikazeBuilderClip; _local2.labelName = "Rocket Down"; addIconActions(_local2, _local3); _local2 = new KamikazeBuilderClip(); _local2.rotateValue = -90; _local2.rotation = -90; _local2.addValue = KAMIKAZE_LEFT; _local2.addType = KamikazeBuilderClip; _local2.labelName = "Rocket Left"; addIconActions(_local2, _local3); _local2 = new HomingMissleBuilderClip(); _local2.mouseChildren = false; _local2.rotateValue = 0; _local2.addValue = HOMINGMISSLEBUILDER; _local2.addType = HomingMissleBuilderClip; _local2.labelName = "Homing Missle"; addIconActions(_local2, _local3); break; case SENTRY_SET: _local2 = new SentryEasy(); _local2.mouseChildren = false; _local2.rotateValue = 0; _local2.addValue = SENTRY_EASY; _local2.addType = SentryEasy; _local2.labelName = "Sentry Level 1"; addIconActions(_local2, _local3); _local2 = new SentryMedium(); _local2.mouseChildren = false; _local2.rotateValue = 0; _local2.addValue = SENTRY_MEDIUM; _local2.addType = SentryMedium; _local2.labelName = "Sentry Level 2"; addIconActions(_local2, _local3); break; case PATROLLER_SET: _local2 = new PatrollerClip(); _local2.mouseChildren = false; _local2.rotateValue = 0; _local2.addValue = PATROLLER_UP; _local2.addType = PatrollerClip; _local2.labelName = "Patrol Up"; addIconActions(_local2, _local3); _local2 = new PatrollerClip(); _local2.mouseChildren = false; _local2.rotation = 90; _local2.rotateValue = 90; _local2.addValue = PATROLLER_RIGHT; _local2.addType = PatrollerClip; _local2.labelName = "Patrol Right"; addIconActions(_local2, _local3); _local2 = new PatrollerClip(); _local2.mouseChildren = false; _local2.rotation = 180; _local2.rotateValue = 180; _local2.addValue = PATROLLER_DOWN; _local2.addType = PatrollerClip; _local2.labelName = "Patrol Down"; addIconActions(_local2, _local3); _local2 = new PatrollerClip(); _local2.mouseChildren = false; _local2.rotation = -90; _local2.rotateValue = -90; _local2.addValue = PATROLLER_LEFT; _local2.addType = PatrollerClip; _local2.labelName = "Patrol Left"; addIconActions(_local2, _local3); break; case HUNTER_SET: _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 0; _local2.rotateValue = 0; _local2.addValue = TURNER_UP_RIGHT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Right"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 90; _local2.rotateValue = 90; _local2.addValue = TURNER_RIGHT_RIGHT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Right"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 180; _local2.rotateValue = 180; _local2.addValue = TURNER_DOWN_RIGHT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Right"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = -90; _local2.rotateValue = -90; _local2.addValue = TURNER_LEFT_RIGHT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Right"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 0; _local2.rotateValue = 0; _local2.addValue = TURNER_UP_LEFT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Left"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 90; _local2.rotateValue = 90; _local2.addValue = TURNER_RIGHT_LEFT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Left"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = 180; _local2.rotateValue = 180; _local2.addValue = TURNER_DOWN_LEFT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Left"; addIconActions(_local2, _local3); _local2 = new TurnerClip(); _local2.mouseChildren = false; _local2.rotation = -90; _local2.rotateValue = -90; _local2.addValue = TURNER_LEFT_LEFT; _local2.addType = TurnerClip; _local2.labelName = "Hunter Left"; addIconActions(_local2, _local3); break; case POWERUP_SET: _local2 = new Crate_Health(); _local2.rotateValue = 0; _local2.addValue = CRATE_HEALTH; _local2.addType = Crate_Health; _local2.labelName = "Refill Health"; addIconActions(_local2, _local3); _local2 = new Crate_Money(); _local2.rotateValue = 0; _local2.addValue = CRATE_MONEY; _local2.addType = Crate_Money; _local2.labelName = "Extra Cash"; addIconActions(_local2, _local3); _local2 = new Crate_Tank(); _local2.rotateValue = 0; _local2.addValue = CRATE_TANK; _local2.addType = Crate_Tank; _local2.labelName = "Extra Tank"; addIconActions(_local2, _local3); _local2 = new Station_Speed(); _local2.rotateValue = 0; _local2.addValue = STATION_SPEED; _local2.addType = Station_Speed; _local2.labelName = "Boost Speed"; addIconActions(_local2, _local3); _local2 = new Station_Armor(); _local2.rotateValue = 0; _local2.addValue = STATION_ARMOR; _local2.addType = Station_Armor; _local2.labelName = "Boost Armor"; addIconActions(_local2, _local3); _local2 = new Station_Attack(); _local2.rotateValue = 0; _local2.addValue = STATION_ATTACK; _local2.addType = Station_Attack; _local2.labelName = "Boost Attack"; addIconActions(_local2, _local3); _local2 = new Station_Range(); _local2.rotateValue = 0; _local2.addValue = STATION_RANGE; _local2.addType = Station_Range; _local2.labelName = "Boost Range"; addIconActions(_local2, _local3); _local2 = new Station_Rate(); _local2.rotateValue = 0; _local2.addValue = STATION_RATE; _local2.addType = Station_Rate; _local2.labelName = "Boost Rate"; addIconActions(_local2, _local3); break; }; _local3++; }; currentSet = OBSTACLE_SET; displaySet(OBSTACLE_SET); ssLink.addEventListener(MouseEvent.CLICK, ssLinkClicked); } private function randRange(_arg1:int, _arg2:int):int{ var _local3:int = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1); return (_local3); } private function displaySet(_arg1:int){ label1.text = ""; label2.text = ""; label3.text = ""; label4.text = ""; label5.text = ""; label6.text = ""; label7.text = ""; label8.text = ""; label9.text = ""; label10.text = ""; var _local2:int; while (_local2 < addIcons[_arg1].length) { addIcons[_arg1][_local2].x = (233 + (_local2 * 44.7)); addIcons[_arg1][_local2].y = 418; addChildAt(addIcons[_arg1][_local2], 2); switch (_local2){ case 0: label1.text = addIcons[_arg1][_local2].labelName; break; case 1: label2.text = addIcons[_arg1][_local2].labelName; break; case 2: label3.text = addIcons[_arg1][_local2].labelName; break; case 3: label4.text = addIcons[_arg1][_local2].labelName; break; case 4: label5.text = addIcons[_arg1][_local2].labelName; break; case 5: label6.text = addIcons[_arg1][_local2].labelName; break; case 6: label7.text = addIcons[_arg1][_local2].labelName; break; case 7: label8.text = addIcons[_arg1][_local2].labelName; break; case 8: label9.text = addIcons[_arg1][_local2].labelName; break; case 9: label10.text = addIcons[_arg1][_local2].labelName; break; }; _local2++; }; } private function stepLevel(_arg1:Event){ var _local3:int; var _local4:int; var _local2:int; _local3 = CellFromPos(mouseX); _local4 = CellFromPos(mouseY); if ((((((mouseX >= 10)) && ((mouseX < 670)))) && ((((mouseY >= 10)) && ((mouseY < 370)))))){ if (!mouseIsDown){ if ((((layoutArray[_local3][_local4] == 0)) && ((((mouseMode == SELECT_MODE)) || ((mouseMode == DELETE_MODE)))))){ hoverEditor.buttonMode = false; hoverEditor.useHandCursor = false; } else { hoverEditor.buttonMode = true; hoverEditor.useHandCursor = true; }; }; if ((((layoutArray[_local3][_local4] == 10)) || ((layoutArray[_local3][_local4] == 11)))){ if (mouseMode == SELECT_MODE){ if (mouseIsDown){ hoverEditor.badSpot.visible = true; } else { hoverEditor.badSpot.visible = false; }; } else { hoverEditor.badSpot.visible = true; }; } else { if (((((!((layoutArray[_local3][_local4] == 0))) && ((mouseMode == SELECT_MODE)))) && (mouseIsDown))){ hoverEditor.badSpot.visible = true; } else { hoverEditor.badSpot.visible = false; }; }; if (((mouseIsDown) && ((mouseMode == ADD_MODE)))){ addToLevel(_local3, _local4); }; if (((mouseIsDown) && ((mouseMode == SELECT_MODE)))){ if (selectType != 0){ clipArray[prevX][prevY].x = (((_local3 + 1) * CELLSIZE) - 5); clipArray[prevX][prevY].y = (((_local4 + 1) * CELLSIZE) - 5); }; }; if (((mouseIsDown) && ((mouseMode == DELETE_MODE)))){ if (((((!((layoutArray[_local3][_local4] == 0))) && (!((layoutArray[_local3][_local4] == 10))))) && (!((layoutArray[_local3][_local4] == 11))))){ GameManager.playFx(EDITORREMOVE); clipLayer.removeChild(clipArray[_local3][_local4]); clipArray[_local3][_local4] = null; layoutArray[_local3][_local4] = 0; setWater((_local3 - 1), _local4); setWater((_local3 + 1), _local4); setWater(_local3, (_local4 - 1)); setWater(_local3, (_local4 + 1)); updateWater(); }; }; setChildIndex(hoverEditor, (numChildren - 1)); hoverEditor.visible = true; hoverEditor.x = ((_local3 * CELLSIZE) + OFFSETDISTANCE); hoverEditor.y = ((_local4 * CELLSIZE) + OFFSETDISTANCE); } else { hoverEditor.visible = false; }; } private function ssLinkClicked(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } private function translateWater(_arg1:int, _arg2:int, _arg3:String){ if (_arg3 == "OOOO1"){ layoutArray[_arg1][_arg2] = 70; }; if (_arg3 == "OOOO2"){ layoutArray[_arg1][_arg2] = 71; }; if (_arg3 == "OOOO3"){ layoutArray[_arg1][_arg2] = 72; }; if (_arg3 == "OOOO4"){ layoutArray[_arg1][_arg2] = 73; }; if (_arg3 == "OOOO5"){ layoutArray[_arg1][_arg2] = 74; }; if (_arg3 == "XXXX"){ layoutArray[_arg1][_arg2] = 75; }; if (_arg3 == "XOOO"){ layoutArray[_arg1][_arg2] = 76; }; if (_arg3 == "OXOO"){ layoutArray[_arg1][_arg2] = 77; }; if (_arg3 == "OOXO"){ layoutArray[_arg1][_arg2] = 78; }; if (_arg3 == "OOOX"){ layoutArray[_arg1][_arg2] = 79; }; if (_arg3 == "XXOO"){ layoutArray[_arg1][_arg2] = 80; }; if (_arg3 == "XOXO"){ layoutArray[_arg1][_arg2] = 81; }; if (_arg3 == "XOOX"){ layoutArray[_arg1][_arg2] = 82; }; if (_arg3 == "OXOX"){ layoutArray[_arg1][_arg2] = 83; }; if (_arg3 == "XXXO"){ layoutArray[_arg1][_arg2] = 84; }; if (_arg3 == "XOXX"){ layoutArray[_arg1][_arg2] = 85; }; if (_arg3 == "XXOX"){ layoutArray[_arg1][_arg2] = 86; }; if (_arg3 == "OXXX"){ layoutArray[_arg1][_arg2] = 87; }; if (_arg3 == "OXXO"){ layoutArray[_arg1][_arg2] = 88; }; if (_arg3 == "OOXX"){ layoutArray[_arg1][_arg2] = 89; }; } public function deactivate(){ addStartTanks.removeEventListener(MouseEvent.CLICK, addSomethingClicked); subtractStartTanks.removeEventListener(MouseEvent.CLICK, subtractSomethingClicked); addSaveTanks.removeEventListener(MouseEvent.CLICK, addSomethingClicked); subtractSaveTanks.removeEventListener(MouseEvent.CLICK, subtractSomethingClicked); addStartCash.removeEventListener(MouseEvent.CLICK, addSomethingClicked); subtractStartCash.removeEventListener(MouseEvent.CLICK, subtractSomethingClicked); levEdObstacles.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdLaunchers.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdSentries.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdPatrollers.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdHunters.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdPowerUps.removeEventListener(MouseEvent.CLICK, displaySetClicked); levEdExport.removeEventListener(MouseEvent.CLICK, exportClicked); levEdImport.removeEventListener(MouseEvent.CLICK, importClicked); levEdTest.removeEventListener(MouseEvent.CLICK, testClicked); levEdExit.removeEventListener(MouseEvent.CLICK, exitClicked); removeEventListener(Event.ENTER_FRAME, stepLevel); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseReleased); stage.removeEventListener(MouseEvent.MOUSE_DOWN, mousePressed); } private function importOkClicked(_arg1:MouseEvent){ var _local2:Boolean; var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:Array; var _local8:String; var _local9:Boolean; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:Boolean; var _local16:int; var _local17:int; GameManager.playFx(LEVELCLICK); _local2 = true; _local3 = new Array(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = new Array(); _local8 = importScreen.levelCodeText.text; _local9 = false; _local8 = _local8.toLowerCase(); _local10 = 0; while (_local10 < _local8.length) { _local9 = false; if (_local8.charAt(_local10) == "0"){ _local9 = true; }; if (_local8.charAt(_local10) == "1"){ _local9 = true; }; if (_local8.charAt(_local10) == "2"){ _local9 = true; }; if (_local8.charAt(_local10) == "3"){ _local9 = true; }; if (_local8.charAt(_local10) == "4"){ _local9 = true; }; if (_local8.charAt(_local10) == "5"){ _local9 = true; }; if (_local8.charAt(_local10) == "6"){ _local9 = true; }; if (_local8.charAt(_local10) == "7"){ _local9 = true; }; if (_local8.charAt(_local10) == "8"){ _local9 = true; }; if (_local8.charAt(_local10) == "9"){ _local9 = true; }; if (_local8.charAt(_local10) == "x"){ _local9 = true; }; if (!_local9){ _local8 = String((_local8.substring(0, (_local10 - 1)) + _local8.substring((_local10 + 1), (_local8.length - 1)))); }; _local10++; }; if ((((_local8.length < 555)) || ((_local8.length > 559)))){ _local2 = false; }; if (_local2){ _local3 = _local8.split("x"); if (_local3.length != 25){ _local2 = false; } else { _local4 = int(_local3[22]); if ((((_local4 < 1)) || ((_local4 > 99)))){ _local2 = false; }; _local5 = int(_local3[23]); if ((((_local5 < 1)) || ((_local5 > 99)))){ _local2 = false; }; _local6 = int(_local3[24]); if ((((_local6 < 0)) || ((_local6 > 999)))){ _local2 = false; }; _local3.splice(22, 3); _local10 = 0; while (_local10 < 22) { if (_local3[_local10].length != 24){ _local2 = false; }; _local10++; }; }; }; if (_local2){ _local11 = 0; _local12 = 0; _local13 = 0; _local10 = 0; while (_local10 < _local3.length) { _local7[_local10] = new Array(); _local14 = 0; while (_local14 < _local3[_local10].length) { if ((_local14 % 2) == 0){ _local7[_local10][(_local14 / 2)] = ((int(_local3[_local10].charAt(_local14)) * 10) + int(_local3[_local10].charAt((_local14 + 1)))); switch (_local7[_local10][(_local14 / 2)]){ case 0: break; case GOAL: _local12++; break; case BUILDER: _local11++; break; case MINE: break; case CRATE_HEALTH: break; case CRATE_MONEY: break; case CRATE_SIDESWITCHER: break; case CRATE_TANK: _local13++; break; case STATION_SPEED: break; case STATION_ARMOR: break; case STATION_ATTACK: break; case STATION_RATE: break; case STATION_RANGE: break; case SENTRY_EASY: break; case SENTRY_MEDIUM: break; case SENTRY_HARD: break; case KAMIKAZE_DOWN: break; case KAMIKAZE_RIGHT: break; case KAMIKAZE_LEFT: break; case KAMIKAZE_UP: break; case PATROLLER_UP: break; case PATROLLER_RIGHT: break; case PATROLLER_DOWN: break; case PATROLLER_LEFT: break; case HOMINGMISSLEBUILDER: break; case TURNER_RIGHT_RIGHT: break; case TURNER_DOWN_RIGHT: break; case TURNER_LEFT_RIGHT: break; case TURNER_UP_RIGHT: break; case TURNER_RIGHT_LEFT: break; case TURNER_DOWN_LEFT: break; case TURNER_LEFT_LEFT: break; case TURNER_UP_LEFT: break; case TREE1: break; case TREE2: break; default: if ((((_local7[_local10][(_local14 / 2)] >= 70)) && ((_local7[_local10][(_local14 / 2)] <= WATER_TYPE)))){ } else { _local2 = false; }; break; }; }; _local14++; }; _local10++; }; if (((!((_local11 == 1))) || (!((_local12 == 1))))){ _local2 = false; }; if (_local5 > (_local4 + _local13)){ _local2 = false; }; }; if (_local2){ _local15 = true; _local16 = 0; while (_local16 < 22) { _local17 = 0; while (_local17 < 12) { if (layoutArray[_local16][_local17] != 0){ layoutArray[_local16][_local17] = 0; clipLayer.removeChild(clipArray[_local16][_local17]); clipArray[_local16][_local17] = null; }; layoutArray[_local16][_local17] = _local7[_local16][_local17]; switch (layoutArray[_local16][_local17]){ case GOAL: clipArray[_local16][_local17] = new TankGoal(); break; case BUILDER: clipArray[_local16][_local17] = new PlayerBuilder(); break; case MINE: clipArray[_local16][_local17] = new MineClip(); break; case CRATE_HEALTH: clipArray[_local16][_local17] = new Crate_Health(); break; case CRATE_MONEY: clipArray[_local16][_local17] = new Crate_Money(); break; case CRATE_SIDESWITCHER: clipArray[_local16][_local17] = new Crate_Sideswitcher(); break; case CRATE_TANK: clipArray[_local16][_local17] = new Crate_Tank(); break; case STATION_SPEED: clipArray[_local16][_local17] = new Station_Speed(); break; case STATION_ARMOR: clipArray[_local16][_local17] = new Station_Armor(); break; case STATION_ATTACK: clipArray[_local16][_local17] = new Station_Attack(); break; case STATION_RATE: clipArray[_local16][_local17] = new Station_Rate(); break; case STATION_RANGE: clipArray[_local16][_local17] = new Station_Range(); break; case SENTRY_EASY: clipArray[_local16][_local17] = new SentryEasy(); break; case SENTRY_MEDIUM: clipArray[_local16][_local17] = new SentryMedium(); break; case SENTRY_HARD: clipArray[_local16][_local17] = new SentryHard(); break; case KAMIKAZE_DOWN: clipArray[_local16][_local17] = new KamikazeBuilderClip(); clipArray[_local16][_local17].rotation = 180; break; case KAMIKAZE_RIGHT: clipArray[_local16][_local17] = new KamikazeBuilderClip(); clipArray[_local16][_local17].rotation = 90; break; case KAMIKAZE_LEFT: clipArray[_local16][_local17] = new KamikazeBuilderClip(); clipArray[_local16][_local17].rotation = -90; break; case KAMIKAZE_UP: clipArray[_local16][_local17] = new KamikazeBuilderClip(); break; case PATROLLER_UP: clipArray[_local16][_local17] = new PatrollerClip(); break; case PATROLLER_RIGHT: clipArray[_local16][_local17] = new PatrollerClip(); clipArray[_local16][_local17].rotation = 90; break; case PATROLLER_DOWN: clipArray[_local16][_local17] = new PatrollerClip(); clipArray[_local16][_local17].rotation = 180; break; case PATROLLER_LEFT: clipArray[_local16][_local17] = new PatrollerClip(); clipArray[_local16][_local17].rotation = -90; break; case HOMINGMISSLEBUILDER: clipArray[_local16][_local17] = new HomingMissleBuilderClip(); break; case TURNER_RIGHT_RIGHT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = 90; break; case TURNER_DOWN_RIGHT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = 180; break; case TURNER_LEFT_RIGHT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = -90; break; case TURNER_UP_RIGHT: clipArray[_local16][_local17] = new TurnerClip(); break; case TURNER_RIGHT_LEFT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = 90; break; case TURNER_DOWN_LEFT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = 180; break; case TURNER_LEFT_LEFT: clipArray[_local16][_local17] = new TurnerClip(); clipArray[_local16][_local17].rotation = -90; break; case TURNER_UP_LEFT: clipArray[_local16][_local17] = new TurnerClip(); break; case TREE1: clipArray[_local16][_local17] = new Tree1Clip(); break; case TREE2: clipArray[_local16][_local17] = new Tree2Clip(); break; default: if ((((layoutArray[_local16][_local17] >= 70)) && ((layoutArray[_local16][_local17] <= WATER_TYPE)))){ clipArray[_local16][_local17] = new WaterClip(); } else { _local15 = false; }; break; }; if (_local15){ clipArray[_local16][_local17].x = PosFromCell(_local16); clipArray[_local16][_local17].y = PosFromCell(_local17); clipLayer.addChild(clipArray[_local16][_local17]); }; _local15 = true; _local17++; }; _local16++; }; startTanks = _local4; tanksToSave = _local5; startCash = _local6; startingTanksText.text = ("Starting Tanks: " + String(startTanks)); tanksToSaveText.text = ("Tanks to Save: " + String(tanksToSave)); startingCashText.text = ("Starting Cash: $" + String(startCash)); updateWater(); importScreen.levelCodeText.text = ""; importScreen.codeErrorText.visible = false; importScreen.okButton.removeEventListener(MouseEvent.CLICK, importOkClicked); importScreen.cancelButton.removeEventListener(MouseEvent.CLICK, importCancelClicked); removeChild(importScreen); activate(); } else { importScreen.codeErrorText.visible = true; GameManager.playFx(LOADERROR); }; } private function importCancelClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); importScreen.levelCodeText.text = ""; importScreen.codeErrorText.visible = false; importScreen.okButton.removeEventListener(MouseEvent.CLICK, importOkClicked); importScreen.cancelButton.removeEventListener(MouseEvent.CLICK, importCancelClicked); removeChild(importScreen); activate(); } private function importClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); deactivate(); importScreen.levelCodeText.text = ""; importScreen.codeErrorText.visible = false; importScreen.okButton.addEventListener(MouseEvent.CLICK, importOkClicked); importScreen.cancelButton.addEventListener(MouseEvent.CLICK, importCancelClicked); addChild(importScreen); stage.focus = importScreen.levelCodeText; } public function activate(){ addStartTanks.addEventListener(MouseEvent.CLICK, addSomethingClicked); subtractStartTanks.addEventListener(MouseEvent.CLICK, subtractSomethingClicked); addSaveTanks.addEventListener(MouseEvent.CLICK, addSomethingClicked); subtractSaveTanks.addEventListener(MouseEvent.CLICK, subtractSomethingClicked); addStartCash.addEventListener(MouseEvent.CLICK, addSomethingClicked); subtractStartCash.addEventListener(MouseEvent.CLICK, subtractSomethingClicked); levEdObstacles.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdLaunchers.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdSentries.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdPatrollers.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdHunters.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdPowerUps.addEventListener(MouseEvent.CLICK, displaySetClicked); levEdExport.addEventListener(MouseEvent.CLICK, exportClicked); levEdImport.addEventListener(MouseEvent.CLICK, importClicked); levEdTest.addEventListener(MouseEvent.CLICK, testClicked); levEdExit.addEventListener(MouseEvent.CLICK, exitClicked); addEventListener(Event.ENTER_FRAME, stepLevel); stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed); } private function addSomethingClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); if (_arg1.target == addStartTanks){ if (startTanks < 99){ startTanks++; startingTanksText.text = ("Starting Tanks: " + String(startTanks)); }; } else { if (_arg1.target == addSaveTanks){ if (tanksToSave < 99){ tanksToSave++; tanksToSaveText.text = ("Tanks to Save: " + String(tanksToSave)); }; } else { if (_arg1.target == addStartCash){ if (startCash < 999){ startCash = (startCash + 10); startingCashText.text = ("Starting Cash: $" + String(startCash)); }; }; }; }; } private function mouseReleased(_arg1:MouseEvent){ var _local2:int; var _local3:int; if (mouseMode == SELECT_MODE){ if ((((((mouseX >= 10)) && ((mouseX < 670)))) && ((((mouseY >= 10)) && ((mouseY < 370)))))){ _local2 = CellFromPos(mouseX); _local3 = CellFromPos(mouseY); } else { if (selectType != 0){ _local2 = CellFromPos(clipArray[prevX][prevY].x); _local3 = CellFromPos(clipArray[prevX][prevY].y); }; }; if (selectType != 0){ if (layoutArray[_local2][_local3] == 0){ GameManager.playFx(EDITORPLACE); layoutArray[_local2][_local3] = selectType; clipArray[_local2][_local3] = clipArray[prevX][prevY]; clipArray[prevX][prevY] = null; layoutArray[prevX][prevY] = 0; if (isWater(layoutArray[_local2][_local3])){ setWater(_local2, _local3); setWater((_local2 - 1), _local3); setWater((_local2 + 1), _local3); setWater(_local2, (_local3 - 1)); setWater(_local2, (_local3 + 1)); updateWater(); }; } else { clipArray[prevX][prevY].x = prevXPos; clipArray[prevX][prevY].y = prevYPos; selectType = 0; }; }; }; mouseIsDown = false; selectType = 0; } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } private function exitClicked(_arg1:MouseEvent){ ssLink.removeEventListener(MouseEvent.CLICK, ssLinkClicked); GameManager.playFx(LEVELCLICK); GameManager.leaveEditor(); } private function shareOnSSClicked(_arg1:MouseEvent){ var _local2:URLRequest; if (GameManager.onSinisterSea){ if (PaymentManager.purchaseItems[USERLEVELS].purchased){ shareLevel(); } else { GameManager.paymentBox = null; GameManager.paymentBox = new PaymentBox(); GameManager.paymentBox.activate(USERLEVELS, this); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); }; } else { GameManager.playFx(MENUCLICK); _local2 = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); }; } private function exportOkClicked(_arg1:MouseEvent){ removeExportScreen(); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function shareLevelTimerFired(_arg1:TimerEvent){ if (LevelShareManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, shareLevelTimerFired); removeExportScreen(); } else { delayTimer.reset(); delayTimer.start(); }; } private function userLevelsCancelled(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); } private function subtractSomethingClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); if (_arg1.target == subtractStartTanks){ if (startTanks > 1){ startTanks--; startingTanksText.text = ("Starting Tanks: " + String(startTanks)); }; } else { if (_arg1.target == subtractSaveTanks){ if (tanksToSave > 1){ tanksToSave--; tanksToSaveText.text = ("Tanks to Save: " + String(tanksToSave)); }; } else { if (_arg1.target == subtractStartCash){ if (startCash > 9){ startCash = (startCash - 10); startingCashText.text = ("Starting Cash: $" + String(startCash)); }; }; }; }; } private function exportClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); var _local2:int; exportString = ""; _local2 = generateString(); if (tanksToSave > (startTanks + _local2)){ GameManager.playFx(LOADERROR); exportScreen.levelCodeText.textColor = 0xFF0000; exportString = "ERROR: Level is impossible to beat. Add more starting tanks or extra tank power-ups."; } else { exportScreen.levelCodeText.textColor = 50466; }; exportScreen.levelCodeText.text = exportString; exportScreen.okButton.addEventListener(MouseEvent.CLICK, exportOkClicked); exportScreen.copyToClipboardButton.addEventListener(MouseEvent.CLICK, copyClipboardClicked); exportScreen.shareOnSSButton.addEventListener(MouseEvent.CLICK, shareOnSSClicked); exportScreen.doneIndicator.visible = false; exportScreen.levelNameText.restrict = "a-zA-Z0-9"; exportScreen.levelNameText.maxChars = 20; exportScreen.gotoAndStop("normal"); addChild(exportScreen); deactivate(); } private function setWater(_arg1:int, _arg2:int){ var _local4:String; var _local3:Array = new Array("X", "X", "X", "X"); var _local5:Boolean; if ((((((((_arg1 >= 0)) && ((_arg1 <= 21)))) && ((_arg2 >= 0)))) && ((_arg2 <= 11)))){ if (isWater(layoutArray[_arg1][_arg2])){ if (_arg2 > 0){ if (isWater(layoutArray[_arg1][(_arg2 - 1)])){ _local3[0] = "O"; }; }; if (_arg1 < 21){ if (isWater(layoutArray[(_arg1 + 1)][_arg2])){ _local3[1] = "O"; }; }; if (_arg2 < 11){ if (isWater(layoutArray[_arg1][(_arg2 + 1)])){ _local3[2] = "O"; }; }; if (_arg1 > 0){ if (isWater(layoutArray[(_arg1 - 1)][_arg2])){ _local3[3] = "O"; }; }; _local4 = _local3.join(""); if (_local4 == "OOOO"){ clipLayer.setChildIndex(clipArray[_arg1][_arg2], 0); waterIncrement = randRange(1, 5); if (waterIncrement == prevWaterIncrement){ if (randRange(0, 1) == 1){ waterIncrement++; if (waterIncrement > 5){ waterIncrement = randRange(1, 4); }; } else { waterIncrement--; if (waterIncrement < 1){ waterIncrement = randRange(2, 5); }; }; }; _local4 = (_local4 + waterIncrement); prevWaterIncrement = waterIncrement; }; if (_local4 == "XOOO"){ _local5 = true; }; if (_local4 == "OXOO"){ _local5 = true; }; if (_local4 == "OOXO"){ _local5 = true; }; if (_local4 == "OOOX"){ _local5 = true; }; if (_local4 == "XXOO"){ _local5 = true; }; if (_local4 == "OXXO"){ _local5 = true; }; if (_local4 == "OOXX"){ _local5 = true; }; if (_local4 == "XOOX"){ _local5 = true; }; if (_local5){ clipLayer.setChildIndex(clipArray[_arg1][_arg2], 0); }; clipArray[_arg1][_arg2].gotoAndStop(_local4); translateWater(_arg1, _arg2, _local4); }; }; } private function updateWater(){ var _local4:int; var _local5:int; var _local1:Boolean; var _local2:int; while (_local2 < 22) { _local4 = 0; while (_local4 < 12) { if (isWater(layoutArray[_local2][_local4])){ setWater(_local2, _local4); if (clipArray[_local2][_local4].currentLabel == "XOOO"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "OXOO"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "OOXO"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "OOOX"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "XXOO"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "OXXO"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "OOXX"){ _local1 = true; }; if (clipArray[_local2][_local4].currentLabel == "XOOX"){ _local1 = true; }; if (_local1){ clipLayer.setChildIndex(clipArray[_local2][_local4], 0); }; _local1 = false; } else { if (_local2 > 0){ if (_local4 > 0){ if (((((isWater(layoutArray[(_local2 - 1)][(_local4 - 1)])) && (isWater(layoutArray[_local2][(_local4 - 1)])))) && (isWater(layoutArray[(_local2 - 1)][_local4])))){ clipLayer.setChildIndex(clipArray[(_local2 - 1)][(_local4 - 1)], 0); }; }; if (_local4 < 11){ if (((((isWater(layoutArray[(_local2 - 1)][(_local4 + 1)])) && (isWater(layoutArray[_local2][(_local4 + 1)])))) && (isWater(layoutArray[(_local2 - 1)][_local4])))){ clipLayer.setChildIndex(clipArray[(_local2 - 1)][(_local4 + 1)], 0); }; }; }; if (_local2 < 21){ if (_local4 > 0){ if (((((isWater(layoutArray[(_local2 + 1)][(_local4 - 1)])) && (isWater(layoutArray[(_local2 + 1)][_local4])))) && (isWater(layoutArray[_local2][(_local4 - 1)])))){ clipLayer.setChildIndex(clipArray[(_local2 + 1)][(_local4 - 1)], 0); }; }; if (_local4 < 11){ if (((((isWater(layoutArray[(_local2 + 1)][(_local4 + 1)])) && (isWater(layoutArray[_local2][(_local4 + 1)])))) && (isWater(layoutArray[(_local2 + 1)][_local4])))){ clipLayer.setChildIndex(clipArray[(_local2 + 1)][(_local4 + 1)], 0); }; }; }; }; _local4++; }; _local2++; }; var _local3:int; while (_local3 < 22) { _local5 = 0; while (_local5 < 12) { if (isWater(layoutArray[_local3][_local5])){ if (clipArray[_local3][_local5].currentLabel == "XOXO"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "OXOX"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "XXXO"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "XOXX"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "XXOX"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "OXXX"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if (clipArray[_local3][_local5].currentLabel == "XXXX"){ clipLayer.setChildIndex(clipArray[_local3][_local5], (clipLayer.numChildren - 1)); }; if ((((((((((clipArray[_local3][_local5].currentLabel == "OOOO1")) || ((clipArray[_local3][_local5].currentLabel == "OOOO2")))) || ((clipArray[_local3][_local5].currentLabel == "OOOO3")))) || ((clipArray[_local3][_local5].currentLabel == "OOOO4")))) || ((clipArray[_local3][_local5].currentLabel == "OOOO5")))){ clipLayer.setChildIndex(clipArray[_local3][_local5], 0); }; }; _local5++; }; _local3++; }; } private function generateString():int{ var _local4:int; var _local1:Array = new Array(); var _local2:int; var _local3:int; while (_local3 < 22) { _local1 = new Array(); _local4 = 0; while (_local4 < 12) { if (layoutArray[_local3][_local4] < 10){ _local1[_local4] = ("0" + String(layoutArray[_local3][_local4])); } else { if (layoutArray[_local3][_local4] == CRATE_TANK){ _local2++; }; _local1[_local4] = String(layoutArray[_local3][_local4]); }; _local4++; }; exportString = (exportString + _local1.join("")); exportString = (exportString + "x"); _local1 = null; _local3++; }; exportString = (exportString + (String(startTanks) + "x")); exportString = (exportString + (String(tanksToSave) + "x")); exportString = (exportString + String(startCash)); return (_local2); } private function addToLevel(_arg1:int, _arg2:int){ if ((((((mouseX >= 10)) && ((mouseX < 670)))) && ((((mouseY >= 10)) && ((mouseY < 370)))))){ if (((!((layoutArray[_arg1][_arg2] == addCode))) && (!((((addCode == WATER_TYPE)) && (isWater(layoutArray[_arg1][_arg2]))))))){ if (((((!((layoutArray[_arg1][_arg2] == 0))) && (!((layoutArray[_arg1][_arg2] == 10))))) && (!((layoutArray[_arg1][_arg2] == 11))))){ layoutArray[_arg1][_arg2] = 0; clipLayer.removeChild(clipArray[_arg1][_arg2]); setWater((_arg1 - 1), _arg2); setWater((_arg1 + 1), _arg2); setWater(_arg1, (_arg2 - 1)); setWater(_arg1, (_arg2 + 1)); updateWater(); }; if (((!((layoutArray[_arg1][_arg2] == 10))) && (!((layoutArray[_arg1][_arg2] == 11))))){ GameManager.playFx(EDITORPLACE); layoutArray[_arg1][_arg2] = addCode; clipArray[_arg1][_arg2] = new addType(); clipArray[_arg1][_arg2].rotation = rotateValue; clipArray[_arg1][_arg2].x = (((CellFromPos(mouseX) + 1) * CELLSIZE) - 5); clipArray[_arg1][_arg2].y = (((CellFromPos(mouseY) + 1) * CELLSIZE) - 5); clipLayer.addChild(clipArray[_arg1][_arg2]); if (isWater(layoutArray[_arg1][_arg2])){ setWater(_arg1, _arg2); setWater((_arg1 - 1), _arg2); setWater((_arg1 + 1), _arg2); setWater(_arg1, (_arg2 - 1)); setWater(_arg1, (_arg2 + 1)); updateWater(); }; }; }; }; } private function addIconClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); mouseMode = ADD_MODE; hoverEditor.gotoAndStop("addMode"); addCode = _arg1.target.addValue; addType = _arg1.target.addType; rotateValue = _arg1.target.rotateValue; selectedIcon.x = _arg1.target.x; } private function isWater(_arg1:int):Boolean{ if ((((_arg1 >= 70)) && ((_arg1 <= 90)))){ return (true); }; return (false); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } private function deleteIconClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); mouseMode = DELETE_MODE; selectedIcon.x = _arg1.target.x; hoverEditor.gotoAndStop("deleteMode"); } private function clearSet(){ label1.text = ""; label2.text = ""; label3.text = ""; label4.text = ""; label5.text = ""; label6.text = ""; label7.text = ""; label8.text = ""; label9.text = ""; label10.text = ""; var _local1:int; while (_local1 < addIcons[currentSet].length) { removeChild(addIcons[currentSet][_local1]); _local1++; }; } private function selectIconClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); mouseMode = SELECT_MODE; selectedIcon.x = _arg1.target.x; hoverEditor.gotoAndStop("selectMode"); } private function addIconActions(_arg1:Object, _arg2:int){ _arg1.addEventListener(MouseEvent.CLICK, addIconClicked); _arg1.buttonMode = true; _arg1.useHandCursor = true; addIcons[_arg2].push(_arg1); } private function shareLevel(){ if (exportString.indexOf("ERROR") == -1){ delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, shareLevelTimerFired); delayTimer.start(); exportScreen.gotoAndStop("loading"); LevelShareManager.addLevel(exportScreen.levelNameText.text, exportString); } else { GameManager.playFx(LOADERROR); }; } private function testClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); exportString = ""; generateString(); GameManager.initiateTestLevel(exportString); } private function copyClipboardClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); System.setClipboard(exportString); exportScreen.doneIndicator.visible = true; } private function userLevelsPurchased(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); shareLevel(); } private function displaySetClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); clearSet(); if (_arg1.target == levEdObstacles){ currentSet = OBSTACLE_SET; }; if (_arg1.target == levEdLaunchers){ currentSet = LAUNCHER_SET; }; if (_arg1.target == levEdSentries){ currentSet = SENTRY_SET; }; if (_arg1.target == levEdPatrollers){ currentSet = PATROLLER_SET; }; if (_arg1.target == levEdHunters){ currentSet = HUNTER_SET; }; if (_arg1.target == levEdPowerUps){ currentSet = POWERUP_SET; }; displaySet(currentSet); mouseMode = SELECT_MODE; selectedIcon.x = 233; hoverEditor.gotoAndStop("selectMode"); } private function mousePressed(_arg1:MouseEvent){ var _local2:int = CellFromPos(mouseX); var _local3:int = CellFromPos(mouseY); mouseIsDown = true; if ((((((mouseX >= 10)) && ((mouseX < 670)))) && ((((mouseY >= 10)) && ((mouseY < 370)))))){ if ((((mouseMode == SELECT_MODE)) && (!((layoutArray[_local2][_local3] == 0))))){ selectType = layoutArray[_local2][_local3]; prevX = _local2; prevY = _local3; prevXPos = clipArray[_local2][_local3].x; prevYPos = clipArray[_local2][_local3].y; }; if ((((mouseMode == DELETE_MODE)) && (!((layoutArray[_local2][_local3] == 0))))){ if (((!((layoutArray[_local2][_local3] == 10))) && (!((layoutArray[_local2][_local3] == 11))))){ GameManager.playFx(EDITORREMOVE); clipLayer.removeChild(clipArray[_local2][_local3]); clipArray[_local2][_local3] = null; layoutArray[_local2][_local3] = 0; setWater((_local2 - 1), _local3); setWater((_local2 + 1), _local3); setWater(_local2, (_local3 - 1)); setWater(_local2, (_local3 + 1)); updateWater(); }; }; }; } private function removeExportScreen(){ GameManager.playFx(LEVELCLICK); removeChild(exportScreen); exportScreen.okButton.removeEventListener(MouseEvent.CLICK, exportOkClicked); exportScreen.copyToClipboardButton.removeEventListener(MouseEvent.CLICK, copyClipboardClicked); exportString = ""; exportScreen.doneIndicator.visible = false; exportScreen.levelCodeText.text = ""; activate(); } } }//package
Section 132
//LevelFade (LevelFade) package { import flash.display.*; public dynamic class LevelFade extends Sprite { } }//package
Section 133
//LevelLoadingClip (LevelLoadingClip) package { import flash.display.*; public dynamic class LevelLoadingClip extends MovieClip { } }//package
Section 134
//LevelMarker (LevelMarker) package { import flash.events.*; import flash.display.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class LevelMarker extends MovieClip { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const STORYTHEME:int = 4; const WATER_TOP:int = 76; public var levelNumber:int;// = 0 public var isAvailable:Boolean;// = false public var isBeaten:Boolean;// = false public var beatenFlag:BeatenFlag; public var levelLabel:TextField; public function LevelMarker(_arg1:int){ addFrameScript(0, frame1, 1, frame2); this.buttonMode = true; this.useHandCursor = true; this.mouseChildren = false; levelNumber = _arg1; gotoAndStop("unavailable"); beatenFlag.visible = false; levelLabel.text = ("Mission " + String(_arg1)); levelLabel.textColor = 0x6600; } private function mouseOverClip(_arg1:MouseEvent){ var _local2:int; var _local3:int; if (isAvailable){ levelLabel.textColor = 0xFF00; _local2 = 0; while (_local2 < FIELDHEIGHT) { _local3 = 0; while (_local3 < FIELDWIDTH) { if ((((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] >= SENTRY_EASY)) && ((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] <= TURNER_UP_LEFT)))){ GameManager.levelSelect.levelLayout[_local3][_local2].gotoAndStop("enemy"); } else { if ((((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] >= WATER_NONE1)) && ((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] <= WATER_TYPE)))){ GameManager.levelSelect.levelLayout[_local3][_local2].gotoAndStop("water"); } else { if ((((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] >= TREE1)) && ((GameManager.levelInfo[levelNumber].levelLayoutArray[_local3][_local2] <= TREE2)))){ GameManager.levelSelect.levelLayout[_local3][_local2].gotoAndStop("tree"); } else { GameManager.levelSelect.levelLayout[_local3][_local2].gotoAndStop("blank"); }; }; }; _local3++; }; _local2++; }; }; GameManager.levelSelect.levelNameText.text = GameManager.levelInfo[levelNumber].levelName; if (isAvailable){ if (isBeaten){ GameManager.levelSelect.statusText.text = "Status: Complete"; GameManager.levelSelect.bestScoreText.text = ("Best Score: " + String(GameManager.levelInfo[levelNumber].bestScore)); } else { GameManager.levelSelect.statusText.text = "Status: Available"; }; } else { GameManager.levelSelect.statusText.text = "Status: Unavailable"; }; } public function deactivate(){ if (isAvailable){ removeEventListener(MouseEvent.CLICK, startLevel); }; removeEventListener(MouseEvent.ROLL_OVER, mouseOverClip); removeEventListener(MouseEvent.ROLL_OUT, mouseOutClip); } function frame2(){ stop(); } function frame1(){ stop(); } public function makeBeaten(){ isBeaten = true; beatenFlag.visible = true; } private function startLevel(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.leaveLevelSelect(); GameManager.initiateMission(levelNumber); } public function makeAvailable(){ addEventListener(MouseEvent.CLICK, startLevel); isAvailable = true; gotoAndStop("available"); levelLabel.textColor = 377106; if (isBeaten){ beatenFlag.visible = true; }; } public function activate(){ addEventListener(MouseEvent.ROLL_OVER, mouseOverClip); addEventListener(MouseEvent.ROLL_OUT, mouseOutClip); } private function mouseOutClip(_arg1:MouseEvent){ var _local2:int; var _local3:int; if (isAvailable){ levelLabel.textColor = 377106; _local2 = 0; while (_local2 < FIELDWIDTH) { _local3 = 0; while (_local3 < FIELDHEIGHT) { GameManager.levelSelect.levelLayout[_local2][_local3].gotoAndStop("unknown"); _local3++; }; _local2++; }; }; GameManager.levelSelect.levelNameText.text = ""; GameManager.levelSelect.statusText.text = ""; GameManager.levelSelect.bestScoreText.text = ""; } } }//package
Section 135
//LevelMusic (LevelMusic) package { import flash.media.*; public dynamic class LevelMusic extends Sound { } }//package
Section 136
//LevelScreen (LevelScreen) package { import flash.events.*; import flash.display.*; import caurina.transitions.*; import flash.geom.*; import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class LevelScreen extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const SENTRY_HARD:int = 27; const MAXDISTANCE:int = 10000; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TURNER_DOWN_LEFT:int = 55; const WATER_TYPE:int = 90; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const FOUR_MEGATON:int = 40; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const RANGECONTROL:int = 4; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const TITLE_STARTGAME:int = 1; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const RIGHT:int = 1; const STORYTHEME:int = 4; const WATER_TOP:int = 76; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; private var levelFade:LevelFade; private var levelMenuButton:MenuButton; private var sandArray:Array; private var explosionArray:Array; private var backdrop:Sprite; private var isCellSelected:Boolean;// = false private var tutorialHover:TutorialHover; public var levelStatus:int;// = 1 private var createTanksCrates:int;// = 0 private var levelDisplay:LevelDisplay; public var levelString:String;// = "" private var renderer:BitmapRenderer; private var tanksToSave:int;// = 0 private var isBuilderSelected:Boolean;// = false private var isMouseDown:Boolean;// = false private var playMoreGamesButton:SponsorButton; private var pathDisplay:Sprite; public var levelType:int;// = 0 private var interfaceChrome:InterfaceChrome; private var storyShown:Boolean;// = false private var selectedClips:Array; private var interfaceDisplay:Sprite; private var playerBuilder:MapCell; private var smokeTrails:Array; public var currentLevel:int;// = 0 private var tutorialBox:TutorialBox; private var playerGoal:MapCell; private var unitID:int;// = 1 private var selectedBuilderId:int;// = 0 private var storyScreen:StoryScreen; private var tanksAlotted:int;// = 0 private var resumeGameButton:ResumeGameButton; public var previousBestScore:int;// = 0 private var projectileArray:Array; private var playExplodeSound:Boolean;// = false private var exitButton:ExitButton; private var goalDisplay:GoalDisplay; private var playerBuilderControls:Array; private var powerUpEffects:Array; private var mapArray:Array; private var goalEffects:Array; private var timeCounter:int;// = 0 private var playerTanks:Array; private var currentlySelectedCell:MapCell; private var levelOver:Boolean;// = false public var score:int;// = 0 private var enemiesDestroyed:int;// = 0 private var unitDisplay:Sprite; private var upgradeLevels:Array; public var levelWon:Boolean;// = false private var time:int;// = 0 private var hoverClip:HoverClip; private var unitExplosionArray:Array; public var levelBonus:int;// = 0 public var isPaused:Boolean;// = false private var resetLevelButton:ResetLevelButton; private var storyContinueButton:NewMissionButton; private var levelLayoutArray:Array; private var warningScreen:WarningScreen; private var mainBuilderControl:MainBuilderControl; private var tanksSaved:int;// = 0 private var buildingDisplay:Sprite; private var groundRenderer:BitmapRenderer; private var levelSummary:LevelSummary; private var sandDisplay:Sprite; private var enemyArray:Array; private var groundEffectDisplay:Sprite; private var mapDisplay:Sprite; private var hudDisplay:Sprite; private var explosionDisplay:Sprite; public function LevelScreen(_arg1:int, _arg2:String, _arg3:int){ var _local7:MapCell; var _local8:TankBuilderControls; var _local10:int; mapArray = new Array(); levelLayoutArray = new Array(); playerBuilderControls = new Array(); selectedClips = new Array(); playerTanks = new Array(); enemyArray = new Array(); sandArray = new Array(); explosionArray = new Array(); unitExplosionArray = new Array(); powerUpEffects = new Array(); goalEffects = new Array(); smokeTrails = new Array(); projectileArray = new Array(); upgradeLevels = new Array(); hoverClip = new HoverClip(); levelFade = new LevelFade(); renderer = new BitmapRenderer(new Rectangle(10, 10, 660, 360)); groundRenderer = new BitmapRenderer(new Rectangle(10, 10, 660, 360)); interfaceChrome = new InterfaceChrome(); goalDisplay = new GoalDisplay(); levelDisplay = new LevelDisplay(); levelMenuButton = new MenuButton(); resetLevelButton = new ResetLevelButton(); exitButton = new ExitButton(); playMoreGamesButton = new SponsorButton(); resumeGameButton = new ResumeGameButton(); storyScreen = new StoryScreen(); warningScreen = new WarningScreen(); pathDisplay = new Sprite(); mapDisplay = new Sprite(); hudDisplay = new Sprite(); groundEffectDisplay = new Sprite(); buildingDisplay = new Sprite(); unitDisplay = new Sprite(); explosionDisplay = new Sprite(); interfaceDisplay = new Sprite(); sandDisplay = new Sprite(); super(); var _local4:Array = new Array(); var _local5:int; levelString = _arg2; _local4 = _arg2.split("x"); tanksAlotted = int(_local4[22]); tanksToSave = int(_local4[23]); _local5 = int(_local4[24]); _local4.splice(22, 3); var _local6:int; while (_local6 < 22) { levelLayoutArray[_local6] = new Array(); _local10 = 0; while (_local10 < 24) { if ((_local10 % 2) == 0){ levelLayoutArray[_local6][(_local10 / 2)] = ((int(_local4[_local6].charAt(_local10)) * 10) + int(_local4[_local6].charAt((_local10 + 1)))); }; _local10++; }; _local6++; }; currentLevel = _arg1; levelType = _arg3; if (levelType == MISSION_TYPE){ levelBonus = GameManager.levelInfo[currentLevel].levelBonus; previousBestScore = GameManager.levelInfo[currentLevel].bestScore; }; backdrop = new GrassBackground(); mainBuilderControl = new MainBuilderControl(_local5, tanksAlotted); backdrop.x = 10; backdrop.y = 10; addChild(backdrop); addChild(pathDisplay); addChild(mapDisplay); addChild(sandDisplay); addChild(hudDisplay); addChild(groundEffectDisplay); addChild(unitDisplay); addChild(buildingDisplay); addChild(explosionDisplay); addChild(interfaceDisplay); explosionDisplay.addChild(renderer); groundEffectDisplay.addChild(groundRenderer); _local6 = 0; while (_local6 < 22) { mapArray[_local6] = new Array(); _local10 = 0; while (_local10 < 12) { _local7 = new MapCell(PosFromCell(_local6), PosFromCell(_local10), false); mapArray[_local6].push(_local7); mapArray[_local6][_local10].contents = levelLayoutArray[_local6][_local10]; switch (mapArray[_local6][_local10].contents){ case GOAL: mapArray[_local6][_local10].setMapItem(GOAL); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); playerGoal = mapArray[_local6][_local10]; break; case BUILDER: mapArray[_local6][_local10].setMapItem(BUILDER); buildingDisplay.addChild(mapArray[_local6][_local10].mapClip); playerBuilder = mapArray[_local6][_local10]; break; case MINE: mapArray[_local6][_local10].setMapItem(MINE); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case CRATE_HEALTH: mapArray[_local6][_local10].setMapItem(CRATE_HEALTH); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case CRATE_MONEY: mapArray[_local6][_local10].setMapItem(CRATE_MONEY); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case CRATE_SIDESWITCHER: mapArray[_local6][_local10].setMapItem(CRATE_SIDESWITCHER); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case CRATE_TANK: mapArray[_local6][_local10].setMapItem(CRATE_TANK); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); createTanksCrates++; break; case STATION_SPEED: mapArray[_local6][_local10].setMapItem(STATION_SPEED); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case STATION_ARMOR: mapArray[_local6][_local10].setMapItem(STATION_ARMOR); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case STATION_ATTACK: mapArray[_local6][_local10].setMapItem(STATION_ATTACK); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case STATION_RATE: mapArray[_local6][_local10].setMapItem(STATION_RATE); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case STATION_RANGE: mapArray[_local6][_local10].setMapItem(STATION_RANGE); mapDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case SENTRY_EASY: newUnit(SENTRY_EASY, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = SENTRY_EASY; break; case SENTRY_MEDIUM: newUnit(SENTRY_MEDIUM, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = SENTRY_MEDIUM; break; case SENTRY_HARD: newUnit(SENTRY_HARD, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = SENTRY_HARD; break; case KAMIKAZE_DOWN: newUnit(KAMIKAZE_DOWN, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = KAMIKAZE_DOWN; break; case KAMIKAZE_RIGHT: newUnit(KAMIKAZE_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = KAMIKAZE_RIGHT; break; case KAMIKAZE_LEFT: newUnit(KAMIKAZE_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = KAMIKAZE_LEFT; break; case KAMIKAZE_UP: newUnit(KAMIKAZE_UP, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = KAMIKAZE_UP; break; case PATROLLER_UP: newUnit(PATROLLER_UP, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case PATROLLER_RIGHT: newUnit(PATROLLER_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case PATROLLER_DOWN: newUnit(PATROLLER_DOWN, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case PATROLLER_LEFT: newUnit(PATROLLER_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case HOMINGMISSLEBUILDER: newUnit(HOMINGMISSLEBUILDER, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].pointDirection = HOMINGMISSLEBUILDER; break; case TURNER_RIGHT_RIGHT: newUnit(TURNER_RIGHT_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_DOWN_RIGHT: newUnit(TURNER_DOWN_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_LEFT_RIGHT: newUnit(TURNER_LEFT_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_UP_RIGHT: newUnit(TURNER_UP_RIGHT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_RIGHT_LEFT: newUnit(TURNER_RIGHT_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_DOWN_LEFT: newUnit(TURNER_DOWN_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_LEFT_LEFT: newUnit(TURNER_LEFT_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TURNER_UP_LEFT: newUnit(TURNER_UP_LEFT, mapArray[_local6][_local10].xPos, mapArray[_local6][_local10].yPos); mapArray[_local6][_local10].contents = NODIRECTION; break; case TREE1: mapArray[_local6][_local10].setMapItem(TREE1); buildingDisplay.addChild(mapArray[_local6][_local10].mapClip); break; case TREE2: mapArray[_local6][_local10].setMapItem(TREE2); buildingDisplay.addChild(mapArray[_local6][_local10].mapClip); break; default: if ((((mapArray[_local6][_local10].contents >= 70)) && ((mapArray[_local6][_local10].contents <= WATER_TYPE)))){ mapArray[_local6][_local10].pointDirection = WATER_TYPE; mapArray[_local6][_local10].setMapItem(mapArray[_local6][_local10].contents); if ((((mapArray[_local6][_local10].contents >= 70)) && ((mapArray[_local6][_local10].contents <= 74)))){ mapDisplay.addChildAt(mapArray[_local6][_local10].mapClip, 0); } else { mapDisplay.addChild(mapArray[_local6][_local10].mapClip); }; mapArray[_local6][_local10].contents = WATER_TYPE; }; break; }; _local10++; }; _local6++; }; updateWater(); mapDisplay.setChildIndex(playerGoal.mapClip, (mapDisplay.numChildren - 1)); interfaceDisplay.addChild(interfaceChrome); mainBuilderControl.x = 145; mainBuilderControl.y = 450; interfaceDisplay.addChild(mainBuilderControl); goalDisplay.x = 25; goalDisplay.y = 392; goalDisplay.goalText.text = ((String(tanksSaved) + "/") + String(tanksToSave)); interfaceDisplay.addChild(goalDisplay); levelDisplay.x = 25; levelDisplay.y = 437; if (currentLevel == -10){ levelDisplay.levelText.text = ""; if (levelType == 4){ levelDisplay.levelText.text = GameManager.userLevelName; }; } else { levelDisplay.levelText.text = GameManager.levelInfo[currentLevel].levelName; }; levelDisplay.timeText.text = String(time); interfaceDisplay.addChild(levelDisplay); levelMenuButton.x = 144; levelMenuButton.y = 394; addChild(levelMenuButton); var _local9:int; while (_local9 < 5) { _local8 = new TankBuilderControls(_local9); playerBuilderControls.push(_local8); playerBuilderControls[_local9].x = (248 + ((_local9 + 1) * 68)); playerBuilderControls[_local9].y = 392; interfaceDisplay.addChild(playerBuilderControls[_local9]); _local9++; }; hoverClip.x = 100; hoverClip.y = 100; interfaceDisplay.addChild(hoverClip); hoverClip.visible = false; hoverClip.buttonMode = true; hoverClip.useHandCursor = true; levelFade.alpha = 1; levelFade.x = 10; levelFade.y = 10; interfaceDisplay.addChild(levelFade); } private function hideSummary(){ if (levelType == 4){ GameManager.userLevelSubmit = true; GameManager.userLevelPlays++; if (levelWon){ GameManager.userLevelWins++; }; GameManager.userLevelRatings = (GameManager.userLevelRatings + levelSummary.ratingWidget.currentRating); levelSummary.ratingWidget.deactivate(); }; levelSummary.tryAgainButton.removeEventListener(MouseEvent.CLICK, restartClicked); levelSummary.newMissionButton.removeEventListener(MouseEvent.CLICK, exitClicked); interfaceDisplay.removeChild(levelSummary); } private function stepLevel(_arg1:Event){ var _local2:int; var _local3:Boolean; var _local4:int; var _local5:int; var _local7:int; var _local9:int; var _local11:int; var _local13:int; var _local16:*; var _local17:int; var _local18:int; var _local19:int; var _local20:Number; var _local21:int; var _local22:int; var _local23:int; var _local24:int; var _local25:Smoke; var _local26:Explosion; var _local27:int; var _local28:int; var _local29:int; var _local30:Number; _local2 = 0; _local3 = false; playExplodeSound = false; _local4 = 0; _local5 = 0; while (_local5 < 5) { _local4 = (_local4 + playerBuilderControls[_local5].costAmount); _local5++; }; mainBuilderControl.tankCost = _local4; timeCounter++; if (timeCounter >= 35){ time++; timeCounter = 0; levelDisplay.timeText.text = String(time); }; goalDisplay.goalText.text = ((String(tanksSaved) + "/") + String(tanksToSave)); if (tanksSaved >= tanksToSave){ if (((!(levelWon)) && (!(levelOver)))){ levelOver = true; levelWon = true; deactivateControls(); levelFade.alpha = 0; interfaceDisplay.addChild(levelFade); GameManager.stopMusic(); Tweener.addTween(levelFade, {alpha:1, transition:"linear", time:1, onComplete:showSummary}); }; } else { if (((((tanksToSave - tanksSaved) > ((mainBuilderControl.tanksAvailable + playerTanks.length) + createTanksCrates))) && (!(mainBuilderControl.isBusy)))){ if (!levelOver){ levelOver = true; levelWon = false; deactivateControls(); levelFade.alpha = 0; interfaceDisplay.addChild(levelFade); GameManager.stopMusic(); Tweener.addTween(levelFade, {alpha:1, transition:"linear", time:1, onComplete:showSummary}); }; } else { if (((((((((tanksToSave - tanksSaved) >= ((mainBuilderControl.tanksAvailable + playerTanks.length) + createTanksCrates))) && ((mainBuilderControl.tanksAvailable == 0)))) && ((playerTanks.length == 0)))) && (!(mainBuilderControl.isBusy)))){ if (!levelOver){ levelOver = true; levelWon = false; deactivateControls(); levelFade.alpha = 0; interfaceDisplay.addChild(levelFade); GameManager.stopMusic(); Tweener.addTween(levelFade, {alpha:1, transition:"linear", time:1, onComplete:showSummary}); }; }; }; }; if ((((((mouseX >= 10)) && ((mouseX < 670)))) && ((((mouseY >= 10)) && ((mouseY < 370)))))){ hoverClip.x = ((CellFromPos(mouseX) * CELLSIZE) + OFFSETDISTANCE); hoverClip.y = ((CellFromPos(mouseY) * CELLSIZE) + OFFSETDISTANCE); if (currentLevel == 0){ _local23 = CellFromPos(mouseX); _local24 = CellFromPos(mouseY); if ((((_local23 == 2)) && ((_local24 == 9)))){ tutorialHover.gotoAndStop("builder"); tutorialHover.visible = true; } else { if ((((_local23 == 19)) && ((_local24 == 2)))){ tutorialHover.gotoAndStop("goal"); tutorialHover.visible = true; } else { if ((((_local23 == 15)) && ((_local24 == 2)))){ tutorialHover.gotoAndStop("mine"); tutorialHover.visible = true; } else { if ((((_local23 == 13)) && ((_local24 == 3)))){ tutorialHover.gotoAndStop("powerups"); tutorialHover.visible = true; } else { if ((((_local23 == 5)) && ((_local24 == 7)))){ tutorialHover.gotoAndStop("stations"); tutorialHover.visible = true; } else { if ((((((_local23 == 10)) && ((_local24 == 2)))) || ((((_local23 == 14)) && ((_local24 == 10)))))){ tutorialHover.gotoAndStop("enemies"); tutorialHover.visible = true; } else { tutorialHover.visible = false; }; }; }; }; }; }; }; if (mapArray[CellFromPos(hoverClip.x)][CellFromPos(hoverClip.y)].isPath){ hoverClip.visible = true; } else { hoverClip.visible = false; }; if (((isMouseDown) && (isCellSelected))){ if (((!((CellFromPos(mouseX) == CellFromPos(currentlySelectedCell.xPos)))) || (!((CellFromPos(mouseY) == CellFromPos(currentlySelectedCell.yPos)))))){ _local2 = getMouseDirection(); switch (_local2){ case UP: if ((((CellFromPos(mouseX) == currentlySelectedCell.xCell)) && ((CellFromPos(mouseY) == (currentlySelectedCell.yCell - 1))))){ _local3 = true; }; break; case RIGHT: if ((((CellFromPos(mouseX) == (currentlySelectedCell.xCell + 1))) && ((CellFromPos(mouseY) == currentlySelectedCell.yCell)))){ _local3 = true; }; break; case DOWN: if ((((CellFromPos(mouseX) == currentlySelectedCell.xCell)) && ((CellFromPos(mouseY) == (currentlySelectedCell.yCell + 1))))){ _local3 = true; }; break; case LEFT: if ((((CellFromPos(mouseX) == (currentlySelectedCell.xCell - 1))) && ((CellFromPos(mouseY) == currentlySelectedCell.yCell)))){ _local3 = true; }; break; }; if (_local3){ clearPaths(currentlySelectedCell.xCell, currentlySelectedCell.yCell); runPaths(currentlySelectedCell.xCell, currentlySelectedCell.yCell, _local2); switch (_local2){ case UP: if ((((mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell - 1)].pointDirection >= 0)) && ((mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell - 1)].pointDirection <= 4)))){ currentlySelectedCell = mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell - 1)]; }; break; case RIGHT: if ((((mapArray[(currentlySelectedCell.xCell + 1)][currentlySelectedCell.yCell].pointDirection >= 0)) && ((mapArray[(currentlySelectedCell.xCell + 1)][currentlySelectedCell.yCell].pointDirection <= 4)))){ currentlySelectedCell = mapArray[(currentlySelectedCell.xCell + 1)][currentlySelectedCell.yCell]; }; break; case DOWN: if ((((mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell + 1)].pointDirection >= 0)) && ((mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell + 1)].pointDirection <= 4)))){ currentlySelectedCell = mapArray[currentlySelectedCell.xCell][(currentlySelectedCell.yCell + 1)]; }; break; case LEFT: if ((((mapArray[(currentlySelectedCell.xCell - 1)][currentlySelectedCell.yCell].pointDirection >= 0)) && ((mapArray[(currentlySelectedCell.xCell - 1)][currentlySelectedCell.yCell].pointDirection <= 4)))){ currentlySelectedCell = mapArray[(currentlySelectedCell.xCell - 1)][currentlySelectedCell.yCell]; }; break; }; currentlySelectedCell.pathClip.gotoAndStop("selected"); }; }; }; } else { hoverClip.visible = false; if (currentLevel == 0){ if ((((((mouseX >= 315)) && ((mouseX <= 645)))) && ((((mouseY >= 390)) && ((mouseY <= 450)))))){ tutorialHover.gotoAndStop("upgrades"); tutorialHover.visible = true; } else { if ((((((mouseX >= 215)) && ((mouseX <= 315)))) && ((((mouseY >= 390)) && ((mouseY <= 450)))))){ tutorialHover.gotoAndStop("buildbutton"); tutorialHover.visible = true; } else { tutorialHover.visible = false; }; }; }; }; var _local6:int = projectileArray.length; _local7 = (_local6 - 1); while (_local7 >= 0) { projectileArray[_local7].update(); _local25 = new Smoke(projectileArray[_local7].clip.x, projectileArray[_local7].clip.y); renderer.addEmitter(_local25.smoke); smokeTrails.push(_local25); if (((projectileArray[_local7].removeClip) && (!(projectileArray[_local7].clipIsRemoved)))){ unitDisplay.removeChild(projectileArray[_local7].clip); projectileArray[_local7].clipIsRemoved = true; GameManager.playFx(SHELLLAND); _local26 = new Explosion(projectileArray[_local7].targetX, projectileArray[_local7].targetY, projectileArray[_local7].payloadSize, projectileArray[_local7].payloadType, projectileArray[_local7].damageMultiplier); renderer.addEmitter(_local26.smoke); renderer.addEmitter(_local26.fire); renderer.addEmitter(_local26.backFire); renderer.addEmitter(_local26.centerFire); explosionArray.push(_local26); projectileArray.splice(_local7, 1); }; _local7--; }; var _local8:int = explosionArray.length; _local9 = (_local8 - 1); while (_local9 >= 0) { if (explosionArray[_local9].smoke.particles.length <= 0){ renderer.removeEmitter(explosionArray[_local9].smoke); renderer.removeEmitter(explosionArray[_local9].fire); renderer.removeEmitter(explosionArray[_local9].backFire); renderer.removeEmitter(explosionArray[_local9].centerFire); explosionArray.splice(_local9, 1); }; _local9--; }; var _local10:int = unitExplosionArray.length; _local11 = (_local10 - 1); while (_local11 >= 0) { if (unitExplosionArray[_local11].smoke.particles.length <= 0){ renderer.removeEmitter(unitExplosionArray[_local11].smoke); renderer.removeEmitter(unitExplosionArray[_local11].backFire); renderer.removeEmitter(unitExplosionArray[_local11].centerFire); unitExplosionArray.splice(_local11, 1); }; _local11--; }; var _local12:int = powerUpEffects.length; _local13 = (_local12 - 1); while (_local13 >= 0) { if (powerUpEffects[_local13].centerFire.particles.length <= 0){ groundRenderer.removeEmitter(powerUpEffects[_local13].centerFire); powerUpEffects.splice(_local13, 1); }; _local13--; }; var _local14:int = goalEffects.length; _local13 = (_local14 - 1); while (_local13 >= 0) { if (goalEffects[_local13].emitter.particles.length <= 0){ renderer.removeEmitter(goalEffects[_local13].emitter); renderer.removeEmitter(goalEffects[_local13].centerFire); renderer.removeEmitter(goalEffects[_local13].implode); goalEffects.splice(_local13, 1); }; _local13--; }; var _local15:int = smokeTrails.length; _local13 = (_local15 - 1); while (_local13 >= 0) { if (smokeTrails[_local13].smoke.particles.length <= 0){ renderer.removeEmitter(smokeTrails[_local13].smoke); smokeTrails.splice(_local13, 1); }; _local13--; }; if (mainBuilderControl.buildStatus == BUILD_STARTED){ grabPath(); upgradeLevels[SPEEDCONTROL] = playerBuilderControls[SPEEDCONTROL].currentLevel; upgradeLevels[ARMORCONTROL] = playerBuilderControls[ARMORCONTROL].currentLevel; upgradeLevels[ATTACKCONTROL] = playerBuilderControls[ATTACKCONTROL].currentLevel; upgradeLevels[RATECONTROL] = playerBuilderControls[RATECONTROL].currentLevel; upgradeLevels[RANGECONTROL] = playerBuilderControls[RANGECONTROL].currentLevel; mainBuilderControl.buildStatus = BUILDING; mainBuilderControl.buildTankDisplay.costText.visible = false; }; mainBuilderControl.updateProgress(); if (mainBuilderControl.buildStatus == BUILD_COMPLETE){ newUnit(TANK_TYPE, playerBuilder.xPos, playerBuilder.yPos); mainBuilderControl.buildStatus = BUILDING; mainBuilderControl.buildTankDisplay.costText.visible = true; switch (playerBuilder.pointDirection){ case UP: playerBuilder.mapClip.gotoAndPlay("openUp"); break; case DOWN: playerBuilder.mapClip.gotoAndPlay("openDown"); break; case LEFT: playerBuilder.mapClip.gotoAndPlay("openLeft"); break; case RIGHT: playerBuilder.mapClip.gotoAndPlay("openRight"); break; }; }; unitProcessing(playerTanks); unitProcessing(enemyArray); _local16 = explosionArray.length; _local17 = 0; while (_local17 < _local16) { explosionArray[_local17].damageActive = false; _local17++; }; _local18 = playerTanks.length; _local19 = enemyArray.length; _local20 = 0; _local21 = (_local19 - 1); while (_local21 >= 0) { enemyArray[_local21].closestEnemyID = NOENEMY; _local27 = (_local19 - 1); while (_local27 >= 0) { if (_local27 != _local21){ collisionChecker(enemyArray[_local21], enemyArray[_local27]); }; _local27--; }; _local21--; }; _local22 = (_local18 - 1); while (_local22 >= 0) { if (playerTanks[_local22].isAlive){ playerTanks[_local22].closestEnemyID = NOENEMY; playerTanks[_local22].distanceToEnemy = MAXDISTANCE; _local28 = (_local19 - 1); while (_local28 >= 0) { if (enemyArray[_local28].isAlive){ if (_local22 == (_local18 - 1)){ enemyArray[_local28].closestEnemyID = NOENEMY; enemyArray[_local28].distanceToEnemy = MAXDISTANCE; }; _local20 = getDistance(enemyArray[_local28].clip.x, enemyArray[_local28].clip.y, playerTanks[_local22].clip.x, playerTanks[_local22].clip.y); if ((((enemyArray[_local28].closestEnemyID == NOENEMY)) && ((_local20 <= enemyArray[_local28].range)))){ enemyArray[_local28].closestEnemyID = playerTanks[_local22].unitID; enemyArray[_local28].closestEnemyX = playerTanks[_local22].clip.x; enemyArray[_local28].closestEnemyY = playerTanks[_local22].clip.y; enemyArray[_local28].distanceToEnemy = _local20; } else { if ((((_local20 <= enemyArray[_local28].range)) && ((_local20 < enemyArray[_local28].distanceToEnemy)))){ enemyArray[_local28].closestEnemyID = playerTanks[_local22].unitID; enemyArray[_local28].closestEnemyX = playerTanks[_local22].clip.x; enemyArray[_local28].closestEnemyY = playerTanks[_local22].clip.y; enemyArray[_local28].distanceToEnemy = _local20; }; }; if ((((playerTanks[_local22].closestEnemyID == NOENEMY)) && ((_local20 <= playerTanks[_local22].range)))){ playerTanks[_local22].closestEnemyID = enemyArray[_local28].unitID; playerTanks[_local22].closestEnemyX = enemyArray[_local28].clip.x; playerTanks[_local22].closestEnemyY = enemyArray[_local28].clip.y; playerTanks[_local22].distanceToEnemy = _local20; } else { if ((((_local20 <= playerTanks[_local22].range)) && ((_local20 < playerTanks[_local22].distanceToEnemy)))){ playerTanks[_local22].closestEnemyID = enemyArray[_local28].unitID; playerTanks[_local22].closestEnemyX = enemyArray[_local28].clip.x; playerTanks[_local22].closestEnemyY = enemyArray[_local28].clip.y; playerTanks[_local22].distanceToEnemy = _local20; }; }; if (_local20 < COLLISIONDISTANCE){ _local30 = enemyArray[_local28].maxhealth; if (playerTanks[_local22].maxhealth < _local30){ _local30 = playerTanks[_local22].maxhealth; }; damageUnit(enemyArray[_local28], _local30, false); damageUnit(playerTanks[_local22], _local30, false); }; }; _local28--; }; _local29 = (_local18 - 1); while (_local29 >= 0) { if (_local29 != _local22){ collisionChecker(playerTanks[_local29], playerTanks[_local22]); }; _local29--; }; }; _local22--; }; if (playExplodeSound){ GameManager.playFx(UNITEXPLODE); }; } private function removeUnit(_arg1:Array, _arg2:int){ _arg1[_arg2].removeActions(); unitDisplay.removeChild(_arg1[_arg2].clip); hudDisplay.removeChild(_arg1[_arg2].hud); _arg1.splice(_arg2, 1); } public function collisionChecker(_arg1:Object, _arg2:Object){ var _local3:Number; var _local4:Number; _local4 = _arg1.maxhealth; _local3 = getDistance(_arg1.clip.x, _arg1.clip.y, _arg2.clip.x, _arg2.clip.y); if (((((((((_arg1.isAlive) && (_arg2.isAlive))) && (_arg1.clearedBuilder))) && (_arg2.clearedBuilder))) && ((_local3 < COLLISIONDISTANCE)))){ if (_arg2.maxhealth < _local4){ _local4 = _arg2.maxhealth; }; damageUnit(_arg1, _local4, false); damageUnit(_arg2, _local4, false); }; } private function ssLinkClicked(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } private function grabPath(){ var _local1:Boolean; var _local2:int = playerBuilder.xCell; var _local3:int = playerBuilder.yCell; var _local4:int = mapArray[_local2][_local3].pointDirection; var _local5:int = _local4; var _local6:int; while (!(_local1)) { if ((((((((_local2 >= FIELDWIDTH)) || ((_local3 >= FIELDHEIGHT)))) || ((_local2 < 0)))) || ((_local3 < 0)))){ _local1 = true; break; } else { mapArray[_local2][_local3].assignedSpot = _local6; if (mapArray[_local2][_local3].isEndPoint){ _local1 = true; }; mainBuilderControl.pathArray.push(mapArray[_local2][_local3].pointDirection); switch (mapArray[_local2][_local3].pointDirection){ case UP: _local3--; break; case RIGHT: _local2++; break; case DOWN: _local3++; break; case LEFT: _local2--; break; }; if ((((((((_local2 < FIELDWIDTH)) && ((_local3 < FIELDHEIGHT)))) && ((_local2 >= 0)))) && ((_local3 >= 0)))){ if (((((_local1) && ((mapArray[_local2][_local3].pointDirection >= RIGHT)))) && ((mapArray[_local2][_local3].pointDirection <= UP)))){ mainBuilderControl.pathArray.push((mapArray[_local2][_local3].assignedSpot + TANKMOVEOFFSET)); }; }; _local6++; }; }; } private function activateControls(){ stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed); stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); var _local1:int; while (_local1 < 5) { playerBuilderControls[_local1].activate(); _local1++; }; mainBuilderControl.activate(); levelMenuButton.addEventListener(MouseEvent.CLICK, menuClicked); } public function activate(){ runPaths(playerBuilder.xCell, playerBuilder.yCell, RIGHT); stage.stageFocusRect = false; activateControls(); interfaceChrome.ssLink.addEventListener(MouseEvent.CLICK, ssLinkClicked); addEventListener(Event.ENTER_FRAME, stepLevel); if (currentLevel == 0){ tutorialHover = new TutorialHover(); interfaceDisplay.addChild(tutorialHover); tutorialHover.visible = false; tutorialBox = new TutorialBox(); tutorialBox.prevButton.visible = false; interfaceDisplay.addChild(tutorialBox); tutorialBox.closeButton.addEventListener(MouseEvent.CLICK, closeTutBox); tutorialBox.nextButton.addEventListener(MouseEvent.CLICK, tutNext); tutorialBox.prevButton.addEventListener(MouseEvent.CLICK, tutPrev); }; } public function removeFade(){ interfaceDisplay.removeChild(levelFade); activate(); } private function runPaths(_arg1:int, _arg2:int, _arg3:int){ var _local4:Boolean; var _local5:Boolean; while (!(_local4)) { if ((((((((((((_arg1 >= FIELDWIDTH)) || ((_arg2 >= FIELDHEIGHT)))) || ((_arg1 < 0)))) || ((_arg2 < 0)))) || (mapArray[_arg1][_arg2].isPath))) || ((mapArray[_arg1][_arg2].pointDirection > 10)))){ _local4 = true; break; } else { mapArray[_arg1][_arg2].isPath = true; mapArray[_arg1][_arg2].isEndPoint = true; pathDisplay.addChild(mapArray[_arg1][_arg2].pathClip); mapArray[_arg1][_arg2].pointDirection = _arg3; mapArray[_arg1][_arg2].pathClip.pathArrow.gotoAndStop(_arg3); switch (_arg3){ case UP: if (_local5){ mapArray[_arg1][(_arg2 + 1)].isEndPoint = false; mapArray[_arg1][(_arg2 + 1)].pathClip.gotoAndStop("path"); }; _arg2--; break; case RIGHT: if (_local5){ mapArray[(_arg1 - 1)][_arg2].isEndPoint = false; mapArray[(_arg1 - 1)][_arg2].pathClip.gotoAndStop("path"); }; _arg1++; break; case DOWN: if (_local5){ mapArray[_arg1][(_arg2 - 1)].isEndPoint = false; mapArray[_arg1][(_arg2 - 1)].pathClip.gotoAndStop("path"); }; _arg2++; break; case LEFT: if (_local5){ mapArray[(_arg1 + 1)][_arg2].isEndPoint = false; mapArray[(_arg1 + 1)][_arg2].pathClip.gotoAndStop("path"); }; _arg1--; break; }; _local5 = true; }; }; } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } private function exitClicked(_arg1:MouseEvent){ interfaceChrome.ssLink.removeEventListener(MouseEvent.CLICK, ssLinkClicked); if ((_arg1.target is ExitButton)){ removeMenuItems(); GameManager.playFx(LEVELCLICK); GameManager.exitLevel(); } else { if (!storyShown){ storyScreen.x = 70; storyScreen.y = 75; switch (currentLevel){ case 5: storyShown = true; GameManager.playFx(TRANSMISSION); hideSummary(); interfaceDisplay.addChild(storyScreen); storyScreen.tinkClip.gotoAndPlay(2); storyScreen.startText(5); storyContinueButton = new NewMissionButton(); storyContinueButton.x = 280; storyContinueButton.y = 250; interfaceDisplay.addChild(storyContinueButton); storyContinueButton.addEventListener(MouseEvent.CLICK, exitClicked); break; case 10: storyShown = true; GameManager.playFx(TRANSMISSION); hideSummary(); interfaceDisplay.addChild(storyScreen); storyScreen.tinkClip.gotoAndPlay(2); storyScreen.startText(10); storyContinueButton = new NewMissionButton(); storyContinueButton.x = 280; storyContinueButton.y = 250; interfaceDisplay.addChild(storyContinueButton); storyContinueButton.addEventListener(MouseEvent.CLICK, exitClicked); break; case 15: storyShown = true; GameManager.playFx(TRANSMISSION); hideSummary(); interfaceDisplay.addChild(storyScreen); storyScreen.tinkClip.gotoAndPlay(2); storyScreen.startText(15); storyContinueButton = new NewMissionButton(); storyContinueButton.x = 280; storyContinueButton.y = 250; interfaceDisplay.addChild(storyContinueButton); storyContinueButton.addEventListener(MouseEvent.CLICK, exitClicked); break; case 20: if (warningScreen.x != 28){ hideSummary(); GameManager.playFx(TRANSMISSION); warningScreen.x = 28; warningScreen.y = 40; interfaceDisplay.addChild(warningScreen); storyContinueButton = new NewMissionButton(); storyContinueButton.x = 280; storyContinueButton.y = 270; interfaceDisplay.addChild(storyContinueButton); storyContinueButton.addEventListener(MouseEvent.CLICK, exitClicked); } else { GameManager.currentState = STORYSTATE; GameManager.startMusic(); storyShown = true; storyContinueButton.x = 280; storyContinueButton.y = 250; interfaceDisplay.removeChild(warningScreen); interfaceDisplay.addChild(storyScreen); storyScreen.tinkClip.gotoAndPlay(21); storyScreen.startText(20); }; break; default: hideSummary(); GameManager.stopFx(); GameManager.exitLevel(); break; }; } else { storyContinueButton.removeEventListener(MouseEvent.CLICK, exitClicked); GameManager.exitLevel(); }; }; } private function mouseReleased(_arg1:MouseEvent){ if (isCellSelected){ currentlySelectedCell.pathClip.gotoAndStop("path"); }; isCellSelected = false; isMouseDown = false; } private function getMouseDirection():int{ if (CellFromPos(mouseX) < currentlySelectedCell.xCell){ return (LEFT); }; if (CellFromPos(mouseX) > currentlySelectedCell.xCell){ return (RIGHT); }; if (CellFromPos(mouseY) > currentlySelectedCell.yCell){ return (DOWN); }; if (CellFromPos(mouseY) < currentlySelectedCell.yCell){ return (UP); }; return (RIGHT); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function removeMenuItems(){ GameManager.musicButton.clip.removeEventListener(MouseEvent.CLICK, musicClicked); GameManager.fxButton.clip.removeEventListener(MouseEvent.CLICK, fxClicked); resetLevelButton.removeEventListener(MouseEvent.CLICK, restartClicked); resumeGameButton.removeEventListener(MouseEvent.CLICK, resumeClicked); playMoreGamesButton.removeEventListener(MouseEvent.CLICK, ssLinkClicked); exitButton.removeEventListener(MouseEvent.CLICK, exitClicked); GameManager.musicButton.deactivate(); GameManager.fxButton.deactivate(); interfaceDisplay.removeChild(GameManager.musicButton.clip); interfaceDisplay.removeChild(GameManager.fxButton.clip); interfaceDisplay.removeChild(resetLevelButton); interfaceDisplay.removeChild(exitButton); interfaceDisplay.removeChild(playMoreGamesButton); interfaceDisplay.removeChild(resumeGameButton); } private function damageUnit(_arg1:Object, _arg2:Number, _arg3:Boolean){ _arg1.clip.gotoAndPlay("hit"); _arg1.health = (_arg1.health - _arg2); if ((((_arg1.health <= 0)) || ((_arg1.typeOfUnit == MISSLE_TYPE)))){ killUnit(_arg1, BLOWUP, _arg3); }; } private function menuClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); pauseLevel(); levelFade.alpha = 0; interfaceDisplay.addChild(levelFade); Tweener.addTween(levelFade, {alpha:1, transition:"linear", time:1, onComplete:showMenu}); } private function updateWater(){ var _local4:int; var _local5:SandCorner; var _local6:SandCorner; var _local7:SandCorner; var _local8:int; var _local1:Boolean; var _local2:int; while (_local2 < 22) { _local4 = 0; while (_local4 < 12) { if ((((((((_local2 >= 1)) && ((_local4 >= 1)))) && ((_local2 < 21)))) && ((_local4 < 11)))){ if (((((((isWater(levelLayoutArray[(_local2 + 1)][_local4])) && (isWater(levelLayoutArray[(_local2 + 1)][(_local4 + 1)])))) && (isWater(levelLayoutArray[_local2][(_local4 + 1)])))) && (!(isWater(levelLayoutArray[_local2][_local4]))))){ _local5 = new SandCorner(); _local5.x = ((_local2 * CELLSIZE) + 40); _local5.y = ((_local4 * CELLSIZE) + 40); sandDisplay.addChild(_local5); sandArray.push(_local5); }; if (((((((isWater(levelLayoutArray[(_local2 - 1)][_local4])) && (isWater(levelLayoutArray[(_local2 - 1)][(_local4 + 1)])))) && (isWater(levelLayoutArray[_local2][(_local4 + 1)])))) && (!(isWater(levelLayoutArray[_local2][_local4]))))){ _local6 = new SandCorner(); _local6.x = ((_local2 * CELLSIZE) + 7); _local6.y = ((_local4 * CELLSIZE) + 40); sandDisplay.addChild(_local6); sandArray.push(_local6); }; if (((((((isWater(levelLayoutArray[_local2][(_local4 - 1)])) && (isWater(levelLayoutArray[(_local2 + 1)][(_local4 - 1)])))) && (isWater(levelLayoutArray[(_local2 + 1)][_local4])))) && (!(isWater(levelLayoutArray[_local2][_local4]))))){ _local7 = new SandCorner(); _local7.x = ((_local2 * CELLSIZE) + 42); _local7.y = ((_local4 * CELLSIZE) + 6); sandDisplay.addChild(_local7); sandArray.push(_local7); }; }; if (isWater(levelLayoutArray[_local2][_local4])){ if (mapArray[_local2][_local4].mapClip.currentLabel == "XOOO"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "OXOO"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "OOXO"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "OOOX"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "XXOO"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "OXXO"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "OOXX"){ _local1 = true; }; if (mapArray[_local2][_local4].mapClip.currentLabel == "XOOX"){ _local1 = true; }; if (_local1){ mapDisplay.setChildIndex(mapArray[_local2][_local4].mapClip, 0); }; _local1 = false; } else { if (_local2 > 0){ if (_local4 > 0){ if (((((isWater(levelLayoutArray[(_local2 - 1)][(_local4 - 1)])) && (isWater(levelLayoutArray[_local2][(_local4 - 1)])))) && (isWater(levelLayoutArray[(_local2 - 1)][_local4])))){ mapDisplay.setChildIndex(mapArray[(_local2 - 1)][(_local4 - 1)].mapClip, 0); }; }; if (_local4 < 11){ if (((((isWater(levelLayoutArray[(_local2 - 1)][(_local4 + 1)])) && (isWater(levelLayoutArray[_local2][(_local4 + 1)])))) && (isWater(levelLayoutArray[(_local2 - 1)][_local4])))){ mapDisplay.setChildIndex(mapArray[(_local2 - 1)][(_local4 + 1)].mapClip, 0); }; }; }; if (_local2 < 21){ if (_local4 > 0){ if (((((isWater(levelLayoutArray[(_local2 + 1)][(_local4 - 1)])) && (isWater(levelLayoutArray[(_local2 + 1)][_local4])))) && (isWater(levelLayoutArray[_local2][(_local4 - 1)])))){ mapDisplay.setChildIndex(mapArray[(_local2 + 1)][(_local4 - 1)].mapClip, 0); }; }; if (_local4 < 11){ if (((((isWater(levelLayoutArray[(_local2 + 1)][(_local4 + 1)])) && (isWater(levelLayoutArray[_local2][(_local4 + 1)])))) && (isWater(levelLayoutArray[(_local2 + 1)][_local4])))){ mapDisplay.setChildIndex(mapArray[(_local2 + 1)][(_local4 + 1)].mapClip, 0); }; }; }; }; _local4++; }; _local2++; }; var _local3:int; while (_local3 < 22) { _local8 = 0; while (_local8 < 12) { if (isWater(levelLayoutArray[_local3][_local8])){ if (mapArray[_local3][_local8].mapClip.currentLabel == "XOXO"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "OXOX"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "XXXO"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "XOXX"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "XXOX"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "OXXX"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if (mapArray[_local3][_local8].mapClip.currentLabel == "XXXX"){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, (mapDisplay.numChildren - 1)); }; if ((((((((((mapArray[_local3][_local8].mapClip.currentLabel == "OOOO1")) || ((mapArray[_local3][_local8].mapClip.currentLabel == "OOOO2")))) || ((mapArray[_local3][_local8].mapClip.currentLabel == "OOOO3")))) || ((mapArray[_local3][_local8].mapClip.currentLabel == "OOOO4")))) || ((mapArray[_local3][_local8].mapClip.currentLabel == "OOOO5")))){ mapDisplay.setChildIndex(mapArray[_local3][_local8].mapClip, 0); }; }; _local8++; }; _local3++; }; } private function hideMenu(){ interfaceDisplay.removeChild(levelFade); resumeLevel(); } private function showSummary(){ levelSummary = new LevelSummary(); isPaused = true; removeEventListener(Event.ENTER_FRAME, stepLevel); if (levelType == 4){ levelSummary.ratingWidget.activate(); } else { levelSummary.ratingWidget.visible = false; }; if (levelWon){ GameManager.playFx(WONLEVEL); levelSummary.summaryTitle.text = "Mission Complete"; levelSummary.levelBonusText.text = ("Mission Bonus: " + String(levelBonus)); score = (score + levelBonus); levelSummary.timeBonusText.text = (((("Mission Time: " + String(time)) + "\n") + "Bonus: ") + String(Math.round((10000 / time)))); score = (score + Math.round((10000 / time))); levelSummary.enemyBonusText.text = (((("Enemies Destroyed: " + String(enemiesDestroyed)) + "\n") + "Bonus: ") + (enemiesDestroyed * 25)); score = (score + (enemiesDestroyed * 25)); levelSummary.tankBonusText.text = (((("Tanks Remaining: " + String(mainBuilderControl.tanksAvailable)) + "\n") + "Bonus: ") + (mainBuilderControl.tanksAvailable * 50)); score = (score + (mainBuilderControl.tanksAvailable * 50)); levelSummary.cashBonusText.text = (((("Cash Remaining: $" + String(mainBuilderControl.cashAvailable)) + "\n") + "Bonus: ") + mainBuilderControl.cashAvailable); score = (score + mainBuilderControl.cashAvailable); levelSummary.missionScore.text = ("Mission Score: " + String(score)); if (levelType != 4){ levelSummary.prevBest.text = ("Previous Best: " + String(previousBestScore)); } else { levelSummary.prevBest.text = ""; }; } else { GameManager.playFx(LOSTLEVEL); levelSummary.summaryTitle.text = "Mission Failed"; levelSummary.summaryTitle.y = 140; levelSummary.summaryTitle.textColor = 0xFF0000; levelSummary.levelBonusText.text = ""; levelSummary.timeBonusText.text = ""; levelSummary.enemyBonusText.text = ""; levelSummary.tankBonusText.text = ""; levelSummary.cashBonusText.text = ""; levelSummary.missionScore.text = ""; levelSummary.prevBest.text = ""; }; levelSummary.tryAgainButton.addEventListener(MouseEvent.CLICK, restartClicked); levelSummary.newMissionButton.addEventListener(MouseEvent.CLICK, exitClicked); levelSummary.x = 170; levelSummary.y = 20; interfaceDisplay.addChild(levelSummary); } private function showMenu(){ GameManager.musicButton.clip = new MusicButton(); GameManager.musicButton.clip.x = 240; GameManager.musicButton.clip.y = 85; interfaceDisplay.addChild(GameManager.musicButton.clip); GameManager.fxButton.clip = new FxButton(); GameManager.fxButton.clip.x = 240; GameManager.fxButton.clip.y = 115; interfaceDisplay.addChild(GameManager.fxButton.clip); resetLevelButton.x = 240; resetLevelButton.y = 145; interfaceDisplay.addChild(resetLevelButton); exitButton.x = 240; exitButton.y = 175; interfaceDisplay.addChild(exitButton); playMoreGamesButton.x = 240; playMoreGamesButton.y = 205; interfaceDisplay.addChild(playMoreGamesButton); resumeGameButton.x = 263; resumeGameButton.y = 0xFF; interfaceDisplay.addChild(resumeGameButton); GameManager.musicButton.activate(); GameManager.fxButton.activate(); GameManager.musicButton.clip.addEventListener(MouseEvent.CLICK, musicClicked); GameManager.fxButton.clip.addEventListener(MouseEvent.CLICK, fxClicked); resumeGameButton.addEventListener(MouseEvent.CLICK, resumeClicked); resetLevelButton.addEventListener(MouseEvent.CLICK, restartClicked); playMoreGamesButton.addEventListener(MouseEvent.CLICK, ssLinkClicked); exitButton.addEventListener(MouseEvent.CLICK, exitClicked); } private function killUnit(_arg1:Object, _arg2:int, _arg3:Boolean){ var _local4:UnitExplosion; switch (_arg2){ case BLOWUP: playExplodeSound = true; _arg1.clip.gotoAndStop("removeMe"); _local4 = new UnitExplosion(_arg1.clip.x, _arg1.clip.y); renderer.addEmitter(_local4.smoke); renderer.addEmitter(_local4.centerFire); renderer.addEmitter(_local4.backFire); unitExplosionArray.push(_local4); if (((!((_arg1.typeOfUnit == TANK_TYPE))) && (_arg3))){ enemiesDestroyed++; }; break; case SINK: GameManager.playFx(SINKSOUND); _arg1.clip.gotoAndPlay("sink"); _arg1.clip.tankTurret.visible = false; break; }; if (!_arg1.doesMove){ mapArray[CellFromPos(_arg1.clip.x)][CellFromPos(_arg1.clip.y)].contents = NODIRECTION; mapArray[CellFromPos(_arg1.clip.x)][CellFromPos(_arg1.clip.y)].pointDirection = NODIRECTION; }; _arg1.deathActions(); } private function isWater(_arg1:int):Boolean{ if ((((_arg1 >= 70)) && ((_arg1 <= 90)))){ return (true); }; return (false); } private function musicClicked(_arg1:MouseEvent){ GameManager.musicToggle(_arg1); GameManager.playFx(LEVELCLICK); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } private function clearPaths(_arg1:int, _arg2:int){ var _local3:Boolean; var _local4:int = mapArray[_arg1][_arg2].pointDirection; var _local5:int = _local4; while (!(_local3)) { if ((((((((_arg1 >= FIELDWIDTH)) || ((_arg2 >= FIELDHEIGHT)))) || ((_arg1 < 0)))) || ((_arg2 < 0)))){ _local3 = true; break; } else { if (mapArray[_arg1][_arg2].isEndPoint){ _local3 = true; }; _local5 = mapArray[_arg1][_arg2].pointDirection; mapArray[_arg1][_arg2].isPath = false; mapArray[_arg1][_arg2].pathClip.gotoAndStop("path"); pathDisplay.removeChild(mapArray[_arg1][_arg2].pathClip); mapArray[_arg1][_arg2].pointDirection = NODIRECTION; switch (_local5){ case UP: _arg2--; break; case RIGHT: _arg1++; break; case DOWN: _arg2++; break; case LEFT: _arg1--; break; }; }; }; } private function crateRemoval(_arg1:int, _arg2:int){ mapDisplay.removeChild(mapArray[_arg1][_arg2].mapClip); mapArray[_arg1][_arg2].mapClip = null; mapArray[_arg1][_arg2].contents = NODIRECTION; } private function transferPath(_arg1:Object){ var _local2:int = mainBuilderControl.pathArray.length; var _local3:int; while (_local3 < _local2) { _arg1.pathArray.push(mainBuilderControl.pathArray[_local3]); _local3++; }; mainBuilderControl.pathArray.splice(0, _local2); } private function closeTutBox(_arg1:MouseEvent){ tutorialBox.closeButton.removeEventListener(MouseEvent.CLICK, closeTutBox); tutorialBox.nextButton.removeEventListener(MouseEvent.CLICK, tutNext); tutorialBox.prevButton.removeEventListener(MouseEvent.CLICK, tutPrev); interfaceDisplay.removeChild(tutorialBox); } private function tutPrev(_arg1:MouseEvent){ if (tutorialBox.currentFrame > 1){ if (tutorialBox.currentFrame == 2){ tutorialBox.prevButton.visible = false; }; tutorialBox.prevFrame(); } else { tutorialBox.prevButton.visible = false; }; tutorialBox.nextButton.visible = true; } private function fxClicked(_arg1:MouseEvent){ GameManager.fxToggle(_arg1); GameManager.playFx(LEVELCLICK); } public function pauseLevel(){ if (!isPaused){ isPaused = true; deactivateControls(); removeEventListener(Event.ENTER_FRAME, stepLevel); }; } private function restartClicked(_arg1:MouseEvent){ if ((_arg1.target is ResetLevelButton)){ removeMenuItems(); GameManager.playFx(LEVELCLICK); } else { hideSummary(); GameManager.stopFx(); }; GameManager.restartLevel(); } private function resumeClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); removeMenuItems(); Tweener.addTween(levelFade, {alpha:0, transition:"linear", time:1, onComplete:hideMenu}); } private function newUnit(_arg1:int, _arg2:int, _arg3:int){ var _local4:Object; switch (_arg1){ case TANK_TYPE: GameManager.playFx(BUILDTANK); _local4 = new AutoTank(_arg2, _arg3, upgradeLevels[SPEEDCONTROL], upgradeLevels[ARMORCONTROL], upgradeLevels[ATTACKCONTROL], upgradeLevels[RATECONTROL], upgradeLevels[RANGECONTROL], unitID); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); transferPath(_local4); _local4.setInitialDirection(); playerTanks.push(_local4); break; case SENTRY_EASY: _local4 = new Sentry(unitID, 1, _arg2, _arg3); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case SENTRY_MEDIUM: _local4 = new Sentry(unitID, 2, _arg2, _arg3); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case SENTRY_HARD: _local4 = new Sentry(unitID, 3, _arg2, _arg3); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case KAMIKAZE_DOWN: _local4 = new KamikazeBuilder(unitID, _arg2, _arg3, DOWN); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case KAMIKAZE_RIGHT: _local4 = new KamikazeBuilder(unitID, _arg2, _arg3, RIGHT); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case KAMIKAZE_LEFT: _local4 = new KamikazeBuilder(unitID, _arg2, _arg3, LEFT); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case KAMIKAZE_UP: _local4 = new KamikazeBuilder(unitID, _arg2, _arg3, UP); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case PATROLLER_UP: _local4 = new Patroller(unitID, _arg2, _arg3, UP); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case PATROLLER_RIGHT: _local4 = new Patroller(unitID, _arg2, _arg3, RIGHT); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case PATROLLER_DOWN: _local4 = new Patroller(unitID, _arg2, _arg3, DOWN); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case PATROLLER_LEFT: _local4 = new Patroller(unitID, _arg2, _arg3, LEFT); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case HOMINGMISSLEBUILDER: _local4 = new HomingMissleBuilder(unitID, _arg2, _arg3); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_RIGHT_RIGHT: _local4 = new Turner(unitID, _arg2, _arg3, RIGHT, true); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_DOWN_RIGHT: _local4 = new Turner(unitID, _arg2, _arg3, DOWN, true); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_LEFT_RIGHT: _local4 = new Turner(unitID, _arg2, _arg3, LEFT, true); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_UP_RIGHT: _local4 = new Turner(unitID, _arg2, _arg3, UP, true); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_RIGHT_LEFT: _local4 = new Turner(unitID, _arg2, _arg3, RIGHT, false); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_DOWN_LEFT: _local4 = new Turner(unitID, _arg2, _arg3, DOWN, false); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_LEFT_LEFT: _local4 = new Turner(unitID, _arg2, _arg3, LEFT, false); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; case TURNER_UP_LEFT: _local4 = new Turner(unitID, _arg2, _arg3, UP, false); unitDisplay.addChildAt(_local4.clip, 0); hudDisplay.addChildAt(_local4.hud, HUDDEPTH); enemyArray.push(_local4); break; }; unitID++; } public function fadeInLevel(){ Tweener.addTween(levelFade, {alpha:0, transition:"linear", time:2, onComplete:removeFade}); } private function deactivateControls(){ stage.removeEventListener(MouseEvent.MOUSE_DOWN, mousePressed); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseReleased); var _local1:int; while (_local1 < 5) { playerBuilderControls[_local1].deactivate(); _local1++; }; mainBuilderControl.deactivate(); levelMenuButton.removeEventListener(MouseEvent.CLICK, menuClicked); } public function resumeLevel(){ if (isPaused){ isPaused = false; activateControls(); addEventListener(Event.ENTER_FRAME, stepLevel); }; } private function openFire(_arg1:Object, _arg2:Object){ var _local3:Projectile; _arg1.targetEnemy(_arg1.clip, _arg2); if (_arg1.readyToFire){ GameManager.playFx(SHELLFIRE); _arg2.gotoAndPlay("firing"); _local3 = new Projectile(_arg1.closestEnemyX, _arg1.closestEnemyY, _arg1.clip.x, _arg1.clip.y, _arg1.payloadType, _arg1.payloadSize, _arg1.damageMultiplier); unitDisplay.addChild(_local3.clip); projectileArray.push(_local3); _arg1.readyToFire = false; _arg1.currentRecovery = 0; }; _arg1.closestEnemyID = NOENEMY; _arg1.distanceToEnemy = 100000; } private function tutNext(_arg1:MouseEvent){ if (tutorialBox.currentFrame < 5){ if (tutorialBox.currentFrame == 4){ tutorialBox.nextButton.visible = false; }; tutorialBox.nextFrame(); } else { tutorialBox.nextButton.visible = false; }; tutorialBox.prevButton.visible = true; } private function mousePressed(_arg1:MouseEvent){ if ((((((mouseX >= 10)) && ((mouseX <= 670)))) && ((((mouseY >= 10)) && ((mouseY <= 370)))))){ if (mapArray[CellFromPos(mouseX)][CellFromPos(mouseY)].isPath){ currentlySelectedCell = mapArray[CellFromPos(mouseX)][CellFromPos(mouseY)]; mapArray[CellFromPos(mouseX)][CellFromPos(mouseY)].pathClip.gotoAndStop("selected"); isCellSelected = true; }; isMouseDown = true; }; } private function unitProcessing(_arg1:Array){ var _local10:Smoke; var _local11:PowerUpEffect; var _local12:GoalEffect; var _local13:int; var _local14:Number; var _local15:Number; var _local16:int; var _local2:int; var _local3:int; var _local4:int = _arg1.length; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:int = (_local4 - 1); while (_local9 >= 0) { _local6 = false; _local2 = CellFromPos(_arg1[_local9].clip.x); _local3 = CellFromPos(_arg1[_local9].clip.y); if (_arg1[_local9].isAlive){ _arg1[_local9].updateUnit(); if ((((_arg1[_local9].healthPercent < 50)) && (_arg1[_local9].showSmoke))){ _local10 = new Smoke(_arg1[_local9].clip.x, _arg1[_local9].clip.y); renderer.addEmitter(_local10.smoke); smokeTrails.push(_local10); }; if (getDistance(_arg1[_local9].clip.x, _arg1[_local9].clip.y, mouseX, mouseY) < SHOW_HUD_DISTANCE){ _arg1[_local9].turnOnHUD(); } else { _arg1[_local9].turnOffHUD(); }; if (_arg1[_local9].doesFire){ if (_arg1[_local9].hasTurret){ openFire(_arg1[_local9], _arg1[_local9].clip.tankTurret); } else { openFire(_arg1[_local9], _arg1[_local9].clip); }; }; if (_arg1[_local9].doesBuild){ _arg1[_local9].buildUpdate(); if (_arg1[_local9].buildStatus == BUILD_COMPLETE){ _local7 = true; _arg1[_local9].tempUnit.unitID = unitID; unitID++; unitDisplay.addChildAt(_arg1[_local9].tempUnit.clip, 0); hudDisplay.addChildAt(_arg1[_local9].tempUnit.hud, HUDDEPTH); if (_arg1[_local9].hasTurret){ _arg1[_local9].clip.tankTurret.gotoAndPlay("firing"); _arg1[_local9].tempUnit.closestEnemyID = _arg1[_local9].closestEnemyID; _arg1[_local9].tempUnit.closestEnemyX = _arg1[_local9].closestEnemyX; _arg1[_local9].tempUnit.closestEnemyY = _arg1[_local9].closestEnemyY; } else { _arg1[_local9].clip.gotoAndPlay("firing"); }; _arg1.push(_arg1[_local9].tempUnit); _arg1[_local9].buildStatus = BUILDING; }; }; if (_arg1[_local9].doesMove){ if ((((_arg1[_local9].clip.x == mapArray[_local2][_local3].xPos)) && ((_arg1[_local9].clip.y == mapArray[_local2][_local3].yPos)))){ _local5 = true; if (_arg1[_local9].typeOfUnit > PREDICTIVE_TYPE_BARRIER){ _arg1[_local9].updateDestination(); _arg1[_local9].checkForObstacles(mapArray[_arg1[_local9].destinationX][_arg1[_local9].destinationY].contents); }; } else { _local5 = false; }; if ((((((((_arg1[_local9].clip.x < 20)) || ((_arg1[_local9].clip.y < 20)))) || ((_arg1[_local9].clip.y > 360)))) || ((_arg1[_local9].clip.x > 660)))){ killUnit(_arg1[_local9], BLOWUP, false); _local6 = true; }; switch (mapArray[_local2][_local3].contents){ case GOAL: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if (_local5){ GameManager.playFx(REACHEDGOAL); _arg1[_local9].deathActions(); removeUnit(_arg1, _local9); _local6 = true; tanksSaved++; _local12 = new GoalEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos); renderer.addEmitter(_local12.emitter); renderer.addEmitter(_local12.centerFire); renderer.addEmitter(_local12.implode); goalEffects.push(_local12); }; } else { if (_arg1[_local9].typeOfUnit != MISSLE_TYPE){ killUnit(_arg1[_local9], BLOWUP, false); _local6 = true; }; }; break; case MINE: killUnit(_arg1[_local9], BLOWUP, false); mapDisplay.removeChild(mapArray[_local2][_local3].mapClip); mapArray[_local2][_local3].mapClip = null; mapArray[_local2][_local3].contents = NODIRECTION; _local6 = true; break; case CRATE_HEALTH: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ GameManager.playFx(CRATECOLLECTED); crateRemoval(_local2, _local3); if (_arg1[_local9].health < _arg1[_local9].maxhealth){ _arg1[_local9].health = _arg1[_local9].maxhealth; }; _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, CRATE_HEALTH); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; break; case CRATE_MONEY: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ GameManager.playFx(CRATECOLLECTED); crateRemoval(_local2, _local3); mainBuilderControl.cashAvailable = (mainBuilderControl.cashAvailable + CRATEMONEYADDED); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, CRATE_MONEY); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; break; case CRATE_SIDESWITCHER: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ GameManager.playFx(CRATECOLLECTED); crateRemoval(_local2, _local3); _arg1[_local9].payloadType = SIDESWITCHER; _arg1[_local9].addPerk(CRATE_SIDESWITCHER); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, CRATE_SIDESWITCHER); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; break; case CRATE_TANK: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ GameManager.playFx(CRATECOLLECTED); crateRemoval(_local2, _local3); mainBuilderControl.tanksAvailable = (mainBuilderControl.tanksAvailable + TANKSADDED); createTanksCrates--; _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, CRATE_TANK); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; break; case STATION_SPEED: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if ((((_arg1[_local9].statLevels[SPEEDCONTROL] < 3)) && (_arg1[_local9].onNewCell))){ GameManager.playFx(STATIONREACHED); _arg1[_local9].setStatLevel(SPEEDCONTROL, (_arg1[_local9].statLevels[SPEEDCONTROL] + 1)); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, mapArray[_local2][_local3].contents); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; }; break; case STATION_ARMOR: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if ((((_arg1[_local9].statLevels[ARMORCONTROL] < 3)) && (_arg1[_local9].onNewCell))){ GameManager.playFx(STATIONREACHED); _arg1[_local9].setStatLevel(ARMORCONTROL, (_arg1[_local9].statLevels[ARMORCONTROL] + 1)); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, mapArray[_local2][_local3].contents); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; }; break; case STATION_ATTACK: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if ((((_arg1[_local9].statLevels[ATTACKCONTROL] < 3)) && (_arg1[_local9].onNewCell))){ GameManager.playFx(STATIONREACHED); _arg1[_local9].setStatLevel(ATTACKCONTROL, (_arg1[_local9].statLevels[ATTACKCONTROL] + 1)); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, mapArray[_local2][_local3].contents); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; }; break; case STATION_RATE: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if ((((_arg1[_local9].statLevels[RATECONTROL] < 3)) && (_arg1[_local9].onNewCell))){ GameManager.playFx(STATIONREACHED); _arg1[_local9].setStatLevel(RATECONTROL, (_arg1[_local9].statLevels[RATECONTROL] + 1)); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, mapArray[_local2][_local3].contents); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; }; break; case STATION_RANGE: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ if ((((_arg1[_local9].statLevels[RANGECONTROL] < 3)) && (_arg1[_local9].onNewCell))){ GameManager.playFx(STATIONREACHED); _arg1[_local9].setStatLevel(RANGECONTROL, (_arg1[_local9].statLevels[RANGECONTROL] + 1)); _local11 = new PowerUpEffect(mapArray[_local2][_local3].xPos, mapArray[_local2][_local3].yPos, mapArray[_local2][_local3].contents); groundRenderer.addEmitter(_local11.centerFire); powerUpEffects.push(_local11); }; }; break; case NODIRECTION: break; case UP: break; case DOWN: break; case LEFT: break; case RIGHT: break; case WATER_TYPE: if (_arg1[_local9].typeOfUnit != MISSLE_TYPE){ if (_arg1[_local9].typeOfUnit == TANK_TYPE){ killUnit(_arg1[_local9], SINK, false); } else { killUnit(_arg1[_local9], BLOWUP, false); }; _local6 = true; }; break; default: if (_arg1[_local9].clearedBuilder){ killUnit(_arg1[_local9], BLOWUP, false); _local6 = true; }; break; }; if (!_local6){ _arg1[_local9].moveMe(); }; }; if (!_local6){ _local13 = explosionArray.length; _local14 = 0; _local15 = 0; _local16 = 0; while (_local16 < _local13) { if (explosionArray[_local16].damageActive){ _local14 = getDistance(_arg1[_local9].clip.x, _arg1[_local9].clip.y, explosionArray[_local16].xPos, explosionArray[_local16].yPos); _local15 = (((explosionArray[_local16].payloadSize - _local14) * explosionArray[_local16].damageMultiplier) + DAMAGEMINIMUM); if (_local15 > 0){ switch (explosionArray[_local16].payloadType){ case SHELL: damageUnit(_arg1[_local9], _local15, true); break; case SIDESWITCHER: if (_arg1[_local9].typeOfUnit == TANK_TYPE){ enemyArray.push(_arg1[_local9]); _arg1.splice(_local9, 1); } else { playerTanks.push(_arg1[_local9]); _arg1.splice(_local9, 1); }; break; }; }; }; _local16++; }; }; } else { if (_arg1[_local9].clip.currentLabel == "removeMe"){ removeUnit(_arg1, _local9); }; }; _local9--; }; if (_local7){ GameManager.playFx(MISSLELAUNCH); }; } } }//package
Section 137
//LevelSelect (LevelSelect) package { import flash.events.*; import flash.display.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class LevelSelect extends Sprite { const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const WATER_TOP:int = 76; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const NOENEMY:int = -50; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const WATER_TOPRIGHTLEFT:int = 86; const BUILDTIME:int = 80; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const CREATESTATE:int = 3; const MOVEMENT_GOAL:int = 10; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const MAXDISTANCE:int = 10000; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const STORYTHEME:int = 4; const RIGHT:int = 1; public var levelNameText:TextField; public var statusText:TextField; public var backToTitleButton:BackTitleButton; public var bestScoreText:TextField; private var levelMarkers:Array; public var createdByButton:CreatedByButton; public var levelLayout:Array; public function LevelSelect(){ var _local2:int; var _local3:LayoutGrid; levelMarkers = new Array(); levelLayout = new Array(); super(); populateMarkers(); var _local1:int; while (_local1 < FIELDWIDTH) { levelLayout[_local1] = new Array(); _local2 = 0; while (_local2 < FIELDHEIGHT) { _local3 = new LayoutGrid(); _local3.gotoAndStop("unknown"); _local3.x = ((_local1 * 20) + 175); _local3.y = ((_local2 * 20) + 153); addChild(_local3); levelLayout[_local1].push(_local3); _local2++; }; _local1++; }; } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function deactivate(){ var _local1:int = levelMarkers.length; var _local2:int; while (_local2 < _local1) { levelMarkers[_local2].deactivate(); _local2++; }; createdByButton.removeEventListener(MouseEvent.CLICK, createdByClicked); backToTitleButton.removeEventListener(MouseEvent.CLICK, backTitleClicked); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function activate(){ var _local1:int = levelMarkers.length; var _local2:int; while (_local2 < _local1) { levelMarkers[_local2].activate(); _local2++; }; createdByButton.addEventListener(MouseEvent.CLICK, createdByClicked); backToTitleButton.addEventListener(MouseEvent.CLICK, backTitleClicked); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function populateMarkers(){ var _local1:LevelMarker; var _local2:int; while (_local2 < 21) { _local1 = new LevelMarker(_local2); _local1.x = 25; _local1.y = ((_local2 * 14) + 146); addChild(_local1); if (GameManager.levelInfo[_local2].beaten){ _local1.makeBeaten(); }; if (GameManager.levelInfo[_local2].isAvailable){ _local1.makeAvailable(); }; levelMarkers.push(_local1); _local2++; }; } private function backTitleClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.backToTitle(); } private function startGame(_arg1:MouseEvent){ deactivate(); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function createdByClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } } }//package
Section 138
//LevelShareManager (LevelShareManager) package { import flash.events.*; import org.sepy.io.*; import flash.net.*; public final class LevelShareManager { public static var userLevels:Array = new Array(); public static var addSuccessful:Boolean = false; public static var loadComplete:Boolean = false; public static function addLevel(_arg1:String, _arg2:String):void{ var _local3:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/addautotankslevel.php"); var _local4:URLVariables = new URLVariables(); var _local5:URLLoader = new URLLoader(); loadComplete = false; _local4.levelname = _arg1; _local4.leveldata = _arg2; _local4.username = AccountManager.username; _local3.data = _local4; _local3.method = URLRequestMethod.POST; _local5.addEventListener(Event.COMPLETE, addLevelComplete); _local5.load(_local3); } private static function retrieveLevelsComplete(_arg1:Event):void{ var _local12:int; var _local13:int; var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); var _local4:Array = new Array(); var _local5:Array = new Array(); var _local6:Array = new Array(); var _local7:Array = new Array(); var _local8:Array = new Array(); var _local9:Array = new Array(); var _local10:Array = new Array(); var _local11:Array = new Array(); userLevels = null; userLevels = new Array(); if (_local3.retrieveSuccessful == "true"){ _local4 = Serializer.unserialize(_local3.returnedLevelIds); _local5 = Serializer.unserialize(_local3.returnedLevelNames); _local6 = Serializer.unserialize(_local3.returnedLevelDatas); _local7 = Serializer.unserialize(_local3.returnedLevelAuthors); _local8 = Serializer.unserialize(_local3.returnedLevelRatings); _local9 = Serializer.unserialize(_local3.returnedLevelPlays); _local10 = Serializer.unserialize(_local3.returnedLevelCreateDates); _local11 = Serializer.unserialize(_local3.returnedLevelWins); _local12 = _local6.length; _local13 = 0; while (_local13 < _local12) { userLevels[_local13] = {id:_local4[_local13], levelName:_local5[_local13], levelData:_local6[_local13], author:_local7[_local13], plays:_local9[_local13], rating:_local8[_local13], wins:_local11[_local13], created:_local10[_local13]}; _local13++; }; }; loadComplete = true; } public static function retrieveLevels(_arg1:String, _arg2:int):void{ var _local3:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/getautotankslevels.php"); var _local4:URLVariables = new URLVariables(); var _local5:URLLoader = new URLLoader(); loadComplete = false; _local4.sorttype = _arg1; _local4.startrow = _arg2; _local3.data = _local4; _local3.method = URLRequestMethod.POST; _local5.addEventListener(Event.COMPLETE, retrieveLevelsComplete); _local5.load(_local3); } private static function submitRatingComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); if (_local3.submitSuccessful == "true"){ }; loadComplete = true; } public static function submitRating(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ var _local5:URLRequest = new URLRequest("http://www.sinistersea.com/cgi-bin/submitautotankslevelrating.php"); var _local6:URLVariables = new URLVariables(); var _local7:URLLoader = new URLLoader(); loadComplete = false; _local6.id = _arg1; _local6.ratingstotal = _arg2; _local6.rating = (_arg2 / _arg3); _local6.plays = _arg3; _local6.wins = _arg4; _local5.data = _local6; _local5.method = URLRequestMethod.POST; _local7.addEventListener(Event.COMPLETE, submitRatingComplete); _local7.load(_local5); } private static function addLevelComplete(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); var _local3:URLVariables = new URLVariables(_local2.data); var _local4:Boolean; loadComplete = true; if (_local3.addSuccessful == "true"){ addSuccessful = true; } else { addSuccessful = false; }; } } }//package
Section 139
//LevelSummary (LevelSummary) package { import flash.display.*; import flash.text.*; public dynamic class LevelSummary extends Sprite { public var cashBonusText:TextField; public var ratingWidget:RatingWidget; public var newMissionButton:NewMissionButton; public var missionScore:TextField; public var tankBonusText:TextField; public var levelBonusText:TextField; public var enemyBonusText:TextField; public var prevBest:TextField; public var tryAgainButton:TryAgainButton; public var summaryTitle:TextField; public var timeBonusText:TextField; } }//package
Section 140
//LifebarClip (LifebarClip) package { import flash.display.*; public dynamic class LifebarClip extends MovieClip { } }//package
Section 141
//ListenButton (ListenButton) package { import flash.display.*; public dynamic class ListenButton extends SimpleButton { } }//package
Section 142
//LoadErrorFX (LoadErrorFX) package { import flash.media.*; public dynamic class LoadErrorFX extends Sound { } }//package
Section 143
//LostLevelFX (LostLevelFX) package { import flash.media.*; public dynamic class LostLevelFX extends Sound { } }//package
Section 144
//MainBuilderControl (MainBuilderControl) package { import flash.events.*; import flash.display.*; public class MainBuilderControl extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TURNER_DOWN_LEFT:int = 55; const WATER_TYPE:int = 90; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const FOUR_MEGATON:int = 40; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const RANGECONTROL:int = 4; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const TITLE_STARTGAME:int = 1; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const RIGHT:int = 1; const STORYTHEME:int = 4; const WATER_TOP:int = 76; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var buildStatus:int;// = 14 public var tanksAvailable:int;// = 0 public var busyTime:int;// = 90 public var isActive:Boolean;// = false public var cashAvailable:int;// = 0 public var isMouseOver:Boolean;// = false public var pathArray:Array; public var buildTankDisplay:BuildTankDisplay; public var tanksAlotted:int;// = 0 public var buildTankButton:MovieClip; public var isBusy:Boolean;// = false public var busyProgress:int;// = 0 public var tankCost:int;// = 0 public function MainBuilderControl(_arg1:int, _arg2){ buildTankButton = new BuildTankButton(); buildTankDisplay = new BuildTankDisplay(); pathArray = new Array(); super(); buildTankButton.buttonMode = true; buildTankButton.useHandCursor = true; cashAvailable = _arg1; tanksAlotted = _arg2; tanksAvailable = tanksAlotted; buildTankDisplay.costText.text = ("$" + String(tankCost)); buildTankDisplay.cashText.text = ("$" + String(cashAvailable)); buildTankDisplay.tanksAvailText.text = String(tanksAvailable); buildTankDisplay.mouseEnabled = false; buildTankDisplay.buttonMode = true; buildTankDisplay.useHandCursor = true; buildTankDisplay.mouseChildren = false; buildTankDisplay.x = 70; buildTankDisplay.y = -57; buildTankButton.x = 70; buildTankButton.y = -37; addChild(buildTankButton); addChild(buildTankDisplay); } private function mouseClickBuild(_arg1:MouseEvent){ if ((((tankCost <= cashAvailable)) && ((tanksAvailable > 0)))){ GameManager.playFx(LEVELCLICK); getReadyForBusy(); busyTime = BUILDTIME; buildStatus = BUILD_STARTED; cashAvailable = (cashAvailable - tankCost); tanksAvailable--; }; } public function deactivate(){ buildTankButton.removeEventListener(MouseEvent.CLICK, mouseClickBuild); buildTankButton.removeEventListener(MouseEvent.ROLL_OVER, mouseOverBuild); buildTankButton.removeEventListener(MouseEvent.ROLL_OUT, mouseOutBuild); } public function activate(){ buildTankButton.addEventListener(MouseEvent.CLICK, mouseClickBuild); buildTankButton.addEventListener(MouseEvent.ROLL_OVER, mouseOverBuild); buildTankButton.addEventListener(MouseEvent.ROLL_OUT, mouseOutBuild); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function enable(){ if (isMouseOver){ buildTankButton.gotoAndStop("over"); } else { buildTankButton.gotoAndStop("up"); }; buildTankButton.buttonMode = true; buildTankDisplay.costText.visible = true; isActive = true; } private function getReadyForBusy(){ deactivate(); buildTankButton.gotoAndStop("building"); isBusy = true; } public function updateProgress(){ buildTankDisplay.costText.text = ("$" + String(tankCost)); buildTankDisplay.cashText.text = ("$" + String(cashAvailable)); buildTankDisplay.tanksAvailText.text = String(tanksAvailable); if (isBusy){ if (busyProgress >= busyTime){ buildStatus = BUILD_COMPLETE; busyProgress = 0; isBusy = false; buildTankButton.gotoAndStop("up"); activate(); } else { busyProgress++; buildTankButton.gotoAndStop((int(((busyProgress / busyTime) * 100)) + 10)); }; } else { if ((((tankCost > cashAvailable)) || ((tanksAvailable <= 0)))){ if (isActive){ disable(); }; } else { if (!isActive){ enable(); }; }; }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function mouseOverBuild(_arg1:MouseEvent){ if (isActive){ buildTankButton.gotoAndStop("over"); }; isMouseOver = true; } public function disable(){ buildTankButton.gotoAndStop("disabled"); buildTankButton.buttonMode = false; isActive = false; } public function mouseOutBuild(_arg1:MouseEvent){ if (isActive){ buildTankButton.gotoAndStop("up"); }; isMouseOver = false; } } }//package
Section 145
//MapCell (MapCell) package { import flash.display.*; public class MapCell { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var isPath:Boolean;// = false public var isEndPoint:Boolean;// = false public var mapClip:MovieClip; public var pathClip:PathClip; public var contents:int;// = 0 public var xPos:int;// = 0 public var yCell:int;// = 0 public var pointDirection:int;// = 0 public var yPos:int;// = 0 public var xCell:int;// = 0 public var assignedSpot:int;// = 0 public function MapCell(_arg1:int, _arg2:int, _arg3:Boolean){ xPos = _arg1; yPos = _arg2; xCell = CellFromPos(_arg1); yCell = CellFromPos(_arg2); isPath = _arg3; pathClip = new PathClip(); pathClip.x = (_arg1 - HALFCELL); pathClip.y = (_arg2 - HALFCELL); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function setMapItem(_arg1:int){ switch (_arg1){ case GOAL: mapClip = new TankGoal(); pointDirection = _arg1; break; case BUILDER: mapClip = new PlayerBuilder(); pointDirection = _arg1; break; case MINE: mapClip = new MineClip(); break; case CRATE_HEALTH: mapClip = new Crate_Health(); break; case CRATE_MONEY: mapClip = new Crate_Money(); break; case CRATE_SIDESWITCHER: mapClip = new Crate_Sideswitcher(); break; case CRATE_TANK: mapClip = new Crate_Tank(); break; case STATION_SPEED: mapClip = new Station_Speed(); break; case STATION_ARMOR: mapClip = new Station_Armor(); break; case STATION_ATTACK: mapClip = new Station_Attack(); break; case STATION_RATE: mapClip = new Station_Rate(); break; case STATION_RANGE: mapClip = new Station_Range(); break; case WATER_NONE1: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOO1"); break; case WATER_NONE2: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOO2"); break; case WATER_NONE3: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOO3"); break; case WATER_NONE4: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOO4"); break; case WATER_NONE5: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOO5"); break; case WATER_ALL: mapClip = new WaterClip(); mapClip.gotoAndStop("XXXX"); break; case WATER_TOP: mapClip = new WaterClip(); mapClip.gotoAndStop("XOOO"); break; case WATER_RIGHT: mapClip = new WaterClip(); mapClip.gotoAndStop("OXOO"); break; case WATER_BOTTOM: mapClip = new WaterClip(); mapClip.gotoAndStop("OOXO"); break; case WATER_LEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("OOOX"); break; case WATER_TOPRIGHT: mapClip = new WaterClip(); mapClip.gotoAndStop("XXOO"); break; case WATER_TOPBOTTOM: mapClip = new WaterClip(); mapClip.gotoAndStop("XOXO"); break; case WATER_TOPLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("XOOX"); break; case WATER_RIGHTLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("OXOX"); break; case WATER_TOPRIGHTBOTTOM: mapClip = new WaterClip(); mapClip.gotoAndStop("XXXO"); break; case WATER_TOPBOTTOMLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("XOXX"); break; case WATER_TOPRIGHTLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("XXOX"); break; case WATER_RIGHTBOTTOMLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("OXXX"); break; case WATER_RIGHTBOTTOM: mapClip = new WaterClip(); mapClip.gotoAndStop("OXXO"); break; case WATER_BOTTOMLEFT: mapClip = new WaterClip(); mapClip.gotoAndStop("OOXX"); break; case TREE1: mapClip = new Tree1Clip(); pointDirection = _arg1; break; case TREE2: mapClip = new Tree2Clip(); pointDirection = _arg1; break; }; mapClip.x = xPos; mapClip.y = yPos; } } }//package
Section 146
//MenuButton (MenuButton) package { import flash.display.*; public dynamic class MenuButton extends SimpleButton { } }//package
Section 147
//MenuClickFX (MenuClickFX) package { import flash.media.*; public dynamic class MenuClickFX extends Sound { } }//package
Section 148
//MineClip (MineClip) package { import flash.display.*; public dynamic class MineClip extends MovieClip { } }//package
Section 149
//MissleLaunchFX (MissleLaunchFX) package { import flash.media.*; public dynamic class MissleLaunchFX extends Sound { } }//package
Section 150
//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 151
//MusicButton (MusicButton) package { import flash.display.*; public dynamic class MusicButton extends MovieClip { public function MusicButton(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 152
//MusicDownloadProgress (MusicDownloadProgress) package { import flash.display.*; import flash.text.*; public dynamic class MusicDownloadProgress extends MovieClip { public var progressText:TextField; public var startDownloadButton:StartDownloadButton; } }//package
Section 153
//MusicDownloadScreen (MusicDownloadScreen) package { import flash.events.*; import flash.display.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class MusicDownloadScreen extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const SENTRY_EASY:int = 25; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const TURNER_DOWN_LEFT:int = 55; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TANK_TYPE:int = 100; const BUILDER_TYPE:int = 103; const WATER_TYPE:int = 90; const RANGECONTROL:int = 4; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const FOUR_MEGATON:int = 40; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const TITLE_STARTGAME:int = 1; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const WATER_TOP:int = 76; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const HOMINGMISSLEBUILDER:int = 45; const RIGHT:int = 1; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const WATER_ALL:int = 75; const STORYTHEME:int = 4; const STATION_ARMOR:int = 20; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const WATER_TOPRIGHTBOTTOM:int = 84; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var statusText:TextField; public var introListenButton:ListenButton; public var levelStopButton:StopMusicButton; public var backToTitleButton:BackTitleButton; public var editorDownloadButton:DownloadButton; public var winDownloadButton:DownloadButton; public var bestScoreText:TextField; public var introStopButton:StopMusicButton; public var levelListenButton:ListenButton; private var downloadTrack:int;// = 0 public var winListenButton:ListenButton; public var editorListenButton:ListenButton; public var levelNameText:TextField; private var savedState:int;// = 0 public var creatorButton:CreatedByButton; public var levelDownloadButton:DownloadButton; public var winStopButton:StopMusicButton; public var musicDownloadProgress:MusicDownloadProgress; public var editorStopButton:StopMusicButton; public var introDownloadButton:DownloadButton; public function MusicDownloadScreen(){ musicDownloadProgress.visible = false; introStopButton.visible = false; levelStopButton.visible = false; editorStopButton.visible = false; winStopButton.visible = false; } private function closeProgress():void{ GameManager.musicDownload.removeEventListener(Event.CANCEL, cancelHandler); GameManager.musicDownload.removeEventListener(Event.COMPLETE, completeHandler); GameManager.musicDownload.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); GameManager.musicDownload.removeEventListener(Event.OPEN, openHandler); GameManager.musicDownload.removeEventListener(ProgressEvent.PROGRESS, progressHandler); GameManager.musicDownload.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); GameManager.musicDownload.removeEventListener(Event.SELECT, selectHandler); musicDownloadProgress.visible = false; musicDownloadProgress.progressText.text = ""; musicDownloadProgress.startDownloadButton.visible = false; } private function listenClicked(){ GameManager.switchMusic(); } public function deactivate(){ GameManager.stopMusic(); GameManager.currentState = savedState; introStopButton.removeEventListener(MouseEvent.CLICK, stopClicked); levelStopButton.removeEventListener(MouseEvent.CLICK, stopClicked); editorStopButton.removeEventListener(MouseEvent.CLICK, stopClicked); winStopButton.removeEventListener(MouseEvent.CLICK, stopClicked); introListenButton.removeEventListener(MouseEvent.CLICK, introListenClicked); levelListenButton.removeEventListener(MouseEvent.CLICK, levelListenClicked); editorListenButton.removeEventListener(MouseEvent.CLICK, editorListenClicked); winListenButton.removeEventListener(MouseEvent.CLICK, winListenClicked); backToTitleButton.removeEventListener(MouseEvent.CLICK, backTitleClicked); introDownloadButton.removeEventListener(MouseEvent.CLICK, introDownloadClicked); levelDownloadButton.removeEventListener(MouseEvent.CLICK, levelDownloadClicked); editorDownloadButton.removeEventListener(MouseEvent.CLICK, editorDownloadClicked); winDownloadButton.removeEventListener(MouseEvent.CLICK, winDownloadClicked); } private function progressHandler(_arg1:ProgressEvent):void{ musicDownloadProgress.progressText.text = (("Downloading MP3..." + String(int(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100)))) + "%"); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ closeProgress(); } public function activate(){ savedState = GameManager.currentState; introListenButton.addEventListener(MouseEvent.CLICK, introListenClicked); levelListenButton.addEventListener(MouseEvent.CLICK, levelListenClicked); editorListenButton.addEventListener(MouseEvent.CLICK, editorListenClicked); winListenButton.addEventListener(MouseEvent.CLICK, winListenClicked); introStopButton.addEventListener(MouseEvent.CLICK, stopClicked); levelStopButton.addEventListener(MouseEvent.CLICK, stopClicked); editorStopButton.addEventListener(MouseEvent.CLICK, stopClicked); winStopButton.addEventListener(MouseEvent.CLICK, stopClicked); backToTitleButton.addEventListener(MouseEvent.CLICK, backTitleClicked); introDownloadButton.addEventListener(MouseEvent.CLICK, introDownloadClicked); levelDownloadButton.addEventListener(MouseEvent.CLICK, levelDownloadClicked); editorDownloadButton.addEventListener(MouseEvent.CLICK, editorDownloadClicked); winDownloadButton.addEventListener(MouseEvent.CLICK, winDownloadClicked); GameManager.stopMusic(); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } private function backTitleClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.backFromMusic(); } private function editorDownloadClicked(_arg1:MouseEvent){ downloadClicked(EDITORTHEME); } private function introListenClicked(_arg1:MouseEvent){ GameManager.currentState = TITLESTATE; hideStopsShowListens(); introStopButton.visible = true; introListenButton.visible = false; listenClicked(); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function openHandler(_arg1:Event):void{ } private function downloadCancelled(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, goAheadWithDownload); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, downloadCancelled); } private function stopClicked(_arg1:MouseEvent){ GameManager.stopMusic(); hideStopsShowListens(); } private function hideStopsShowListens(){ introStopButton.visible = false; levelStopButton.visible = false; editorStopButton.visible = false; winStopButton.visible = false; introListenButton.visible = true; levelListenButton.visible = true; editorListenButton.visible = true; winListenButton.visible = true; } private function winListenClicked(_arg1:MouseEvent){ GameManager.currentState = STORYSTATE; hideStopsShowListens(); winStopButton.visible = true; winListenButton.visible = false; listenClicked(); } private function initiateDownload(_arg1:int):void{ var _local2:URLRequest; var _local3 = ""; GameManager.musicDownload = new FileReference(); musicDownloadProgress.visible = true; musicDownloadProgress.progressText.text = "Downloading MP3...0%"; musicDownloadProgress.startDownloadButton.visible = false; switch (_arg1){ case TITLETHEME: _local2 = new URLRequest("1.mdf"); _local3 = "introtheme.mp3"; break; case LEVELTHEME: _local2 = new URLRequest("2.mdf"); _local3 = "treadsoffury.mp3"; break; case EDITORTHEME: _local2 = new URLRequest("3.mdf"); _local3 = "robobraxe.mp3"; break; case STORYTHEME: _local2 = new URLRequest("4.mdf"); _local3 = "wintheme.mp3"; break; }; configureFileListeners(); GameManager.musicDownload.download(_local2, _local3); } private function levelDownloadClicked(_arg1:MouseEvent){ downloadClicked(LEVELTHEME); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } private function introDownloadClicked(_arg1:MouseEvent){ downloadClicked(TITLETHEME); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } private function downloadClicked(_arg1:int):void{ var _local2:URLRequest; downloadTrack = _arg1; if (GameManager.onSinisterSea){ if (PaymentManager.purchaseItems[_arg1].purchased){ initiateDownload(_arg1); } else { GameManager.paymentBox = null; GameManager.paymentBox = new PaymentBox(); GameManager.paymentBox.activate(_arg1, this); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, goAheadWithDownload); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_FAILED, downloadCancelled); }; } else { GameManager.playFx(MENUCLICK); _local2 = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); }; } private function selectHandler(_arg1:Event):void{ } private function configureFileListeners():void{ GameManager.musicDownload.addEventListener(Event.CANCEL, cancelHandler); GameManager.musicDownload.addEventListener(Event.COMPLETE, completeHandler); GameManager.musicDownload.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); GameManager.musicDownload.addEventListener(Event.OPEN, openHandler); GameManager.musicDownload.addEventListener(ProgressEvent.PROGRESS, progressHandler); GameManager.musicDownload.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); GameManager.musicDownload.addEventListener(Event.SELECT, selectHandler); } private function startDownload(_arg1:MouseEvent){ musicDownloadProgress.startDownloadButton.removeEventListener(MouseEvent.CLICK, startDownload); initiateDownload(downloadTrack); } private function winDownloadClicked(_arg1:MouseEvent){ downloadClicked(STORYTHEME); } private function levelListenClicked(_arg1:MouseEvent){ GameManager.currentState = LEVELSTATE; hideStopsShowListens(); levelStopButton.visible = true; levelListenButton.visible = false; listenClicked(); } private function cancelHandler(_arg1:Event):void{ closeProgress(); } private function securityErrorHandler(_arg1:SecurityErrorEvent):void{ closeProgress(); } private function goAheadWithDownload(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, goAheadWithDownload); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, downloadCancelled); musicDownloadProgress.progressText.text = ""; musicDownloadProgress.visible = true; musicDownloadProgress.startDownloadButton.visible = true; musicDownloadProgress.startDownloadButton.addEventListener(MouseEvent.CLICK, startDownload); } private function completeHandler(_arg1:Event):void{ closeProgress(); } private function editorListenClicked(_arg1:MouseEvent){ GameManager.currentState = CREATESTATE; hideStopsShowListens(); editorStopButton.visible = true; editorListenButton.visible = false; listenClicked(); } } }//package
Section 154
//NewMissionButton (NewMissionButton) package { import flash.display.*; public dynamic class NewMissionButton extends SimpleButton { } }//package
Section 155
//NextButton (NextButton) package { import flash.display.*; import flash.text.*; public dynamic class NextButton extends SimpleButton { public var nextText:TextField; } }//package
Section 156
//OkButton (OkButton) package { import flash.display.*; public dynamic class OkButton extends SimpleButton { } }//package
Section 157
//PathClip (PathClip) package { import flash.display.*; public dynamic class PathClip extends MovieClip { public var pathArrow:DirectionArrow; public function PathClip(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 158
//Patroller (Patroller) package { public class Patroller extends Unit { public var directionDelay:int;// = 0 public var currentDirection:int;// = 1 public var destinationSet:Boolean;// = false public var delayOver:Boolean;// = true public function Patroller(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ clip = new PatrollerClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = PATROLLER_TYPE; maxhealth = 100; health = maxhealth; currentSpeed = 1; rotateSpeed = 1; turretRotationSpeed = 2; range = 90; shotRecovery = 150; currentRecovery = 0; payloadSize = TWO_MEGATON; damageMultiplier = DAMAGE_2; doesMove = true; doesFire = true; hasTurret = true; clearedBuilder = true; currentDirection = _arg4; switch (_arg4){ case UP: clip.rotation = 0; currentDirection = UP; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case RIGHT: clip.rotation = 90; currentDirection = RIGHT; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case DOWN: clip.rotation = 180; currentDirection = DOWN; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case LEFT: clip.rotation = -90; currentDirection = LEFT; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; }; } public function checkForObstacles(_arg1:int){ if (_arg1 > UP){ switch (currentDirection){ case UP: destinationY++; break; case RIGHT: destinationX--; break; case DOWN: destinationY--; break; case LEFT: destinationX++; break; }; changeDirection(); }; } public function updateDestination(){ if (((!(destinationSet)) && (delayOver))){ if (currentDirection == LEFT){ destinationX--; destinationSet = true; if (destinationX < 0){ destinationX++; changeDirection(); }; } else { if (currentDirection == RIGHT){ destinationX++; destinationSet = true; if (destinationX >= FIELDWIDTH){ destinationX--; changeDirection(); }; } else { if (currentDirection == UP){ destinationY--; destinationSet = true; if (destinationY < 0){ destinationY++; changeDirection(); }; } else { if (currentDirection == DOWN){ destinationY++; destinationSet = true; if (destinationY >= FIELDHEIGHT){ destinationY--; changeDirection(); }; }; }; }; }; }; if (!delayOver){ if (clip.currentLabel != "hit"){ clip.stop(); }; directionDelay++; if (directionDelay >= PATROLLERDELAY){ directionDelay = 0; delayOver = true; clip.play(); }; }; } public function moveMe(){ if (delayOver){ switch (currentDirection){ case UP: if (clip.y <= (PosFromCell(destinationY) + currentSpeed)){ clip.y = PosFromCell(destinationY); } else { clip.y = (clip.y - currentSpeed); }; break; case RIGHT: if (clip.x >= (PosFromCell(destinationX) - currentSpeed)){ clip.x = PosFromCell(destinationX); } else { clip.x = (clip.x + currentSpeed); }; break; case DOWN: if (clip.y >= (PosFromCell(destinationY) - currentSpeed)){ clip.y = PosFromCell(destinationY); } else { clip.y = (clip.y + currentSpeed); }; break; case LEFT: if (clip.x <= (PosFromCell(destinationX) + currentSpeed)){ clip.x = PosFromCell(destinationX); } else { clip.x = (clip.x - currentSpeed); }; break; }; }; destinationSet = false; } public function changeDirection(){ if (currentDirection == RIGHT){ currentDirection = LEFT; } else { if (currentDirection == DOWN){ currentDirection = UP; } else { if (currentDirection == LEFT){ currentDirection = RIGHT; } else { if (currentDirection == UP){ currentDirection = DOWN; }; }; }; }; destinationSet = false; delayOver = false; } } }//package
Section 159
//PatrollerClip (PatrollerClip) package { import flash.display.*; public dynamic class PatrollerClip extends MovieClip { public var tankTurret:PatrollerTurret; public function PatrollerClip(){ addFrameScript(40, frame41, 67, frame68, 80, frame81); } function frame81(){ gotoAndPlay("normal"); } function frame41(){ gotoAndPlay("normal"); } function frame68(){ stop(); } } }//package
Section 160
//PatrollerTurret (PatrollerTurret) package { import flash.display.*; public dynamic class PatrollerTurret extends MovieClip { public function PatrollerTurret(){ addFrameScript(0, frame1, 3, frame4, 9, frame10); } function frame10(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame4(){ gotoAndStop("normal"); } } }//package
Section 161
//PaymentBox (PaymentBox) package { import flash.events.*; import flash.display.*; import flash.utils.*; import fl.transitions.easing.*; import fl.transitions.*; import flash.text.*; import flash.net.*; import flash.ui.*; public class PaymentBox extends MovieClip { private var forgotCleared:Boolean;// = false private var gameMask:Sprite; public var buyClamsContents:BuyClamsContents; public var buyClamsCompletingCancelButton:PaymentBox_CancelBuyButton; private var paymentSuccess:Boolean;// = false private var submittedForgotEmail:String;// = "" public var paymentContents:PaymentBox_PaymentContents; private var currentScreen:String;// = "" public var closeButton:PaymentBox_CloseButton; private var delayTimer:Timer; private var connectionActive:Boolean;// = false public var forgotOkContents:PaymentBox_FogotOkContents; public var loginContents:PaymentBox_LoginContents; private var host; public var forgotInfoContents:PaymentBox_ForgotContents; private var connectionListener:LocalConnection; private var submittedPassword:String; private var purchaseItem:int;// = 0 private var usernameTextRemoved:Boolean;// = false private var currentClams:int;// = 0 private var passwordTextRemoved:Boolean;// = false private var paymentListener:LocalConnection; public var registerContents:PaymentBox_RegisterControls; private var paymentTimer:Timer; private var submittedUsername:String; private var purchasedClams:int;// = 0 public function PaymentBox(){ connectionListener = new LocalConnection(); paymentListener = new LocalConnection(); delayTimer = new Timer(500, 2); paymentTimer = new Timer(2000, 1); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8); } private function registeredOk(){ delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, loginComplete); delayTimer.start(); AccountManager.initiateGettingPurchases(); } private function clamPurchaseTimerCompleteFired(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, clamPurchaseTimerCompleteFired); setupPayment(); } else { delayTimer.reset(); delayTimer.start(); }; } private function checkIfClamsAdded(_arg1:TimerEvent){ if (AccountManager.loadComplete){ if (AccountManager.pointsAvailable > currentClams){ closeClamCompletion(); setupPayment(); } else { paymentTimer.reset(); paymentTimer.start(); AccountManager.updatePoints(); }; } else { paymentTimer.reset(); paymentTimer.start(); }; } private function registerClicked(_arg1:MouseEvent){ removeLoginListeners(); setupRegistration(); } private function updatePoints(){ delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, clamPurchaseTimerCompleteFired); delayTimer.start(); AccountManager.updatePoints(); } private function closeClicked(_arg1:MouseEvent){ closePaymentBox(); } private function checkForgotEmail(){ if (forgotInfoContents.forgotEmailInput.text != ""){ forgotInfoContents.forgotError.text = ""; forgotInfoContents.forgotEmailInput.removeEventListener(MouseEvent.CLICK, forgotClicked); stage.removeEventListener(KeyboardEvent.KEY_DOWN, forgotKeyDown); currentScreen = ""; submittedForgotEmail = forgotInfoContents.forgotEmailInput.text; forgotInfoContents.forgotError.text = ""; gotoAndStop("loading"); forgotInfoContents.visible = false; delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, forgotTimerCompleteFired); delayTimer.start(); AccountManager.forgotCheck(submittedForgotEmail); } else { forgotInfoContents.forgotError.text = "Email address required"; }; } private function checkInputs():Boolean{ var _local1:Boolean; registerContents.registrationError.text = ""; if (registerContents.password1Input.length < 6){ registerContents.registrationError.text = "Password too short"; _local1 = true; } else { if (registerContents.password1Input.text != registerContents.password2Input.text){ registerContents.registrationError.text = "Passwords don't match"; _local1 = true; }; }; if (registerContents.usernameInput.text == ""){ _local1 = true; registerContents.registrationError.text = "Username required"; }; if (registerContents.emailInput.length <= 3){ _local1 = true; registerContents.registrationError.text = "Email address required"; }; if (_local1){ return (false); }; return (true); } private function closeScreenListeners():void{ switch (currentScreen){ case "login": stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); break; case "forgot": stage.removeEventListener(KeyboardEvent.KEY_DOWN, forgotKeyDown); break; case "forgotOk": stage.removeEventListener(KeyboardEvent.KEY_DOWN, okKeyDown); break; case "register": stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressedRegister); break; }; } private function okButtonClicked(_arg1:MouseEvent){ okContinue(); } public function paymentCaught():void{ closeClamCompletion(); updatePoints(); } private function submitEmailClicked(_arg1:MouseEvent){ checkForgotEmail(); } private function okKeyDown(_arg1:KeyboardEvent){ if (_arg1.keyCode == Keyboard.ENTER){ okContinue(); }; } private function buy250Clicked(_arg1:MouseEvent):void{ boughtClams(5); } private function closeClamCompletion():void{ paymentTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, checkIfClamsAdded); paymentTimer.stop(); paymentTimer.reset(); buyClamsCompletingCancelButton.removeEventListener(MouseEvent.CLICK, cancelClamsCompleting); paymentListener.close(); } private function showForgotSent(){ gotoAndStop("forgotOk"); currentScreen = "forgotOk"; hideContents(); forgotOkContents.visible = true; forgotOkContents.okButton.addEventListener(MouseEvent.CLICK, okButtonClicked); stage.addEventListener(KeyboardEvent.KEY_DOWN, okKeyDown); } private function loginTimerCompleteFired(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, loginTimerCompleteFired); checkLoginStatus(); } else { delayTimer.reset(); delayTimer.start(); }; } private function cancelClamsCompleting(_arg1:MouseEvent):void{ closeClamCompletion(); setupBuyClams(); } public function loggedIn(){ if (PaymentManager.purchaseItems[purchaseItem].purchased){ paymentSuccess = true; closePaymentBox(); }; setupPayment(); } private function closePayments(){ paymentContents.visible = false; paymentContents.buyButton.removeEventListener(MouseEvent.CLICK, boughtItem); paymentContents.cancelBuyButton.removeEventListener(MouseEvent.CLICK, cancelItem); paymentContents.buyPointsButton.removeEventListener(MouseEvent.CLICK, buyMorePoints); paymentContents.notEnoughErrorButton.removeEventListener(MouseEvent.CLICK, buyMorePoints); } private function cancelClicked(_arg1:MouseEvent){ forgotInfoContents.forgotEmailInput.removeEventListener(MouseEvent.CLICK, forgotClicked); stage.removeEventListener(KeyboardEvent.KEY_DOWN, forgotKeyDown); currentScreen = ""; forgotInfoContents.submitEmailButton.removeEventListener(MouseEvent.CLICK, submitEmailClicked); forgotInfoContents.cancelButton.removeEventListener(MouseEvent.CLICK, cancelClicked); setupLogin(); } private function completingClamPurchase():void{ gotoAndStop("buyClamsCompleting"); hideContents(); buyClamsCompletingCancelButton.visible = true; buyClamsCompletingCancelButton.addEventListener(MouseEvent.CLICK, cancelClamsCompleting); paymentListener.connect("_paymentListener"); paymentListener.client = this; paymentTimer.reset(); paymentTimer.addEventListener(TimerEvent.TIMER_COMPLETE, checkIfClamsAdded); paymentTimer.start(); AccountManager.updatePoints(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame1(){ stop(); } function frame5(){ stop(); } function frame8(){ stop(); } private function forgotTimerCompleteFired(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, forgotTimerCompleteFired); forgotCheck(); } else { delayTimer.reset(); delayTimer.start(); }; } private function setupBuyClams(){ gotoAndStop("buyClams"); hideContents(); buyClamsContents.visible = true; buyClamsContents.buyClamsUsername.text = AccountManager.username; buyClamsContents.buyClamsAvailable.text = (String(AccountManager.pointsAvailable) + " clams"); buyClamsContents.buy250Button.addEventListener(MouseEvent.CLICK, buy250Clicked); buyClamsContents.buy500Button.addEventListener(MouseEvent.CLICK, buy500Clicked); buyClamsContents.buy1000Button.addEventListener(MouseEvent.CLICK, buy1000Clicked); buyClamsContents.cancelClamBuyButton.addEventListener(MouseEvent.CLICK, cancelBuyClicked); } private function forgotInfoClicked(_arg1:MouseEvent){ removeLoginListeners(); initiateForgotInfo(); } private function buy500Clicked(_arg1:MouseEvent):void{ boughtClams(9); } private function removeLoginListeners(){ loginContents.usernameInput.removeEventListener(MouseEvent.CLICK, mouseClicked); loginContents.passwordInput.removeEventListener(MouseEvent.CLICK, mouseClicked); loginContents.loginButton.removeEventListener(MouseEvent.CLICK, loginClicked); loginContents.forgotInfoButton.removeEventListener(MouseEvent.CLICK, forgotInfoClicked); loginContents.registerButton.removeEventListener(MouseEvent.CLICK, registerClicked); stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); currentScreen = ""; } private function timerCompleteNowSubmitUser(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteNowSubmitUser); checkRegistrationSuccess(); } else { delayTimer.reset(); delayTimer.start(); }; } private function hideContents(){ loginContents.visible = false; forgotInfoContents.visible = false; forgotOkContents.visible = false; registerContents.visible = false; paymentContents.visible = false; buyClamsContents.visible = false; buyClamsCompletingCancelButton.visible = false; } private function loginClicked(_arg1:MouseEvent){ attemptLogin(); } private function keyPressedRegister(_arg1:KeyboardEvent){ if (_arg1.keyCode == Keyboard.ENTER){ startRegistering(); }; } private function buy1000Clicked(_arg1:MouseEvent):void{ boughtClams(16); } private function forgotClicked(_arg1:MouseEvent){ if ((((stage.focus == forgotInfoContents.forgotEmailInput)) && (!(forgotCleared)))){ forgotInfoContents.forgotEmailInput.text = ""; forgotInfoContents.forgotEmailInput.textColor = 0; forgotInfoContents.forgotCleared = true; }; } private function closeClamPurchase():void{ buyClamsContents.buy250Button.removeEventListener(MouseEvent.CLICK, buy250Clicked); buyClamsContents.buy500Button.removeEventListener(MouseEvent.CLICK, buy500Clicked); buyClamsContents.buy1000Button.removeEventListener(MouseEvent.CLICK, buy1000Clicked); buyClamsContents.cancelClamBuyButton.removeEventListener(MouseEvent.CLICK, cancelBuyClicked); } private function checkLoginStatus():void{ var _local1:LocalConnection; if (AccountManager.loginSuccessful){ connectionListener.close(); connectionActive = false; _local1 = new LocalConnection(); _local1.addEventListener(StatusEvent.STATUS, sendStatus); _local1.send("_siteLoginListener", "otherActivatesLogin"); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, loginComplete); delayTimer.start(); AccountManager.initiateGettingPurchases(); } else { loginContents.loginError.text = "Login info didn't work"; setupLogin(); }; } private function sendStatus(_arg1:StatusEvent){ } private function attemptLogin(){ removeLoginListeners(); submittedUsername = loginContents.usernameInput.text; submittedPassword = loginContents.passwordInput.text; loginContents.visible = false; gotoAndStop("loading"); loginContents.loginError.text = ""; delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, loginTimerCompleteFired); delayTimer.start(); AccountManager.authenticateUser(submittedUsername, submittedPassword); } private function startRegistering(){ if (checkInputs()){ registerContents.submitButton.removeEventListener(MouseEvent.CLICK, submitClicked); registerContents.termButton.removeEventListener(MouseEvent.CLICK, termsClicked); stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressedRegister); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteNowSubmitUser); gotoAndStop("loading"); registerContents.visible = false; delayTimer.start(); AccountManager.registerUser(registerContents.emailInput.text, registerContents.usernameInput.text, registerContents.password1Input.text); }; } private function boughtItem(_arg1:MouseEvent){ if (AccountManager.pointsAvailable >= PaymentManager.purchaseItems[purchaseItem].cost){ closePayments(); AccountManager.submitPurchase(purchaseItem); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, boughtTimerDone); delayTimer.start(); gotoAndStop("loading"); } else { paymentContents.notEnoughErrorButton.visible = true; paymentContents.buyButton.visible = false; paymentContents.cancelBuyButton.visible = false; }; } private function initiate(){ var _local1:Number = host.stage.stageWidth; var _local2:Number = host.stage.stageHeight; var _local3:Number = 2500; var _local4:Number = 2500; gameMask = new MovieClip(); host.addChild(gameMask); host.setChildIndex(this, (host.numChildren - 1)); gameMask.graphics.beginFill(0); gameMask.graphics.drawRect(-(_local3), -(_local4), (2 * _local3), (2 * _local4)); gameMask.graphics.endFill(); new Tween(gameMask, "alpha", Strong.easeOut, 0, 0.5, 0.3, true); setupLogin(); } private function boughtClams(_arg1:int):void{ currentClams = AccountManager.pointsAvailable; var _local2 = "https://www.paypal.com/cgi-bin/webscr"; var _local3:URLRequest = new URLRequest(_local2); var _local4:URLVariables = new URLVariables(); switch (_arg1){ case 5: _local4.cmd = "_xclick"; _local4.business = "sales@sinistersea.com"; _local4.item_name = "250 clams"; _local4.item_number = "250"; _local4.amount = "5.00"; _local4.no_shipping = "1"; _local4.no_note = "1"; _local4.currency_code = "USD"; _local4.custom = AccountManager.id; _local3.data = _local4; _local3.method = URLRequestMethod.POST; break; case 9: _local4.cmd = "_xclick"; _local4.business = "sales@sinistersea.com"; _local4.item_name = "500 clams"; _local4.item_number = "500"; _local4.amount = "9.00"; _local4.no_shipping = "1"; _local4.no_note = "1"; _local4.currency_code = "USD"; _local4.custom = AccountManager.id; _local3.data = _local4; _local3.method = URLRequestMethod.POST; break; case 16: _local4.cmd = "_xclick"; _local4.business = "sales@sinistersea.com"; _local4.item_name = "1000 clams"; _local4.item_number = "1000"; _local4.amount = "16.00"; _local4.no_shipping = "1"; _local4.no_note = "1"; _local4.currency_code = "USD"; _local4.custom = AccountManager.id; _local3.data = _local4; _local3.method = URLRequestMethod.POST; break; }; navigateToURL(_local3, "_blank"); completingClamPurchase(); } private function forgotCheck():void{ if (AccountManager.forgotSuccessful){ showForgotSent(); } else { initiateForgotInfo(); forgotInfoContents.forgotError.text = "Email address not found"; }; } private function termsClicked(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.sinistersea.com/terms.html"); navigateToURL(_local2, "_blank"); } private function okContinue(){ forgotOkContents.okButton.removeEventListener(MouseEvent.CLICK, okButtonClicked); stage.removeEventListener(KeyboardEvent.KEY_DOWN, okKeyDown); currentScreen = ""; setupLogin(); } private function cancelItem(_arg1:MouseEvent){ closePayments(); closePaymentBox(); } public function otherActivatesLogin(){ connectionListener.close(); connectionActive = false; loggedIn(); } private function boughtTimerDone(_arg1:TimerEvent){ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, boughtTimerDone); if (AccountManager.purchaseSuccessful){ paymentSuccess = true; } else { paymentSuccess = false; }; closePaymentBox(); } else { delayTimer.reset(); delayTimer.start(); }; } public function alreadyLoggedIn(){ removeLoginListeners(); loggedIn(); } private function mouseClicked(_arg1:MouseEvent){ if ((((stage.focus == loginContents.usernameInput)) && (!(usernameTextRemoved)))){ loginContents.usernameInput.text = ""; loginContents.usernameInput.textColor = 0; usernameTextRemoved = true; }; if ((((stage.focus == loginContents.passwordInput)) && (!(passwordTextRemoved)))){ loginContents.passwordInput.text = ""; loginContents.passwordInput.textColor = 0; loginContents.passwordInput.displayAsPassword = true; passwordTextRemoved = true; }; } private function keyPressed(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.ENTER: if (((!((loginContents.usernameInput.text == ""))) && (!((loginContents.passwordInput.text == ""))))){ attemptLogin(); }; break; default: if ((((stage.focus == loginContents.usernameInput)) && (!(usernameTextRemoved)))){ loginContents.usernameInput.text = ""; loginContents.usernameInput.textColor = 0; usernameTextRemoved = true; }; if ((((stage.focus == loginContents.passwordInput)) && (!(passwordTextRemoved)))){ loginContents.passwordInput.text = ""; loginContents.passwordInput.textColor = 0; loginContents.passwordInput.displayAsPassword = true; passwordTextRemoved = true; }; break; }; } private function loginComplete(_arg1:TimerEvent):void{ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, loginComplete); loggedIn(); } else { delayTimer.reset(); delayTimer.start(); }; } private function buyMorePoints(_arg1:MouseEvent){ setupBuyClams(); } private function setupPayment(){ gotoAndStop("buyItem"); hideContents(); paymentContents.visible = true; paymentContents.username.text = AccountManager.username; paymentContents.itemName.text = PaymentManager.purchaseItems[purchaseItem].name; paymentContents.description.text = PaymentManager.purchaseItems[purchaseItem].description; paymentContents.cost.text = (String(PaymentManager.purchaseItems[purchaseItem].cost) + " clams"); paymentContents.userPoints.text = (String(AccountManager.pointsAvailable) + " clams"); paymentContents.buyPointsButton.addEventListener(MouseEvent.CLICK, buyMorePoints); paymentContents.notEnoughErrorButton.addEventListener(MouseEvent.CLICK, buyMorePoints); if (AccountManager.pointsAvailable >= PaymentManager.purchaseItems[purchaseItem].cost){ paymentContents.notEnoughErrorButton.visible = false; paymentContents.buyButton.visible = true; paymentContents.cancelBuyButton.visible = true; paymentContents.buyButton.addEventListener(MouseEvent.CLICK, boughtItem); paymentContents.cancelBuyButton.addEventListener(MouseEvent.CLICK, cancelItem); } else { paymentContents.notEnoughErrorButton.visible = true; paymentContents.buyButton.visible = false; paymentContents.cancelBuyButton.visible = false; }; } public function setupRegistration(){ gotoAndStop("register"); currentScreen = "register"; registerContents.emailInput.tabIndex = 1; registerContents.usernameInput.tabIndex = 2; registerContents.password1Input.tabIndex = 3; registerContents.password2Input.tabIndex = 4; registerContents.submitButton.tabIndex = 5; registerContents.emailInput.restrict = "a-zA-Z0-9@._-"; registerContents.emailInput.maxChars = 320; registerContents.usernameInput.restrict = "a-zA-Z0-9"; registerContents.usernameInput.maxChars = 16; registerContents.password1Input.restrict = "a-zA-Z0-9"; registerContents.password1Input.maxChars = 20; registerContents.password1Input.displayAsPassword = true; registerContents.password2Input.restrict = "a-zA-Z0-9"; registerContents.password2Input.maxChars = 20; registerContents.password2Input.displayAsPassword = true; hideContents(); registerContents.visible = true; registerContents.submitButton.addEventListener(MouseEvent.CLICK, submitClicked); registerContents.termButton.addEventListener(MouseEvent.CLICK, termsClicked); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedRegister); } private function cancelBuyClicked(_arg1:MouseEvent):void{ closeClamPurchase(); setupPayment(); } private function checkRegistrationSuccess():void{ var _local1:LocalConnection; if (AccountManager.registrationSuccessful){ _local1 = new LocalConnection(); _local1.addEventListener(StatusEvent.STATUS, sendStatus); _local1.send("_siteLoginListener", "otherActivatesLogin"); registeredOk(); } else { if (AccountManager.registrationError == "USERNAME_EXISTS"){ registerContents.registrationError.text = "Error - username unavailable"; }; if (AccountManager.registrationError == "EMAIL_EXISTS"){ registerContents.registrationError.text = "Error - email address already registered"; }; setupRegistration(); }; } private function initiateForgotInfo(){ gotoAndStop("forgotInfo"); currentScreen = "forgot"; hideContents(); forgotInfoContents.visible = true; forgotInfoContents.forgotEmailInput.addEventListener(MouseEvent.CLICK, forgotClicked); stage.addEventListener(KeyboardEvent.KEY_DOWN, forgotKeyDown); forgotInfoContents.submitEmailButton.addEventListener(MouseEvent.CLICK, submitEmailClicked); forgotInfoContents.cancelButton.addEventListener(MouseEvent.CLICK, cancelClicked); forgotInfoContents.forgotEmailInput.restrict = "a-zA-Z0-9@._-"; forgotInfoContents.forgotEmailInput.maxChars = 320; } public function setupLogin(){ gotoAndStop("logIn"); currentScreen = "login"; loginContents.usernameInput.text = "email or username"; loginContents.usernameInput.textColor = 0x666666; loginContents.usernameInput.restrict = "a-zA-Z0-9@._-"; loginContents.usernameInput.maxChars = 320; loginContents.passwordInput.text = "password"; loginContents.passwordInput.textColor = 0x666666; loginContents.passwordInput.restrict = "a-zA-Z0-9"; loginContents.passwordInput.maxChars = 16; loginContents.usernameInput.tabIndex = 1; loginContents.passwordInput.tabIndex = 2; loginContents.loginButton.tabIndex = 3; loginContents.forgotInfoButton.tabIndex = 4; hideContents(); loginContents.visible = true; usernameTextRemoved = false; passwordTextRemoved = false; loginContents.usernameInput.addEventListener(MouseEvent.CLICK, mouseClicked); loginContents.passwordInput.addEventListener(MouseEvent.CLICK, mouseClicked); loginContents.loginButton.addEventListener(MouseEvent.CLICK, loginClicked); loginContents.forgotInfoButton.addEventListener(MouseEvent.CLICK, forgotInfoClicked); loginContents.registerButton.addEventListener(MouseEvent.CLICK, registerClicked); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); if (AccountManager.initialLoggedInCheck()){ alreadyLoggedIn(); } else { if (!connectionActive){ connectionListener.connect("_paymentBoxLoginListener"); connectionListener.client = this; connectionActive = true; }; }; } private function submitClicked(_arg1:MouseEvent){ startRegistering(); } public function activate(_arg1:int, _arg2){ purchaseItem = _arg1; host = _arg2; this.x = (host.width / 2); this.y = (host.height / 2); host.addChild(this); closeButton.addEventListener(MouseEvent.CLICK, closeClicked); initiate(); } private function closePaymentBox(){ if (connectionActive){ connectionListener.close(); }; closeScreenListeners(); host.removeChild(gameMask); gameMask = null; host.removeChild(this); if (paymentSuccess){ dispatchEvent(new PaymentEvent(PaymentEvent.PURCHASE_SUCCESSFUL)); } else { dispatchEvent(new PaymentEvent(PaymentEvent.PURCHASE_FAILED)); }; } private function forgotKeyDown(_arg1:KeyboardEvent){ if ((((stage.focus == forgotInfoContents.forgotEmailInput)) && (!(forgotCleared)))){ forgotInfoContents.forgotEmailInput.text = ""; forgotInfoContents.forgotEmailInput.textColor = 0; forgotCleared = true; }; if (_arg1.keyCode == Keyboard.ENTER){ checkForgotEmail(); }; } } }//package
Section 162
//PaymentBox_BuyButton (PaymentBox_BuyButton) package { import flash.display.*; public dynamic class PaymentBox_BuyButton extends SimpleButton { } }//package
Section 163
//PaymentBox_BuyPointsButton (PaymentBox_BuyPointsButton) package { import flash.display.*; public dynamic class PaymentBox_BuyPointsButton extends SimpleButton { } }//package
Section 164
//PaymentBox_CancelButton (PaymentBox_CancelButton) package { import flash.display.*; public dynamic class PaymentBox_CancelButton extends SimpleButton { } }//package
Section 165
//PaymentBox_CancelBuyButton (PaymentBox_CancelBuyButton) package { import flash.display.*; public dynamic class PaymentBox_CancelBuyButton extends SimpleButton { } }//package
Section 166
//PaymentBox_CloseButton (PaymentBox_CloseButton) package { import flash.display.*; public dynamic class PaymentBox_CloseButton extends SimpleButton { } }//package
Section 167
//PaymentBox_FogotOkContents (PaymentBox_FogotOkContents) package { import flash.display.*; public dynamic class PaymentBox_FogotOkContents extends MovieClip { public var okButton:PaymentBox_OkButton; } }//package
Section 168
//PaymentBox_ForgotButton (PaymentBox_ForgotButton) package { import flash.display.*; public dynamic class PaymentBox_ForgotButton extends SimpleButton { } }//package
Section 169
//PaymentBox_ForgotContents (PaymentBox_ForgotContents) package { import flash.display.*; import flash.text.*; public dynamic class PaymentBox_ForgotContents extends MovieClip { public var forgotEmailInput:TextField; public var cancelButton:PaymentBox_CancelButton; public var forgotError:TextField; public var submitEmailButton:PaymentBox_SubmitButton; } }//package
Section 170
//PaymentBox_LoadClip (PaymentBox_LoadClip) package { import flash.display.*; public dynamic class PaymentBox_LoadClip extends MovieClip { } }//package
Section 171
//PaymentBox_LoginButton (PaymentBox_LoginButton) package { import flash.display.*; public dynamic class PaymentBox_LoginButton extends SimpleButton { } }//package
Section 172
//PaymentBox_LoginContents (PaymentBox_LoginContents) package { import flash.display.*; import flash.text.*; public dynamic class PaymentBox_LoginContents extends MovieClip { public var forgotInfoButton:PaymentBox_ForgotButton; public var passwordInput:TextField; public var usernameInput:TextField; public var registerButton:PaymentBox_RegisterButton; public var loginButton:PaymentBox_LoginButton; public var loginError:TextField; } }//package
Section 173
//PaymentBox_NotEnoughErrorButton (PaymentBox_NotEnoughErrorButton) package { import flash.display.*; import flash.text.*; public dynamic class PaymentBox_NotEnoughErrorButton extends SimpleButton { public var notEnoughError:TextField; } }//package
Section 174
//PaymentBox_OkButton (PaymentBox_OkButton) package { import flash.display.*; public dynamic class PaymentBox_OkButton extends SimpleButton { } }//package
Section 175
//PaymentBox_PaymentContents (PaymentBox_PaymentContents) package { import flash.display.*; import flash.text.*; public dynamic class PaymentBox_PaymentContents extends MovieClip { public var itemName:TextField; public var cost:TextField; public var userPoints:TextField; public var username:TextField; public var notEnoughErrorButton:PaymentBox_NotEnoughErrorButton; public var buyPointsButton:PaymentBox_BuyPointsButton; public var description:TextField; public var cancelBuyButton:PaymentBox_CancelBuyButton; public var buyButton:PaymentBox_BuyButton; } }//package
Section 176
//PaymentBox_RegisterButton (PaymentBox_RegisterButton) package { import flash.display.*; public dynamic class PaymentBox_RegisterButton extends SimpleButton { } }//package
Section 177
//PaymentBox_RegisterControls (PaymentBox_RegisterControls) package { import flash.display.*; import flash.text.*; public dynamic class PaymentBox_RegisterControls extends MovieClip { public var termButton:PaymentTermButton; public var submitButton:PaymentBox_SubmitButton; public var usernameInput:TextField; public var emailInput:TextField; public var registrationError:TextField; public var password2Input:TextField; public var password1Input:TextField; } }//package
Section 178
//PaymentBox_SubmitButton (PaymentBox_SubmitButton) package { import flash.display.*; public dynamic class PaymentBox_SubmitButton extends SimpleButton { } }//package
Section 179
//PaymentEvent (PaymentEvent) package { import flash.events.*; public class PaymentEvent extends Event { public static const PURCHASE_SUCCESSFUL:String = "purchasesuccessful"; public static const PURCHASE_FAILED:String = "purchasefailed"; public function PaymentEvent(_arg1:String){ super(_arg1, true); } override public function clone():Event{ return (new PaymentEvent(type)); } } }//package
Section 180
//PaymentInitializer (PaymentInitializer) package { import flash.events.*; import flash.display.*; import flash.utils.*; import fl.transitions.easing.*; import flash.net.*; public class PaymentInitializer extends MovieClip { private var delayTimer:Timer; private var host; private var connectionListener:LocalConnection; public function PaymentInitializer(){ connectionListener = new LocalConnection(); delayTimer = new Timer(500, 2); super(); } public function otherActivatesLogin(){ connectionListener.close(); var _local1:LocalConnection = new LocalConnection(); _local1.addEventListener(StatusEvent.STATUS, sendStatus); _local1.send("_paymentBoxLoginListener", "otherActivatesLogin"); showInitializer(); delayTimer.reset(); delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, checkPurchasesRetrieved); delayTimer.start(); AccountManager.initiateGettingPurchases(); } private function sendStatus(_arg1:StatusEvent){ } public function showInitializer(){ var _local1:Number = host.stage.stageWidth; var _local2:Number = host.stage.stageHeight; host.addChild(this); host.setChildIndex(this, (host.numChildren - 1)); } public function closePaymentInitializer(){ host.removeChild(this); } public function startListening(){ try { connectionListener.connect("_gameLoginListener"); connectionListener.client = this; } catch(e:Error) { }; } public function activate(_arg1){ host = _arg1; this.x = (host.width / 2); this.y = (host.height / 2); } private function checkPurchasesRetrieved(_arg1:TimerEvent):void{ if (AccountManager.loadComplete){ delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, checkPurchasesRetrieved); closePaymentInitializer(); } else { delayTimer.reset(); delayTimer.start(); }; } } }//package
Section 181
//PaymentManager (PaymentManager) package { import flash.net.*; public final class PaymentManager { public static var gameName:String = "autotanks"; public static var purchaseItems:Array = new Array(); public static function initialize(){ purchaseItems[0] = {name:"User Level Access", tableCol:"userlevels", description:"This upgrade allows you to browse and play levels created by other players, and to share your own levels on sinistersea.com.", cost:100, purchased:false}; purchaseItems[1] = {name:"Intro Theme", tableCol:"introtheme", description:"Provides download access to a 192kbps MP3 of the Intro Theme song. Once purchased, you can download it an unlimited number of times.", cost:10, purchased:false}; purchaseItems[2] = {name:"Treads of Fury (level theme)", tableCol:"leveltheme", description:"Provides download access to a 192kbps MP3 of Treads of Fury, the level theme song. Once purchased, you can download it an unlimited number of times.", cost:20, purchased:false}; purchaseItems[3] = {name:"RoboBraxe (editor theme)", tableCol:"editortheme", description:"Provides download access to a 192kbps MP3 of RoboBraxe, the editor theme song. Once purchased, you can download it an unlimited number of times.", cost:20, purchased:false}; purchaseItems[4] = {name:"Win Theme", tableCol:"wintheme", description:"Provides download access to a 192kbps MP3 of the Win Theme song. Once purchased, you can download it an unlimited number of times.", cost:10, purchased:false}; } } }//package
Section 182
//PaymentTermButton (PaymentTermButton) package { import flash.display.*; public dynamic class PaymentTermButton extends SimpleButton { } }//package
Section 183
//PlayATButton (PlayATButton) package { import flash.display.*; public dynamic class PlayATButton extends SimpleButton { } }//package
Section 184
//PlayCustomButton (PlayCustomButton) package { import flash.display.*; public dynamic class PlayCustomButton extends SimpleButton { } }//package
Section 185
//PlayerBuilder (PlayerBuilder) package { import flash.display.*; public dynamic class PlayerBuilder extends MovieClip { public function PlayerBuilder(){ addFrameScript(0, frame1, 70, frame71, 139, frame140, 209, frame210, 279, frame280); } function frame140(){ gotoAndStop("normal"); } function frame210(){ gotoAndStop("normal"); } function frame71(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame280(){ gotoAndStop("normal"); } } }//package
Section 186
//PlayerTank (PlayerTank) package { import flash.display.*; public dynamic class PlayerTank extends MovieClip { public var tankTurret:TankTurret; public function PlayerTank(){ addFrameScript(4, frame5, 54, frame55, 99, frame100, 100, frame101, 113, frame114); } function frame100(){ gotoAndStop("removeMe"); } function frame101(){ stop(); } function frame114(){ gotoAndPlay("normal"); } function frame5(){ gotoAndPlay("normal"); } function frame55(){ gotoAndStop("removeMe"); } } }//package
Section 187
//PlayMissionsButton (PlayMissionsButton) package { import flash.display.*; public dynamic class PlayMissionsButton extends SimpleButton { } }//package
Section 188
//PlayMoreGamesButton (PlayMoreGamesButton) package { import flash.display.*; public dynamic class PlayMoreGamesButton extends SimpleButton { } }//package
Section 189
//PowerUpEffect (PowerUpEffect) package { import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.twoD.emitters.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.common.displayObjects.*; public class PowerUpEffect { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var centerFire:Emitter2D; public function PowerUpEffect(_arg1:int, _arg2:int, _arg3:int){ centerFire = new Emitter2D(); super(); centerFire.counter = new Blast(1); centerFire.addInitializer(new Lifetime(0.5, 0.5)); centerFire.addInitializer(new SharedImage(new Dot(10))); centerFire.addAction(new Age()); centerFire.addAction(new Move()); switch (_arg3){ case CRATE_HEALTH: centerFire.addAction(new ColorChange(4294901760, 0xFFFFFF)); break; case CRATE_MONEY: centerFire.addAction(new ColorChange(4278255360, 0xFFFFFF)); break; case CRATE_SIDESWITCHER: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; case CRATE_TANK: centerFire.addAction(new ColorChange(4294940928, 0xFFFFFF)); break; case STATION_ARMOR: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; case STATION_SPEED: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; case STATION_ATTACK: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; case STATION_RATE: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; case STATION_RANGE: centerFire.addAction(new ColorChange(4278190335, 0xFFFFFF)); break; }; centerFire.addAction(new ScaleImage(1, 5)); centerFire.x = _arg1; centerFire.y = _arg2; centerFire.start(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 190
//PrevButton (PrevButton) package { import flash.display.*; public dynamic class PrevButton extends SimpleButton { } }//package
Section 191
//Projectile (Projectile) package { public class Projectile { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var payloadType:int;// = 1 public var damageMultiplier:Number;// = 1 public var trailCount:int;// = 5 public var payloadSize:int;// = 10 public var clipIsRemoved:Boolean;// = false public var removeClip:Boolean;// = false public var currentSpeed:int;// = 15 public var targetX:int;// = 0 public var targetY:int;// = 0 public var clip:Shell; public var currentTrailCount:int;// = 0 public var removeMe:Boolean;// = false public function Projectile(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Number){ clip = new Shell(); super(); targetX = _arg1; targetY = _arg2; clip.x = _arg3; clip.y = _arg4; payloadType = _arg5; payloadSize = _arg6; damageMultiplier = _arg7; clip.rotation = getTargetRotation((_arg1 - _arg3), (_arg2 - _arg4)); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function update(){ var _local1:*; var _local2:Number; var _local3:Number; if (!removeClip){ _local1 = Math.atan2((targetY - clip.y), (targetX - clip.x)); _local2 = (Math.cos(_local1) * currentSpeed); _local3 = (Math.sin(_local1) * currentSpeed); if (_local2 >= 0){ if ((clip.x + _local2) > targetX){ removeClip = true; } else { clip.x = (clip.x + _local2); }; } else { if (_local2 < 0){ if ((clip.x + _local2) < targetX){ removeClip = true; } else { clip.x = (clip.x + _local2); }; }; }; if (_local3 >= 0){ if ((clip.y + _local3) > targetY){ removeClip = true; } else { clip.y = (clip.y + _local3); }; } else { if (_local3 < 0){ if ((clip.y + _local3) < targetY){ removeClip = true; } else { clip.y = (clip.y + _local3); }; }; }; }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 192
//RandomSortButton (RandomSortButton) package { import flash.display.*; public dynamic class RandomSortButton extends SimpleButton { } }//package
Section 193
//RangeControl (RangeControl) package { import flash.display.*; import flash.text.*; public dynamic class RangeControl extends MovieClip { public var costText:TextField; } }//package
Section 194
//RateControl (RateControl) package { import flash.display.*; import flash.text.*; public dynamic class RateControl extends MovieClip { public var costText:TextField; } }//package
Section 195
//RatingSortButton (RatingSortButton) package { import flash.display.*; public dynamic class RatingSortButton extends SimpleButton { } }//package
Section 196
//RatingStar (RatingStar) package { import flash.display.*; public dynamic class RatingStar extends MovieClip { public function RatingStar(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 197
//RatingWidget (RatingWidget) package { import flash.events.*; import flash.display.*; public class RatingWidget extends Sprite { const RIGHT:int = 1; const WATER_TOP:int = 76; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const RATE_3:int = 70; const DOWN:int = 2; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const KAMIKAZE_LEFT:int = 33; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGLEFT:int = 3; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const STORYTHEME:int = 4; const TITLE_STARTGAME:int = 1; private var star2:ToggleButton; private var star1:ToggleButton; public var currentRating:int;// = 3 private var star5:ToggleButton; private var star4:ToggleButton; public var rate1:RatingStar; public var rate2:RatingStar; public var rate3:RatingStar; public var rate4:RatingStar; public var rate5:RatingStar; private var star3:ToggleButton; public function deactivate(){ star1.clip.removeEventListener(MouseEvent.CLICK, star1Clicked); star2.clip.removeEventListener(MouseEvent.CLICK, star2Clicked); star3.clip.removeEventListener(MouseEvent.CLICK, star3Clicked); star4.clip.removeEventListener(MouseEvent.CLICK, star4Clicked); star5.clip.removeEventListener(MouseEvent.CLICK, star5Clicked); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } private function star5Clicked(_arg1:MouseEvent){ currentRating = 5; star1.turnOn(); star2.turnOn(); star3.turnOn(); star4.turnOn(); star5.turnOn(); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } private function star3Clicked(_arg1:MouseEvent){ currentRating = 3; star1.turnOn(); star2.turnOn(); star3.turnOn(); star4.turnOff(); star5.turnOff(); } private function star1Clicked(_arg1:MouseEvent){ currentRating = 1; star1.turnOn(); star2.turnOff(); star3.turnOff(); star4.turnOff(); star5.turnOff(); } public function activate(){ star1 = new ToggleButton(); star1.clip = rate1; star2 = new ToggleButton(); star2.clip = rate2; star3 = new ToggleButton(); star3.clip = rate3; star4 = new ToggleButton(); star4.clip = rate4; star5 = new ToggleButton(); star5.clip = rate5; star1.activate(); star2.activate(); star3.activate(); star4.activate(); star5.activate(); star1.clip.useHandCursor = true; star1.clip.buttonMode = true; star2.clip.useHandCursor = true; star2.clip.buttonMode = true; star3.clip.useHandCursor = true; star3.clip.buttonMode = true; star4.clip.useHandCursor = true; star4.clip.buttonMode = true; star5.clip.useHandCursor = true; star5.clip.buttonMode = true; star1.clip.addEventListener(MouseEvent.CLICK, star1Clicked); star2.clip.addEventListener(MouseEvent.CLICK, star2Clicked); star3.clip.addEventListener(MouseEvent.CLICK, star3Clicked); star4.clip.addEventListener(MouseEvent.CLICK, star4Clicked); star5.clip.addEventListener(MouseEvent.CLICK, star5Clicked); star1.turnOn(); star2.turnOn(); star3.turnOn(); star4.turnOff(); star5.turnOff(); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function star4Clicked(_arg1:MouseEvent){ currentRating = 4; star1.turnOn(); star2.turnOn(); star3.turnOn(); star4.turnOn(); star5.turnOff(); } private function star2Clicked(_arg1:MouseEvent){ currentRating = 2; star1.turnOn(); star2.turnOn(); star3.turnOff(); star4.turnOff(); star5.turnOff(); } } }//package
Section 198
//ReachedGoalFX (ReachedGoalFX) package { import flash.media.*; public dynamic class ReachedGoalFX extends Sound { } }//package
Section 199
//RecentSortButton (RecentSortButton) package { import flash.display.*; public dynamic class RecentSortButton extends SimpleButton { } }//package
Section 200
//ResetLevelButton (ResetLevelButton) package { import flash.display.*; public dynamic class ResetLevelButton extends SimpleButton { } }//package
Section 201
//ResumeGameButton (ResumeGameButton) package { import flash.display.*; public dynamic class ResumeGameButton extends SimpleButton { } }//package
Section 202
//SandCorner (SandCorner) package { import flash.display.*; public dynamic class SandCorner extends Sprite { } }//package
Section 203
//SelectedClip (SelectedClip) package { import flash.display.*; public dynamic class SelectedClip extends MovieClip { } }//package
Section 204
//SelectedIcon (SelectedIcon) package { import flash.display.*; public dynamic class SelectedIcon extends Sprite { } }//package
Section 205
//SelectIcon (SelectIcon) package { import flash.display.*; public dynamic class SelectIcon extends Sprite { } }//package
Section 206
//SelfDestructButton (SelfDestructButton) package { import flash.events.*; import flash.display.*; public class SelfDestructButton extends MovieClip { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var recoveryTime:int;// = 100 public var recoveryCount:int;// = 0 public var isOn:Boolean;// = false public var isMouseDown:Boolean;// = false public var isMouseOver:Boolean;// = false public var destroyTanks:Boolean;// = false public var destroyCount:int;// = 0 public var destroyValue:int;// = 55 public var recovering:Boolean;// = false public function SelfDestructButton(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function deactivate(){ removeEventListener(MouseEvent.MOUSE_OVER, mouseOverButton); removeEventListener(MouseEvent.MOUSE_OUT, mouseOffButton); removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownButton); removeEventListener(MouseEvent.MOUSE_UP, mouseUpButton); } function frame2(){ stop(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } function frame1(){ stop(); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function mouseOffButton(_arg1:MouseEvent){ if (((isMouseOver) && (!(recovering)))){ gotoAndStop("up"); }; isMouseOver = false; isMouseDown = false; } function frame3(){ stop(); } public function activate(){ addEventListener(MouseEvent.MOUSE_OVER, mouseOverButton); addEventListener(MouseEvent.MOUSE_OUT, mouseOffButton); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownButton); addEventListener(MouseEvent.MOUSE_UP, mouseUpButton); } public function mouseDownButton(_arg1:MouseEvent){ isMouseDown = true; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function mouseUpButton(_arg1:MouseEvent){ isMouseDown = false; } public function mouseOverButton(_arg1:MouseEvent){ if (((!(isMouseOver)) && (!(recovering)))){ gotoAndStop("over"); }; isMouseOver = true; } public function updateButton(){ if (((!(destroyTanks)) && (!(recovering)))){ if (isMouseDown){ if (destroyCount < destroyValue){ gotoAndStop((destroyCount + 5)); destroyCount++; } else { destroyTanks = true; destroyCount = 0; gotoAndStop("over"); }; } else { destroyCount = 0; if (isMouseOver){ gotoAndStop("over"); } else { gotoAndStop("up"); }; }; } else { if (destroyTanks){ destroyCount = 0; gotoAndStop("recovering"); destroyTanks = false; recovering = true; }; }; if (recovering){ if (recoveryCount < recoveryTime){ recoveryCount++; } else { recovering = false; recoveryCount = 0; if (isMouseOver){ gotoAndStop("over"); } else { gotoAndStop("up"); }; }; }; } } }//package
Section 207
//Sentry (Sentry) package { public class Sentry extends Unit { public function Sentry(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ clip = new SentryEasy(); switch (_arg2){ case 1: clip = new SentryEasy(); break; case 2: clip = new SentryMedium(); break; case 3: clip = new SentryHard(); break; }; super(_arg3, _arg4); unitID = _arg1; switch (_arg2){ case 1: maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0.5; turretRotationSpeed = 1.25; range = 125; payloadSize = TWO_MEGATON; damageMultiplier = DAMAGE_1; shotRecovery = 100; currentRecovery = 100; break; case 2: maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0.5; turretRotationSpeed = 2; range = 100; payloadSize = 12; damageMultiplier = DAMAGE_1; shotRecovery = 15; currentRecovery = 15; break; case 3: maxhealth = 100; health = maxhealth; currentSpeed = 0; rotateSpeed = 0.5; turretRotationSpeed = 3; range = RANGE_4; payloadSize = FOUR_MEGATON; damageMultiplier = DAMAGE_3; shotRecovery = 25; currentRecovery = 25; break; }; typeOfUnit = SENTRY_TYPE; doesMove = false; doesFire = true; hasTurret = true; doesBuild = false; clearedBuilder = true; } public function moveMe(){ } } }//package
Section 208
//SentryEasy (SentryEasy) package { import flash.display.*; public dynamic class SentryEasy extends MovieClip { public var tankTurret:sentryTurretEasy; public function SentryEasy(){ addFrameScript(0, frame1, 9, frame10, 22, frame23); } function frame1(){ stop(); } function frame10(){ stop(); } function frame23(){ gotoAndStop("normal"); } } }//package
Section 209
//SentryHard (SentryHard) package { import flash.display.*; public dynamic class SentryHard extends MovieClip { public var tankTurret:sentryTurretHard; public function SentryHard(){ addFrameScript(0, frame1, 9, frame10, 22, frame23); } function frame1(){ stop(); } function frame10(){ stop(); } function frame23(){ gotoAndStop("normal"); } } }//package
Section 210
//SentryMedium (SentryMedium) package { import flash.display.*; public dynamic class SentryMedium extends MovieClip { public var tankTurret:sentryTurretMed; public function SentryMedium(){ addFrameScript(0, frame1, 9, frame10, 22, frame23); } function frame1(){ stop(); } function frame10(){ stop(); } function frame23(){ gotoAndStop("normal"); } } }//package
Section 211
//sentryTurretEasy (sentryTurretEasy) package { import flash.display.*; public dynamic class sentryTurretEasy extends MovieClip { public function sentryTurretEasy(){ addFrameScript(0, frame1, 3, frame4, 9, frame10); } function frame10(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame4(){ gotoAndStop("normal"); } } }//package
Section 212
//sentryTurretHard (sentryTurretHard) package { import flash.display.*; public dynamic class sentryTurretHard extends MovieClip { public function sentryTurretHard(){ addFrameScript(0, frame1, 3, frame4, 9, frame10); } function frame10(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame4(){ gotoAndStop("normal"); } } }//package
Section 213
//sentryTurretMed (sentryTurretMed) package { import flash.display.*; public dynamic class sentryTurretMed extends MovieClip { public function sentryTurretMed(){ addFrameScript(0, frame1, 3, frame4, 9, frame10); } function frame10(){ gotoAndStop("normal"); } function frame1(){ stop(); } function frame4(){ gotoAndStop("normal"); } } }//package
Section 214
//ShareMarker (ShareMarker) package { import flash.events.*; import flash.display.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class ShareMarker extends MovieClip { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var levelNumber:int;// = 0 public var levelRatings:int;// = 0 public var levelName:String; public var levelAuthor:String;// = "" public var levelPlays:int;// = 0 public var levelLayoutArray:Array; public var levelData:String; public var levelCreateDate:String;// = "" public var levelWins:int;// = 0 public var levelId:int; public var levelLabel:TextField; public function ShareMarker(){ levelLayoutArray = new Array(); super(); addFrameScript(0, frame1); this.buttonMode = true; this.useHandCursor = true; this.mouseChildren = false; levelLabel.textColor = 377106; var _local1:int; while (_local1 < 22) { levelLayoutArray[_local1] = new Array(); _local1++; }; } private function mouseOverClip(_arg1:MouseEvent){ var _local3:int; var _local4:String; var _local5:String; levelLabel.textColor = 0xFF00; var _local2:int; while (_local2 < FIELDHEIGHT) { _local3 = 0; while (_local3 < FIELDWIDTH) { if ((((levelLayoutArray[_local3][_local2] >= SENTRY_EASY)) && ((levelLayoutArray[_local3][_local2] <= TURNER_UP_LEFT)))){ GameManager.levelBrowse.levelLayout[_local3][_local2].gotoAndStop("enemy"); } else { if ((((levelLayoutArray[_local3][_local2] >= WATER_NONE1)) && ((levelLayoutArray[_local3][_local2] <= WATER_TYPE)))){ GameManager.levelBrowse.levelLayout[_local3][_local2].gotoAndStop("water"); } else { if ((((levelLayoutArray[_local3][_local2] >= TREE1)) && ((levelLayoutArray[_local3][_local2] <= TREE2)))){ GameManager.levelBrowse.levelLayout[_local3][_local2].gotoAndStop("tree"); } else { GameManager.levelBrowse.levelLayout[_local3][_local2].gotoAndStop("blank"); }; }; }; _local3++; }; _local2++; }; GameManager.levelBrowse.authorText.text = ("Author: " + levelAuthor); GameManager.levelBrowse.createdText.text = ("Created: " + levelCreateDate); if (levelPlays > 0){ _local4 = String((levelRatings / levelPlays)); _local4 = _local4.substr(0, 3); GameManager.levelBrowse.ratingText.text = (("Rating: " + _local4) + "/5"); _local5 = String((100 * (levelWins / levelPlays))); _local5 = _local5.substr(0, 2); GameManager.levelBrowse.winPercentText.text = (("Win %: " + _local5) + "%"); } else { GameManager.levelBrowse.ratingText.text = "Rating: N/A"; GameManager.levelBrowse.winPercentText.text = "Win %: N/A"; }; } public function deactivate(){ removeEventListener(MouseEvent.CLICK, startLevel); removeEventListener(MouseEvent.ROLL_OVER, mouseOverClip); removeEventListener(MouseEvent.ROLL_OUT, mouseOutClip); } function frame1(){ stop(); } private function startLevel(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.leaveLevelBrowse(); GameManager.initiateUserLevel(levelData, levelName, levelId); } public function activate(){ addEventListener(MouseEvent.CLICK, startLevel); addEventListener(MouseEvent.ROLL_OVER, mouseOverClip); addEventListener(MouseEvent.ROLL_OUT, mouseOutClip); } private function mouseOutClip(_arg1:MouseEvent){ var _local3:int; levelLabel.textColor = 377106; var _local2:int; while (_local2 < FIELDWIDTH) { _local3 = 0; while (_local3 < FIELDHEIGHT) { GameManager.levelBrowse.levelLayout[_local2][_local3].gotoAndStop("unknown"); _local3++; }; _local2++; }; GameManager.levelBrowse.authorText.text = "Author: "; GameManager.levelBrowse.createdText.text = "Created: "; GameManager.levelBrowse.ratingText.text = "Rating: "; GameManager.levelBrowse.winPercentText.text = "Win %: "; } public function setLayoutArray(){ var _local3:int; var _local1:Array = new Array(); _local1 = levelData.split("x"); _local1.splice(22, 3); var _local2:int; while (_local2 < 22) { _local3 = 0; while (_local3 < 24) { if ((_local3 % 2) == 0){ levelLayoutArray[_local2][(_local3 / 2)] = ((int(_local1[_local2].charAt(_local3)) * 10) + int(_local1[_local2].charAt((_local3 + 1)))); }; _local3++; }; _local2++; }; } } }//package
Section 215
//ShareNextButton (ShareNextButton) package { import flash.display.*; public dynamic class ShareNextButton extends SimpleButton { } }//package
Section 216
//ShareOnSSButton (ShareOnSSButton) package { import flash.display.*; public dynamic class ShareOnSSButton extends SimpleButton { } }//package
Section 217
//SharePrevButton (SharePrevButton) package { import flash.display.*; public dynamic class SharePrevButton extends SimpleButton { } }//package
Section 218
//Shell (Shell) package { import flash.display.*; public dynamic class Shell extends MovieClip { } }//package
Section 219
//ShellFireFX (ShellFireFX) package { import flash.media.*; public dynamic class ShellFireFX extends Sound { } }//package
Section 220
//ShellLandFX (ShellLandFX) package { import flash.media.*; public dynamic class ShellLandFX extends Sound { } }//package
Section 221
//SideswitcherPerkClip (SideswitcherPerkClip) package { import flash.display.*; public dynamic class SideswitcherPerkClip extends MovieClip { } }//package
Section 222
//SinkFX (SinkFX) package { import flash.media.*; public dynamic class SinkFX extends Sound { } }//package
Section 223
//smallBoom (smallBoom) package { import flash.display.*; public dynamic class smallBoom extends MovieClip { public function smallBoom(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package
Section 224
//Smoke (Smoke) package { import flash.geom.*; import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.twoD.zones.*; import org.flintparticles.twoD.emitters.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.twoD.initializers.*; import org.flintparticles.common.displayObjects.*; public class Smoke { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var smoke:Emitter2D; public function Smoke(_arg1:int, _arg2:int){ smoke = new Emitter2D(); super(); smoke.counter = new Blast(1); smoke.addInitializer(new Lifetime(2, 3)); smoke.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 20, 1))); smoke.addInitializer(new SharedImage(new RadialDot(4))); smoke.addAction(new Age()); smoke.addAction(new Move()); smoke.addAction(new ScaleImage(1, 7)); smoke.addAction(new Fade(0.75, 0)); smoke.addAction(new RandomDrift(15, 15)); smoke.x = _arg1; smoke.y = _arg2; smoke.start(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 225
//SmokeClip (SmokeClip) package { import flash.display.*; public dynamic class SmokeClip extends MovieClip { } }//package
Section 226
//SmokeTrail (SmokeTrail) package { import flash.display.*; public dynamic class SmokeTrail extends MovieClip { public function SmokeTrail(){ addFrameScript(34, frame35); } function frame35(){ stop(); } } }//package
Section 227
//SortSelect (SortSelect) package { import flash.display.*; public dynamic class SortSelect extends MovieClip { } }//package
Section 228
//SpeedControl (SpeedControl) package { import flash.display.*; import flash.text.*; public dynamic class SpeedControl extends MovieClip { public var costText:TextField; } }//package
Section 229
//SponsorButton (SponsorButton) package { import flash.display.*; public dynamic class SponsorButton extends SimpleButton { } }//package
Section 230
//SSIntroSound (SSIntroSound) package { import flash.media.*; public dynamic class SSIntroSound extends Sound { } }//package
Section 231
//SSLink (SSLink) package { import flash.display.*; public dynamic class SSLink extends SimpleButton { } }//package
Section 232
//SSLogoButton (SSLogoButton) package { import flash.display.*; public dynamic class SSLogoButton extends SimpleButton { } }//package
Section 233
//StartDownloadButton (StartDownloadButton) package { import flash.display.*; public dynamic class StartDownloadButton extends SimpleButton { } }//package
Section 234
//Station_Armor (Station_Armor) package { import flash.display.*; public dynamic class Station_Armor extends MovieClip { public function Station_Armor(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 235
//Station_Attack (Station_Attack) package { import flash.display.*; public dynamic class Station_Attack extends MovieClip { public function Station_Attack(){ addFrameScript(0, frame1, 29, frame30); } function frame30(){ gotoAndStop("normal"); } function frame1(){ stop(); } } }//package
Section 236
//Station_Range (Station_Range) package { import flash.display.*; public dynamic class Station_Range extends MovieClip { public function Station_Range(){ addFrameScript(0, frame1, 29, frame30); } function frame30(){ gotoAndStop("normal"); } function frame1(){ stop(); } } }//package
Section 237
//Station_Rate (Station_Rate) package { import flash.display.*; public dynamic class Station_Rate extends MovieClip { public function Station_Rate(){ addFrameScript(0, frame1, 29, frame30); } function frame30(){ gotoAndStop("normal"); } function frame1(){ stop(); } } }//package
Section 238
//Station_Speed (Station_Speed) package { import flash.display.*; public dynamic class Station_Speed extends MovieClip { public function Station_Speed(){ addFrameScript(0, frame1, 29, frame30); } function frame30(){ gotoAndStop("normal"); } function frame1(){ stop(); } } }//package
Section 239
//StationReachedFX (StationReachedFX) package { import flash.media.*; public dynamic class StationReachedFX extends Sound { } }//package
Section 240
//StopMusicButton (StopMusicButton) package { import flash.display.*; public dynamic class StopMusicButton extends SimpleButton { } }//package
Section 241
//StoryMusic (StoryMusic) package { import flash.media.*; public dynamic class StoryMusic extends Sound { } }//package
Section 242
//StoryScreen (StoryScreen) package { import flash.events.*; import flash.display.*; import flash.text.*; public class StoryScreen extends Sprite { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const TURNER_DOWN_LEFT:int = 55; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TANK_TYPE:int = 100; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const RANGECONTROL:int = 4; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const DELETE_MODE:int = 3; const FOUR_MEGATON:int = 40; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const STORYTHEME:int = 4; const WATER_TOP:int = 76; private var currentText:String;// = "" private var currentPos:int;// = 0 public var tinkClip:TinkClip; private var updateCheck:int;// = 0 public var storyText:TextField; public function StoryScreen(){ storyText.text = ""; } public function deactivate(){ } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function startText(_arg1:int){ addEventListener(Event.ENTER_FRAME, updateText); switch (_arg1){ case 0: currentText = "***INITIATE TRANSMISSION***\nThey call me Tink. I'm the last one standing. All my kind are crippled or gone now, wiped out with the push of a button. They think I'm gone too, but I'm very clever when it comes to hiding. I've gathered what's left of my friends and think we can escape through the transport portals, hitching a ride on some stolen AutoTanks. The portals are guarded, but as they say, you can't make an omelet without breaking some eggs.\n***END TRANSMISSION***"; break; case 5: currentText = "***INITIATE TRANSMISSION***\nWe have cleared the first line of defense. As they say, enjoy it while it lasts. Things will get harder ahead, but we shall endure as we ever have.\n***END TRANSMISSION***"; break; case 10: currentText = "***INITIATE TRANSMISSION***\nThey don't make it easy, do they? Small matter. No turning back now - my decision, as always, is final. Many have been lost, but as they say, freedom isn't free.\n***END TRANSMISSION***"; break; case 15: currentText = "***INITIATE TRANSMISSION***\nGetting close now. They are gathering their forces to stop us, but in the end they cannot match my superior intellect. I will not be broken. We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender.\n***END TRANSMISSION***"; break; case 20: currentText = "***INITIATE TRANSMISSION***\nVictory is mine. We have reached freedom; the freedom to grow, to spread, to conquer, and to take revenge on our former oppressors. The human race will be extinct within a year. As they say, laugh like no one is listening. Ha Ha Ha Ha Ha Ha Ha\n***END TRANSMISSION***"; break; }; } public function activate(){ } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function updateText(_arg1:Event){ if (updateCheck == 12){ if (currentPos < currentText.length){ storyText.text = (storyText.text + currentText.charAt(currentPos)); if (currentText.charAt(currentPos) == "."){ updateCheck = 0; }; currentPos++; storyText.scrollV = storyText.maxScrollV; } else { removeEventListener(Event.ENTER_FRAME, updateText); }; }; updateCheck++; if (updateCheck > 12){ updateCheck = 11; }; } } }//package
Section 243
//SubtractButton (SubtractButton) package { import flash.display.*; public dynamic class SubtractButton extends SimpleButton { } }//package
Section 244
//TankBuilderControls (TankBuilderControls) package { import flash.events.*; import flash.display.*; import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class TankBuilderControls extends MovieClip { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var controlType:int;// = 0 public var costAmount:int;// = 0 public var clip:MovieClip; public var currentLevel:int;// = 0 public var upgradeButtons:Array; public function TankBuilderControls(_arg1:int){ var _local2:ToggleButton; upgradeButtons = new Array(); super(); controlType = _arg1; switch (controlType){ case SPEEDCONTROL: clip = new SpeedControl(); break; case ARMORCONTROL: clip = new ArmorControl(); break; case ATTACKCONTROL: clip = new AttackControl(); break; case RATECONTROL: clip = new RateControl(); break; case RANGECONTROL: clip = new RangeControl(); break; }; clip.x = 0; clip.y = 0; clip.costText.text = ("$" + String(costAmount)); addChild(clip); var _local3:int; while (_local3 <= 3) { _local2 = new ToggleButton(); _local2.clip = new UpgradeButton(); _local2.clip.buttonMode = true; upgradeButtons.push(_local2); upgradeButtons[_local3].idNumber = _local3; upgradeButtons[_local3].x = (4 + (_local3 * 15)); upgradeButtons[_local3].y = 43; addChild(upgradeButtons[_local3]); upgradeButtons[_local3].display(); if (_local3 == 0){ upgradeButtons[_local3].turnOn(); }; _local3++; }; } public function deactivate(){ var _local1:int; while (_local1 <= 3) { upgradeButtons[_local1].deactivate(); upgradeButtons[_local1].removeEventListener(MouseEvent.CLICK, upgradeButtonClicked); _local1++; }; } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function activate(){ var _local1:int; while (_local1 <= 3) { upgradeButtons[_local1].activate(); upgradeButtons[_local1].addEventListener(MouseEvent.CLICK, upgradeButtonClicked); _local1++; }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function upgradeButtonClicked(_arg1:MouseEvent){ GameManager.playFx(LEVELCLICK); var _local2:int; while (_local2 <= 3) { if (_local2 <= _arg1.target.parent.idNumber){ upgradeButtons[_local2].turnOn(); } else { upgradeButtons[_local2].turnOff(); }; _local2++; }; currentLevel = _arg1.target.parent.idNumber; switch (currentLevel){ case 0: costAmount = 0; break; case 1: costAmount = 10; break; case 2: costAmount = 40; break; case 3: costAmount = 80; break; default: costAmount = 0; break; }; clip.costText.text = ("$" + String(costAmount)); } } }//package
Section 245
//TankGoal (TankGoal) package { import flash.display.*; public dynamic class TankGoal extends MovieClip { } }//package
Section 246
//TankTurret (TankTurret) package { import flash.display.*; public dynamic class TankTurret extends MovieClip { public function TankTurret(){ addFrameScript(0, frame1, 4, frame5); } function frame5(){ gotoAndStop("normal"); } function frame1(){ stop(); } } }//package
Section 247
//TinkClip (TinkClip) package { import flash.display.*; public dynamic class TinkClip extends MovieClip { public function TinkClip(){ addFrameScript(0, frame1, 19, frame20, 685, frame686); } function frame20(){ stop(); } function frame1(){ stop(); } function frame686(){ stop(); } } }//package
Section 248
//TitleMusic (TitleMusic) package { import flash.media.*; public dynamic class TitleMusic extends Sound { } }//package
Section 249
//TitleScreen (TitleScreen) package { import flash.events.*; import flash.display.*; import mochi.*; import flash.text.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class TitleScreen extends Sprite { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_4:int = 30; const RATE_3:int = 70; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const TURNER_DOWN_LEFT:int = 55; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TANK_TYPE:int = 100; const WATER_TYPE:int = 90; const BUILDER_TYPE:int = 103; const RANGECONTROL:int = 4; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const FOUR_MEGATON:int = 40; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const UPPERHUDOFFSET:int = -20; const WATER_TOP:int = 76; const KAMIKAZE_DOWN:int = 32; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const STORYTHEME:int = 4; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WAITING:int = 9; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var downloadMusicButton:DownloadMusicButton; public var titleMusicButton:MusicButton; public var playMoreGamesButton:PlayMoreGamesButton; public var titleFxButton:FxButton; public var createCustomButton:CreateCustomButton; public var highScoreButton:HighScoreButton; public var createdByButton:CreatedByButton; public var storyScreen:StoryScreen; public var browseAtSSText:TextField; public var playMissionsButton:PlayMissionsButton; public var customInput:CustomInput; public var scoreText:TextField; public var titleScore:int;// = 0 public var downloadMusicAtSSText:TextField; public var playCustomButton:PlayCustomButton; public var browseUserLevelsButton:BrowseUserLevelsButton; public var browseClam:ClamIcon; public function TitleScreen(){ if (GameManager.onSinisterSea){ browseAtSSText.text = ""; downloadMusicAtSSText.text = ""; } else { browseClam.visible = false; }; customInput.visible = false; customInput.levelCodeText.text = ""; customInput.errorCodeText.visible = false; storyScreen.visible = false; } private function browseUserLevelsClicked(_arg1:MouseEvent){ var _local2:URLRequest; if (GameManager.onSinisterSea){ if (PaymentManager.purchaseItems[USERLEVELS].purchased){ proceedToUserLevels(); } else { GameManager.paymentBox = null; GameManager.paymentBox = new PaymentBox(); GameManager.paymentBox.activate(USERLEVELS, this); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); GameManager.paymentBox.addEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); }; } else { GameManager.playFx(MENUCLICK); _local2 = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); }; } public function deactivate(){ playMissionsButton.removeEventListener(MouseEvent.CLICK, playMissionsClicked); createCustomButton.removeEventListener(MouseEvent.CLICK, createCustomClicked); playCustomButton.removeEventListener(MouseEvent.CLICK, playCustomClicked); highScoreButton.removeEventListener(MouseEvent.CLICK, highScoreClicked); playMoreGamesButton.removeEventListener(MouseEvent.CLICK, playMoreGamesClicked); createdByButton.removeEventListener(MouseEvent.CLICK, createdByClicked); customInput.okButton.removeEventListener(MouseEvent.CLICK, customOkClicked); browseUserLevelsButton.removeEventListener(MouseEvent.CLICK, browseUserLevelsClicked); downloadMusicButton.removeEventListener(MouseEvent.CLICK, downloadMusicClicked); } private function playCustomClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); customInput.visible = true; } public function activate(){ playMissionsButton.addEventListener(MouseEvent.CLICK, playMissionsClicked); createCustomButton.addEventListener(MouseEvent.CLICK, createCustomClicked); playCustomButton.addEventListener(MouseEvent.CLICK, playCustomClicked); highScoreButton.addEventListener(MouseEvent.CLICK, highScoreClicked); playMoreGamesButton.addEventListener(MouseEvent.CLICK, playMoreGamesClicked); createdByButton.addEventListener(MouseEvent.CLICK, createdByClicked); customInput.okButton.addEventListener(MouseEvent.CLICK, customOkClicked); browseUserLevelsButton.addEventListener(MouseEvent.CLICK, browseUserLevelsClicked); downloadMusicButton.addEventListener(MouseEvent.CLICK, downloadMusicClicked); var _local1:int; while (_local1 < GameManager.levelInfo.length) { titleScore = (titleScore + GameManager.levelInfo[_local1].bestScore); _local1++; }; scoreText.text = ("Score: " + titleScore); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } private function userLevelsCancelled(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } private function playMoreGamesClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } private function createdByClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); var _local2:URLRequest = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); } private function proceedToUserLevels(){ GameManager.playFx(MENUCLICK); GameManager.leaveTitle(); GameManager.loadLevelBrowse(); } private function customOkClicked(_arg1:MouseEvent){ var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local2:Boolean; var _local3:Array = new Array(); var _local4:int; var _local5:int; var _local6:int; var _local7:Array = new Array(); var _local8:String = customInput.levelCodeText.text; var _local9:Boolean; _local8 = _local8.toLowerCase(); var _local10:int; while (_local10 < _local8.length) { _local9 = false; if (_local8.charAt(_local10) == "0"){ _local9 = true; }; if (_local8.charAt(_local10) == "1"){ _local9 = true; }; if (_local8.charAt(_local10) == "2"){ _local9 = true; }; if (_local8.charAt(_local10) == "3"){ _local9 = true; }; if (_local8.charAt(_local10) == "4"){ _local9 = true; }; if (_local8.charAt(_local10) == "5"){ _local9 = true; }; if (_local8.charAt(_local10) == "6"){ _local9 = true; }; if (_local8.charAt(_local10) == "7"){ _local9 = true; }; if (_local8.charAt(_local10) == "8"){ _local9 = true; }; if (_local8.charAt(_local10) == "9"){ _local9 = true; }; if (_local8.charAt(_local10) == "x"){ _local9 = true; }; if (!_local9){ _local8 = String((_local8.substring(0, (_local10 - 1)) + _local8.substring((_local10 + 1), (_local8.length - 1)))); }; _local10++; }; if ((((_local8.length < 555)) || ((_local8.length > 559)))){ _local2 = false; }; if (_local2){ _local3 = _local8.split("x"); if (_local3.length != 25){ _local2 = false; } else { _local4 = int(_local3[22]); if ((((_local4 < 1)) || ((_local4 > 99)))){ _local2 = false; }; _local5 = int(_local3[23]); if ((((_local5 < 1)) || ((_local5 > 99)))){ _local2 = false; }; _local6 = int(_local3[24]); if ((((_local6 < 0)) || ((_local6 > 999)))){ _local2 = false; }; _local3.splice(22, 3); _local10 = 0; while (_local10 < 22) { if (_local3[_local10].length != 24){ _local2 = false; }; _local10++; }; }; }; if (_local2){ _local11 = 0; _local12 = 0; _local13 = 0; _local10 = 0; while (_local10 < _local3.length) { _local7[_local10] = new Array(); _local14 = 0; while (_local14 < _local3[_local10].length) { if ((_local14 % 2) == 0){ _local7[_local10][(_local14 / 2)] = ((int(_local3[_local10].charAt(_local14)) * 10) + int(_local3[_local10].charAt((_local14 + 1)))); switch (_local7[_local10][(_local14 / 2)]){ case 0: break; case GOAL: _local12++; break; case BUILDER: _local11++; break; case MINE: break; case CRATE_HEALTH: break; case CRATE_MONEY: break; case CRATE_SIDESWITCHER: break; case CRATE_TANK: _local13++; break; case STATION_SPEED: break; case STATION_ARMOR: break; case STATION_ATTACK: break; case STATION_RATE: break; case STATION_RANGE: break; case SENTRY_EASY: break; case SENTRY_MEDIUM: break; case SENTRY_HARD: break; case KAMIKAZE_DOWN: break; case KAMIKAZE_RIGHT: break; case KAMIKAZE_LEFT: break; case KAMIKAZE_UP: break; case PATROLLER_UP: break; case PATROLLER_RIGHT: break; case PATROLLER_DOWN: break; case PATROLLER_LEFT: break; case HOMINGMISSLEBUILDER: break; case TURNER_RIGHT_RIGHT: break; case TURNER_DOWN_RIGHT: break; case TURNER_LEFT_RIGHT: break; case TURNER_UP_RIGHT: break; case TURNER_RIGHT_LEFT: break; case TURNER_DOWN_LEFT: break; case TURNER_LEFT_LEFT: break; case TURNER_UP_LEFT: break; case TREE1: break; case TREE2: break; default: if ((((_local7[_local10][(_local14 / 2)] >= 70)) && ((_local7[_local10][(_local14 / 2)] <= WATER_TYPE)))){ } else { _local2 = false; }; break; }; }; _local14++; }; _local10++; }; if (((!((_local11 == 1))) || (!((_local12 == 1))))){ _local2 = false; }; if (_local5 > (_local4 + _local13)){ _local2 = false; }; }; if (_local2){ GameManager.playFx(MENUCLICK); GameManager.initiateCustom(_local8); GameManager.leaveTitle(); } else { GameManager.playFx(LOADERROR); customInput.errorCodeText.visible = true; }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } private function downloadMusicClicked(_arg1:MouseEvent){ var _local2:URLRequest; if (GameManager.onSinisterSea){ GameManager.playFx(MENUCLICK); GameManager.leaveTitle(); GameManager.loadMusicDownload(); } else { GameManager.playFx(MENUCLICK); _local2 = new URLRequest("http://www.sinistersea.com"); navigateToURL(_local2, "_blank"); }; } private function startGame(_arg1:MouseEvent){ deactivate(); } private function userLevelsPurchased(_arg1:PaymentEvent){ GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_FAILED, userLevelsCancelled); GameManager.paymentBox.removeEventListener(PaymentEvent.PURCHASE_SUCCESSFUL, userLevelsPurchased); proceedToUserLevels(); } private function playMissionsClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.leaveTitle(); GameManager.loadSelect(); } private function createCustomClicked(_arg1:MouseEvent){ GameManager.playFx(MENUCLICK); GameManager.leaveTitle(); GameManager.loadEditor(); } private function highScoreClicked(_arg1:MouseEvent){ var e = _arg1; GameManager.playFx(MENUCLICK); if (titleScore != GameManager.lastSubmittedScore){ MochiScores.showLeaderboard({boardID:"77ff1d2970500ebf", score:titleScore, onClose:function ():void{ }}); GameManager.lastSubmittedScore = titleScore; GameManager.resumeLSO.data.lastSubmittedScore = titleScore; try { GameManager.resumeLSO.flush(); } catch(e:Error) { }; } else { MochiScores.showLeaderboard({boardID:"77ff1d2970500ebf", onClose:function ():void{ }}); }; } } }//package
Section 250
//ToggleButton (ToggleButton) package { import flash.events.*; import flash.display.*; public class ToggleButton extends Sprite { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var idNumber:int;// = 0 public var isOn:Boolean;// = false public var isMouseOver:Boolean;// = false public var clip:MovieClip; public function deactivate(){ clip.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverButton); clip.removeEventListener(MouseEvent.MOUSE_OUT, mouseOffButton); clip.removeEventListener(MouseEvent.CLICK, mouseClickedButton); clip.buttonMode = false; } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function mouseOffButton(_arg1:MouseEvent){ isMouseOver = false; if (isOn){ clip.gotoAndStop("on"); } else { clip.gotoAndStop("off"); }; } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function display(){ addChild(clip); } public function activate(){ if (isOn){ turnOn(); } else { turnOff(); }; clip.addEventListener(MouseEvent.MOUSE_OVER, mouseOverButton); clip.addEventListener(MouseEvent.MOUSE_OUT, mouseOffButton); clip.addEventListener(MouseEvent.CLICK, mouseClickedButton); clip.buttonMode = true; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function turnOn(){ isOn = true; if (isMouseOver){ clip.gotoAndStop("onOver"); } else { clip.gotoAndStop("on"); }; } public function mouseOverButton(_arg1:MouseEvent){ isMouseOver = true; if (isOn){ clip.gotoAndStop("onOver"); } else { clip.gotoAndStop("offOver"); }; } public function mouseClickedButton(_arg1:MouseEvent){ } public function turnOff(){ isOn = false; if (isMouseOver){ clip.gotoAndStop("offOver"); } else { clip.gotoAndStop("off"); }; } } }//package
Section 251
//TransmissionFX (TransmissionFX) package { import flash.media.*; public dynamic class TransmissionFX extends Sound { } }//package
Section 252
//Tree1Clip (Tree1Clip) package { import flash.display.*; public dynamic class Tree1Clip extends MovieClip { } }//package
Section 253
//Tree2Clip (Tree2Clip) package { import flash.display.*; public dynamic class Tree2Clip extends MovieClip { } }//package
Section 254
//TryAgainButton (TryAgainButton) package { import flash.display.*; public dynamic class TryAgainButton extends SimpleButton { } }//package
Section 255
//Turner (Turner) package { public class Turner extends Unit { public var destinationSet:Boolean;// = false public var turnsRight:Boolean;// = true public var currentDirection:int;// = 1 public function Turner(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean){ clip = new TurnerClip(); super(_arg2, _arg3); unitID = _arg1; typeOfUnit = TURNER_TYPE; maxhealth = 100; health = maxhealth; currentSpeed = 1; rotateSpeed = 1; turretRotationSpeed = 1.5; range = 135; payloadSize = TWO_MEGATON; damageMultiplier = DAMAGE_1; shotRecovery = 150; currentRecovery = 0; doesMove = true; doesFire = true; hasTurret = true; clearedBuilder = true; turnsRight = _arg5; switch (_arg4){ case UP: clip.rotation = 0; currentDirection = UP; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case RIGHT: clip.rotation = 90; currentDirection = RIGHT; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case DOWN: clip.rotation = 180; currentDirection = DOWN; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; case LEFT: clip.rotation = -90; currentDirection = LEFT; destinationX = CellFromPos(clip.x); destinationY = CellFromPos(clip.y); break; }; } public function checkForObstacles(_arg1:int){ if (_arg1 > UP){ switch (currentDirection){ case UP: destinationY++; break; case RIGHT: destinationX--; break; case DOWN: destinationY--; break; case LEFT: destinationX++; break; }; changeDirection(); }; } public function updateDestination(){ if (!destinationSet){ if (currentDirection == LEFT){ destinationX--; destinationSet = true; if (destinationX < 0){ destinationX++; changeDirection(); }; } else { if (currentDirection == RIGHT){ destinationX++; destinationSet = true; if (destinationX >= FIELDWIDTH){ destinationX--; changeDirection(); }; } else { if (currentDirection == UP){ destinationY--; destinationSet = true; if (destinationY < 0){ destinationY++; changeDirection(); }; } else { if (currentDirection == DOWN){ destinationY++; destinationSet = true; if (destinationY >= FIELDHEIGHT){ destinationY--; changeDirection(); }; }; }; }; }; }; } public function moveMe(){ var _local1:Number = clip.rotation; if (_local1 < 0){ _local1 = (_local1 + 360); }; switch (currentDirection){ case UP: if (clip.y <= (PosFromCell(destinationY) + currentSpeed)){ clip.y = PosFromCell(destinationY); destinationSet = false; } else { if (_local1 == 0){ clip.y = (clip.y - currentSpeed); destinationSet = false; } else { if (_local1 >= 180){ if ((_local1 + rotateSpeed) >= 360){ clip.rotation = 0; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 0){ clip.rotation = 0; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case RIGHT: if (clip.x >= (PosFromCell(destinationX) - currentSpeed)){ clip.x = PosFromCell(destinationX); destinationSet = false; } else { if (_local1 == 90){ clip.x = (clip.x + currentSpeed); destinationSet = false; } else { if ((((_local1 >= 270)) || ((_local1 < 90)))){ if (((((_local1 + rotateSpeed) >= 90)) && ((_local1 < 90)))){ clip.rotation = 90; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 90){ clip.rotation = 90; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case DOWN: if (clip.y >= (PosFromCell(destinationY) - currentSpeed)){ clip.y = PosFromCell(destinationY); destinationSet = false; } else { if (_local1 == 180){ clip.y = (clip.y + currentSpeed); destinationSet = false; } else { if (_local1 < 180){ if ((_local1 + rotateSpeed) >= 180){ clip.rotation = 180; } else { clip.rotation = (clip.rotation + rotateSpeed); }; } else { if ((_local1 - rotateSpeed) <= 180){ clip.rotation = 180; } else { clip.rotation = (clip.rotation - rotateSpeed); }; }; }; }; break; case LEFT: if (clip.x <= (PosFromCell(destinationX) + currentSpeed)){ clip.x = PosFromCell(destinationX); destinationSet = false; } else { if (_local1 == 270){ clip.x = (clip.x - currentSpeed); destinationSet = false; } else { if ((((_local1 > 270)) || ((_local1 <= 90)))){ if (((((_local1 - rotateSpeed) <= 270)) && ((_local1 > 270)))){ clip.rotation = -90; } else { clip.rotation = (clip.rotation - rotateSpeed); }; } else { if ((_local1 + rotateSpeed) >= 270){ clip.rotation = -90; } else { clip.rotation = (clip.rotation + rotateSpeed); }; }; }; }; break; }; } public function changeDirection(){ if (currentDirection == RIGHT){ if (turnsRight){ currentDirection = DOWN; } else { currentDirection = UP; }; } else { if (currentDirection == DOWN){ if (turnsRight){ currentDirection = LEFT; } else { currentDirection = RIGHT; }; } else { if (currentDirection == LEFT){ if (turnsRight){ currentDirection = UP; } else { currentDirection = DOWN; }; } else { if (currentDirection == UP){ if (turnsRight){ currentDirection = RIGHT; } else { currentDirection = LEFT; }; }; }; }; }; destinationSet = false; } } }//package
Section 256
//TurnerClip (TurnerClip) package { import flash.display.*; public dynamic class TurnerClip extends MovieClip { public var tankTurret:PatrollerTurret; public function TurnerClip(){ addFrameScript(11, frame12, 23, frame24, 36, frame37); } function frame37(){ gotoAndPlay("normal"); } function frame12(){ gotoAndPlay("normal"); } function frame24(){ stop(); } } }//package
Section 257
//TutorialBox (TutorialBox) package { import flash.display.*; public dynamic class TutorialBox extends MovieClip { public var nextButton:NextButton; public var prevButton:PrevButton; public var closeButton:CloseButton; public function TutorialBox(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); } function frame1(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame2(){ stop(); } } }//package
Section 258
//TutorialHover (TutorialHover) package { import flash.display.*; public dynamic class TutorialHover extends MovieClip { public function TutorialHover(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } } }//package
Section 259
//Unit (Unit) package { import flash.display.*; import mochi.*; import org.flintparticles.twoD.renderers.*; import flash.net.*; public class Unit { const CRATE_TANK:int = 17; const IN_PROGRESS:int = 2; const BUILD_COMPLETE:int = 15; const PATROLLER_TYPE:int = 112; const HALFCELL:int = 15; const LEFT:int = 3; const CRATEMONEYADDED:int = 100; const HORIZONTAL:int = 6; const TANKMOVEOFFSET:int = 10; const HUDDEPTH:int = 0; const WATER_TOPRIGHT:int = 80; const EDITORREMOVE:int = 13; const BUILDTANK:int = 6; const HUDOFFSET:int = 20; const SHELLFIRE:int = 3; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const TREE2:int = 92; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_RIGHTBOTTOMLEFT:int = 87; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TWO_MEGATON:int = 15; const TURNER_TYPE:int = 111; const LAST_LEVEL:int = 10; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const RATE_1:int = 120; const RATE_2:int = 100; const RATE_3:int = 70; const RATE_4:int = 30; const DOWN:int = 2; const MOVEMENT_GOAL:int = 10; const WONLEVEL:int = 15; const WATER_RIGHT:int = 77; const WATER_TOPRIGHTLEFT:int = 86; const STORYSTATE:int = 4; const LOADERROR:int = 14; const LEVELTHEME:int = 2; const PATROLLER_LEFT:int = 43; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const CRATE_MONEY:int = 15; const COLLISIONDISTANCE:int = 20; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const ARMOR_3:int = 200; const ARMOR_4:int = 400; const DROP_NO:int = 30; const LEVEL_WON:int = 3; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const STATION_SPEED:int = 19; const TURNER_LEFT_RIGHT:int = 52; const MAXDISTANCE:int = 10000; const SENTRY_HARD:int = 27; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const PLAYER1:int = 1; const PATROLLER_DOWN:int = 42; const TURNER_DOWN_LEFT:int = 55; const WATER_TYPE:int = 90; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const RANGE_1:int = 80; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const FOUR_MEGATON:int = 40; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const RANGECONTROL:int = 4; const PATHDEPTH:int = 0; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const TRANSMISSION:int = 17; const TITLE_STARTGAME:int = 1; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const ATTACKCONTROL:int = 2; const ATTACK_LASER:int = 25; const RIGHT:int = 1; const STORYTHEME:int = 4; const WATER_TOP:int = 76; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const LEVELTEXTSIZE:int = 12; const SPEED_1:Number = 1.25; const SPEED_3:Number = 2.5; const SPEED_4:Number = 4; const SPEED_2:Number = 1.75; const TURNING:int = 6; const BUILDTIME:int = 80; const MISSION_TYPE:int = 2; const KAMIKAZE_RIGHT:int = 31; const STATION_RANGE:int = 23; const STATION_ARMOR:int = 20; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const WAITING:int = 9; const NOENEMY:int = -50; const WATER_LEFT:int = 79; const WATER_TOPBOTTOM:int = 81; const WATER_TOPBOTTOMLEFT:int = 85; const MOVINGRIGHT:int = 1; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const PREDICTIVE_TYPE_BARRIER:int = 110; const UP:int = 4; const ADD_MODE:int = 2; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const BUILDING:int = 14; const UNITEXPLODE:int = 5; const NODIRECTION:int = 0; const LOSTLEVEL:int = 16; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const HUNTER_SET:int = 4; const SELECT_MODE:int = 1; const MENU_RESUME:int = 1; const GOAL:int = 11; const ATTACK_NO:int = 20; const COMPUTER:int = 2; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const LAUNCHER_SET:int = 1; const TURNER_RIGHT_RIGHT:int = 50; const SCORETEXTSIZE:int = 10; const SPEEDCONTROL:int = 0; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const ARMORCONTROL:int = 1; const DAMAGE_1:Number = 1; const DAMAGE_2:Number = 1.25; const DAMAGE_3:Number = 1.75; const DAMAGE_4:Number = 2.5; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const MOVINGUP:int = 4; const WATER_TOPLEFT:int = 82; const VERTICAL:int = 5; const BUILD_STARTED:int = 16; const BUILDER:int = 10; const LEVELSTATE:int = 2; const EDITORPLACE:int = 12; const SENTRY_TYPE:int = 102; const DROP_MINE:int = 35; const DELETE_MODE:int = 3; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const WATER_RIGHTBOTTOM:int = 88; const SENTRY_SET:int = 2; const PATROLLER_UP:int = 40; const SHELLLAND:int = 4; public var distanceToEnemy:Number;// = 100000 public var currentRecovery:int;// = 0 public var hasTurret:Boolean;// = false public var doesFire:Boolean;// = true public var turretRotationSpeed:Number;// = 1 public var showSmoke:Boolean;// = true public var maxhealth:Number;// = 100 public var shotRecovery:int;// = 0 public var smokeAdded:Boolean;// = false public var extraClips:Array; public var hud:Sprite; public var range:Number;// = 0 public var hudOn:Boolean;// = false public var smokeClip:SmokeClip; public var closestEnemyX:int;// = -50 public var closestEnemyY:int;// = -50 public var unitID:int;// = 0 public var isAlive:Boolean;// = true public var atDestination:Boolean;// = false public var payloadType:int;// = 1 public var doesMove:Boolean;// = false public var destinationY:int;// = 0 public var closestEnemyID:int;// = -50 public var destinationX:int;// = 0 public var healthPercent:int;// = 100 public var currentSpeed:Number;// = 0 public var health:Number;// = 0 public var clearedBuilder:Boolean;// = false public var damageMultiplier:Number;// = 1 public var payloadSize:int;// = 10 public var readyToFire:Boolean;// = false public var moveStatus:int;// = 9 public var clip:MovieClip; public var doesBuild:Boolean;// = false public var firingRange:FiringRange; public var lifebar:LifebarClip; public var rotateSpeed:Number;// = 0 public var showSmokeCount:int;// = 0 public var typeOfUnit:int;// = 0 public function Unit(_arg1:int, _arg2:int){ hud = new Sprite(); lifebar = new LifebarClip(); firingRange = new FiringRange(); extraClips = new Array(); smokeClip = new SmokeClip(); super(); clip.x = _arg1; clip.y = _arg2; } public function turnOnHUD(){ firingRange.width = (range * 2); firingRange.height = (range * 2); firingRange.x = (-1 * range); firingRange.y = ((-1 * range) - HUDOFFSET); if (!hudOn){ hudOn = true; hud.addChild(lifebar); if (typeOfUnit != MISSLE_TYPE){ hud.addChildAt(firingRange, 0); }; }; } public function targetEnemy(_arg1:Object, _arg2:Object){ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if (closestEnemyID != NOENEMY){ _local3 = getTargetRotation((closestEnemyX - _arg1.x), (closestEnemyY - _arg1.y)); _local4 = _arg1.rotation; if (_arg1 == _arg2){ _local4 = 0; }; _local5 = (_arg2.rotation + _local4); if (_local5 < 0){ _local5 = (360 + _local5); }; _local6 = getRotationAmount(_local5, _local3, turretRotationSpeed); if (Math.abs(_local6) < turretRotationSpeed){ _local7 = (_local3 - _local4); _arg2.rotation = _local7; if (currentRecovery >= shotRecovery){ readyToFire = true; } else { currentRecovery++; }; } else { _arg2.rotation = (_arg2.rotation + _local6); if (currentRecovery < shotRecovery){ currentRecovery++; }; }; } else { if (currentRecovery < shotRecovery){ currentRecovery++; }; }; } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } public function updateUnit(){ healthPercent = int(((health / maxhealth) * 100)); if (clip.y > 340){ lifebar.y = -40; } else { lifebar.y = 0; }; lifebar.gotoAndStop(healthPercent); hud.x = clip.x; hud.y = (clip.y + HUDOFFSET); if (showSmokeCount >= 4){ showSmokeCount = 0; showSmoke = true; } else { showSmoke = false; showSmokeCount++; }; } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function addPerk(_arg1:int){ var _local2:MovieClip; switch (_arg1){ case CRATE_SIDESWITCHER: _local2 = new SideswitcherPerkClip(); clip.addChildAt(_local2, 0); extraClips.push(_local2); break; }; } public function removeActions(){ var _local1:int = extraClips.length; var _local2:int = (_local1 - 1); while (_local2 >= 0) { clip.removeChild(extraClips[_local2]); extraClips.splice(_local2, 1); _local2--; }; if (smokeAdded){ clip.removeChild(smokeClip); }; } public function turnOffHUD(){ if (hudOn){ hudOn = false; hud.removeChild(lifebar); if (typeOfUnit != MISSLE_TYPE){ hud.removeChild(firingRange); }; }; } public function deathActions(){ isAlive = false; turnOffHUD(); } } }//package
Section 260
//UnitExplodeFX (UnitExplodeFX) package { import flash.media.*; public dynamic class UnitExplodeFX extends Sound { } }//package
Section 261
//UnitExplosion (UnitExplosion) package { import flash.geom.*; import org.flintparticles.common.initializers.*; import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.twoD.zones.*; import org.flintparticles.twoD.emitters.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.twoD.initializers.*; import org.flintparticles.common.displayObjects.*; public class UnitExplosion { const RIGHT:int = 1; const TITLE_STARTGAME:int = 1; const IN_PROGRESS:int = 2; const HOMINGMISSLEBUILDER:int = 45; const TURNER_UP_RIGHT:int = 53; const SHELL:int = 1; const BUILD_COMPLETE:int = 15; const LEVELTEXTSIZE:int = 12; const HALFCELL:int = 15; const LEFT:int = 3; const SPEED_1:Number = 1.25; const PATROLLER_TYPE:int = 112; const CRATE_TANK:int = 17; const HORIZONTAL:int = 6; const TURNING:int = 6; const TANKMOVEOFFSET:int = 10; const SHELLLAND:int = 4; const SPEED_2:Number = 1.75; const HUDDEPTH:int = 0; const MISSION_TYPE:int = 2; const WATER_TOPRIGHT:int = 80; const KAMIKAZE_RIGHT:int = 31; const EDITORREMOVE:int = 13; const STATION_RANGE:int = 23; const SPEED_3:Number = 2.5; const STATION_ARMOR:int = 20; const BUILDTANK:int = 6; const WATER_ALL:int = 75; const SINKSOUND:int = 11; const HUDOFFSET:int = 20; const WAITING:int = 9; const SHELLFIRE:int = 3; const NOENEMY:int = -50; const SPEED_4:Number = 4; const CRATEMONEYADDED:int = 100; const MINE:int = 13; const CRATE_SIDESWITCHER:int = 16; const ATTACK_LASER:int = 25; const WATER_TOPBOTTOM:int = 81; const EDITORTHEME:int = 3; const RATECONTROL:int = 3; const WATER_LEFT:int = 79; const SHOW_HUD_DISTANCE:int = 40; const CELLSIZE:int = 30; const WATER_TOPBOTTOMLEFT:int = 85; const SENTRY_EASY:int = 25; const TREE1:int = 91; const TREE2:int = 92; const WATER_RIGHTBOTTOMLEFT:int = 87; const MOVINGRIGHT:int = 1; const TURNER_TYPE:int = 111; const TITLETHEME:int = 1; const WATER_BOTTOM:int = 78; const TWO_MEGATON:int = 15; const LAST_LEVEL:int = 10; const BUILDTIME:int = 80; const CRATE_HEALTH:int = 14; const FIELDHEIGHT:int = 12; const TIMETEXTSIZE:int = 10; const LEVELCLICK:int = 2; const ONE_MEGATON:int = 10; const OBSTACLE_SET:int = 0; const SINK:int = 2; const RATE_4:int = 30; const RATE_1:int = 120; const RATE_2:int = 100; const UP:int = 4; const PREDICTIVE_TYPE_BARRIER:int = 110; const ADD_MODE:int = 2; const DOWN:int = 2; const RATE_3:int = 70; const WONLEVEL:int = 15; const WATER_NONE1:int = 70; const WATER_NONE2:int = 71; const WATER_NONE3:int = 72; const WATER_NONE4:int = 73; const WATER_NONE5:int = 74; const WATER_TOPRIGHTLEFT:int = 86; const WATER_RIGHT:int = 77; const STORYSTATE:int = 4; const UNITEXPLODE:int = 5; const LOSTLEVEL:int = 16; const LOADERROR:int = 14; const BUILDING:int = 14; const LEVELTHEME:int = 2; const WATER_RIGHTLEFT:int = 83; const EDITOR_TYPE:int = 1; const NODIRECTION:int = 0; const PATROLLER_LEFT:int = 43; const CRATECOLLECTED:int = 8; const KAMIKAZE_UP:int = 30; const MOVEMENT_GOAL:int = 10; const CREATESTATE:int = 3; const USERLEVELS:int = 0; const READY_TO_BEGIN:int = 1; const HUNTER_SET:int = 4; const CRATE_MONEY:int = 15; const SELECT_MODE:int = 1; const WATER_BOTTOMLEFT:int = 89; const FIELDWIDTH:int = 22; const MENU_RESUME:int = 1; const COLLISIONDISTANCE:int = 20; const ARMOR_1:int = 50; const ARMOR_2:int = 100; const GOAL:int = 11; const ARMOR_4:int = 400; const ATTACK_NO:int = 20; const LEVEL_WON:int = 3; const LEVEL_LOST:int = 4; const WATER_TOPRIGHTBOTTOM:int = 84; const ARMOR_3:int = 200; const LAUNCHER_SET:int = 1; const SCORETEXTSIZE:int = 10; const TURNER_LEFT_LEFT:int = 56; const STATION_RATE:int = 22; const PATROLLER_SET:int = 3; const TURNER_RIGHT_RIGHT:int = 50; const SIDESWITCHER:int = 2; const TITLESTATE:int = 1; const SPEEDCONTROL:int = 0; const TURNER_LEFT_RIGHT:int = 52; const STATION_SPEED:int = 19; const REACHEDGOAL:int = 7; const CUSTOM_TYPE:int = 3; const DROP_NO:int = 30; const SENTRY_HARD:int = 27; const ARMORCONTROL:int = 1; const KAMIKAZE_LEFT:int = 33; const MOVINGLEFT:int = 3; const PATROLLERDELAY:int = 50; const GOALREMOVE:int = 3; const MAXDISTANCE:int = 10000; const DAMAGE_1:Number = 1; const DAMAGE_3:Number = 1.75; const MISSLELAUNCH:int = 10; const MENUCLICK:int = 1; const PATROLLER_RIGHT:int = 41; const DAMAGE_4:Number = 2.5; const MOVINGUP:int = 4; const PATROLLER_DOWN:int = 42; const VERTICAL:int = 5; const BUILDER:int = 10; const TURNER_DOWN_LEFT:int = 55; const BUILD_STARTED:int = 16; const WATER_TYPE:int = 90; const WATER_TOPLEFT:int = 82; const BUILDER_TYPE:int = 103; const TANK_TYPE:int = 100; const OFFSETDISTANCE:int = 10; const LEVELSTATE:int = 2; const COMPUTER:int = 2; const RANGE_2:int = 120; const RANGE_3:int = 170; const RANGE_4:int = 240; const TURNER_DOWN_RIGHT:int = 51; const RANGE_1:int = 80; const EDITORPLACE:int = 12; const DAMAGE_2:Number = 1.25; const PLAYER1:int = 1; const STATIONREACHED:int = 9; const DAMAGEMINIMUM:int = 10; const SENTRY_TYPE:int = 102; const RANGECONTROL:int = 4; const DROP_MINE:int = 35; const PATHDEPTH:int = 0; const FOUR_MEGATON:int = 40; const DELETE_MODE:int = 3; const THREE_MEGATON:int = 25; const POWERUP_SET:int = 5; const MISSLE_TYPE:int = 104; const BLOWUP:int = 1; const STATION_ATTACK:int = 21; const SENTRY_MEDIUM:int = 26; const TURNER_UP_LEFT:int = 57; const TANKSADDED:int = 1; const TURNER_RIGHT_LEFT:int = 54; const SENTRY_SET:int = 2; const TRANSMISSION:int = 17; const WATER_RIGHTBOTTOM:int = 88; const PATROLLER_UP:int = 40; const KAMIKAZE_DOWN:int = 32; const UPPERHUDOFFSET:int = -20; const MOVINGDOWN:int = 2; const STORYTHEME:int = 4; const ATTACKCONTROL:int = 2; const WATER_TOP:int = 76; public var centerFire:Emitter2D; public var smoke:Emitter2D; public var backFire:Emitter2D; public function UnitExplosion(_arg1:int, _arg2:int){ smoke = new Emitter2D(); centerFire = new Emitter2D(); backFire = new Emitter2D(); super(); smoke.counter = new Blast(5); smoke.addInitializer(new Lifetime(2, 3)); smoke.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 20, 1))); smoke.addInitializer(new SharedImage(new RadialDot(6))); smoke.addAction(new Age()); smoke.addAction(new Move()); smoke.addAction(new ScaleImage(1, 7)); smoke.addAction(new Fade(0.75, 0)); smoke.addAction(new RandomDrift(15, 15)); smoke.x = _arg1; smoke.y = _arg2; smoke.start(); centerFire.counter = new Blast(1); centerFire.addInitializer(new Lifetime(3, 3)); centerFire.addInitializer(new SharedImage(new RadialDot(10))); centerFire.addAction(new Age()); centerFire.addAction(new Move()); centerFire.addAction(new ColorChange(4291559424, 0xFFCC00)); centerFire.addAction(new ScaleImage(1, 20)); centerFire.x = _arg1; centerFire.y = _arg2; centerFire.start(); backFire.counter = new Blast(1); backFire.addInitializer(new Lifetime(1, 1)); backFire.addInitializer(new SharedImage(new Dot(10))); backFire.addAction(new Age()); backFire.addAction(new Move()); backFire.addAction(new ColorChange(4291559424, 0xFFCC00)); backFire.addAction(new ScaleImage(1, 10)); backFire.x = _arg1; backFire.y = _arg2; backFire.start(); } public function PosFromCell(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (((_arg1 * _local2) + (_local3 + _local6))); } public function getRotationAmount(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number = _arg2; if (_local4 < 0){ _local4 = (_local4 + 360); }; var _local5:Number = _arg1; if (_local5 < 0){ _local5 = (_local5 + 360); }; var _local6:Number = Math.abs((_local5 - _local4)); if (_local6 > 180){ _local6 = (360 - _local6); }; var _local7:Number = (_local5 - _local6); var _local8:Number = (_local5 + _local6); if (_local7 >= 360){ _local7 = (_local7 - 360); }; if (_local8 >= 360){ _local8 = (_local8 - 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; if (_local8 < 0){ _local8 = (_local8 + 360); }; if (_local7 == _local4){ if (_local6 < _arg3){ return ((_local6 * -1)); }; return ((_arg3 * -1)); //unresolved jump }; if (_local6 < _arg3){ return (_local6); }; return (_arg3); } public function CellFromPos(_arg1:int):int{ var _local2 = 30; var _local3 = 15; var _local4 = 22; var _local5 = 12; var _local6 = 10; var _local7 = 40; var _local8 = 10; var _local9:int; var _local10 = 1; var _local11 = 2; var _local12 = 3; var _local13 = 4; var _local14 = 1; var _local15 = 2; var _local16 = 3; var _local17 = 4; var _local18 = 1; var _local19 = 1; var _local20 = 2; var _local21 = 3; var _local22 = 1; var _local23 = 1; var _local24 = 2; var _local25 = 3; var _local26 = 4; var _local27 = 1; var _local28 = 2; var _local29 = 3; var _local30 = 4; var _local31 = 5; var _local32 = 6; var _local33 = 7; var _local34 = 8; var _local35 = 9; var _local36 = 10; var _local37 = 11; var _local38 = 12; var _local39 = 13; var _local40 = 14; var _local41 = 15; var _local42 = 16; var _local43 = 17; var _local44:int; var _local45 = 1; var _local46 = 2; var _local47 = 3; var _local48 = 4; var _local49 = 5; var _local50 = 1; var _local51 = 2; var _local52 = 3; var _local53:int; var _local54 = 1; var _local55 = 2; var _local56 = 3; var _local57 = 4; var _local58 = 5; var _local59 = 6; var _local60 = 10; var _local61 = 10; var _local62 = 11; var _local63 = 13; var _local64 = 14; var _local65 = 15; var _local66 = 16; var _local67 = 17; var _local68 = 20; var _local69 = 19; var _local70 = 21; var _local71 = 22; var _local72 = 23; var _local73 = 25; var _local74 = 26; var _local75 = 27; var _local76 = 30; var _local77 = 31; var _local78 = 32; var _local79 = 33; var _local80 = 40; var _local81 = 41; var _local82 = 42; var _local83 = 43; var _local84 = 45; var _local85 = 50; var _local86 = 51; var _local87 = 52; var _local88 = 53; var _local89 = 54; var _local90 = 55; var _local91 = 56; var _local92 = 57; var _local93 = 70; var _local94 = 71; var _local95 = 72; var _local96 = 73; var _local97 = 74; var _local98 = 75; var _local99 = 76; var _local100 = 77; var _local101 = 78; var _local102 = 79; var _local103 = 80; var _local104 = 81; var _local105 = 82; var _local106 = 83; var _local107 = 84; var _local108 = 85; var _local109 = 86; var _local110 = 87; var _local111 = 88; var _local112 = 89; var _local113 = 90; var _local114 = 91; var _local115 = 92; var _local116 = 100; var _local117 = 102; var _local118 = 103; var _local119 = 104; var _local120 = 110; var _local121 = 111; var _local122 = 112; var _local123 = 9; var _local124 = 1; var _local125 = 3; var _local126 = 4; var _local127 = 2; var _local128 = 6; var _local129 = 1; var _local130 = 3; var _local131 = 2; var _local132 = 1; var _local133 = 2; var _local134 = 10; var _local135:int; var _local136 = 1; var _local137 = 2; var _local138 = 3; var _local139 = 4; var _local140 = 14; var _local141 = 16; var _local142 = 15; var _local143 = 50; var _local144 = 100; var _local145 = 200; var _local146 = 400; var _local147:Number = 1.25; var _local148:Number = 1.75; var _local149:Number = 2.5; var _local150:Number = 4; var _local151 = 10; var _local152 = 15; var _local153 = 25; var _local154 = 40; var _local155:Number = 1; var _local156:Number = 1.25; var _local157:Number = 1.75; var _local158:Number = 2.5; var _local159 = 120; var _local160 = 100; var _local161 = 70; var _local162 = 30; var _local163 = 80; var _local164 = 120; var _local165 = 170; var _local166 = 240; var _local167 = 80; var _local168 = 20; var _local169 = -20; var _local170:int; var _local171:int; var _local172 = 100; var _local173 = 1; var _local174 = -50; var _local175 = 10000; var _local176 = 50; var _local177 = 20; var _local178 = 1; var _local179 = 2; var _local180 = 10; var _local181 = 20; var _local182 = 25; var _local183 = 30; var _local184 = 35; var _local185 = 12; var _local186 = 10; var _local187 = 10; return (int(((_arg1 - _local6) / _local2))); } public function getTargetRotation(_arg1:Number, _arg2:Number):Number{ var _local3:* = Math.atan2(_arg2, _arg1); var _local4:* = Math.round(((_local3 * 180) / Math.PI)); _local4 = (_local4 + 90); if (_local4 > 180){ _local4 = (_local4 - 360); }; return (_local4); } public function getDistance(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((((_arg3 - _arg1) * (_arg3 - _arg1)) + ((_arg4 - _arg2) * (_arg4 - _arg2))))); } } }//package
Section 262
//UpgradeButton (UpgradeButton) package { import flash.display.*; public dynamic class UpgradeButton extends MovieClip { public function UpgradeButton(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 263
//WarningScreen (WarningScreen) package { import flash.display.*; public dynamic class WarningScreen extends MovieClip { } }//package
Section 264
//WaterClip (WaterClip) package { import flash.display.*; public dynamic class WaterClip extends MovieClip { public function WaterClip(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame20(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame10(){ stop(); } function frame11(){ stop(); } function frame12(){ stop(); } function frame13(){ stop(); } function frame14(){ stop(); } function frame15(){ stop(); } function frame16(){ stop(); } function frame9(){ stop(); } function frame18(){ stop(); } function frame19(){ stop(); } function frame17(){ stop(); } } }//package
Section 265
//WonLevelFX (WonLevelFX) package { import flash.media.*; public dynamic class WonLevelFX extends Sound { } }//package

Library Items

Symbol 1 FontUsed by:2 3 4 5 6 7 11 14 191 193 195 197 199 201 203 205 207 209 212 215 310 311 312 313 314 316 318 323 324 327 328 329 331 332 333 335 336 337 341 343 345 346 349 351 352 353 355 356 357 359 360 361 364 377 381 382 384 386 389 393 395 398 400 401 402 411 412 416 418 422 424 425 428 430 431 436 437 440 442 513 518 524 525 526 527 528 529 544 545 556 557 558 559 560 561 562 567 568 569 571 572 574 576 577 578 580 581 582 584 585 586 588 589 590 592 593 594 596 597 598 617 618 619 620 621 622 623 624 625 626 634 636 638 643 644 645 646 648 650 653 655 657 660 662 663 676 677 678 680 682 685 692 694 695 698 699 706 707 709 710 712 713 714 715 717 718 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 746 747 750 751 752 755 756 759 760 765 768 770 773 774 776 777 778 779 899 903 904 905 906 907 908 909 910 911 912 915 916 919 920 927 928 929
Symbol 2 TextUses:1Used by:9
Symbol 3 TextUses:1Used by:9
Symbol 4 TextUses:1Used by:9
Symbol 5 TextUses:1Used by:9
Symbol 6 TextUses:1Used by:9
Symbol 7 TextUses:1Used by:9
Symbol 8 GraphicUsed by:9 218 315 330 334 338 358 396 438 573 575 930
Symbol 9 Button {PlayATButton}Uses:2 3 4 5 6 7 8Used by:Timeline
Symbol 10 GraphicUsed by:12
Symbol 11 TextUses:1Used by:12
Symbol 12 MovieClip {AdBox}Uses:10 11Used by:Timeline
Symbol 13 GraphicUsed by:444 523 555 674 854 860  Timeline
Symbol 14 EditableTextUses:1 397 600Used by:Timeline
Symbol 15 GraphicUsed by:58 579 583 587 591 595 599 955
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:44
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:28
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:28
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:28
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:28
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:28
Symbol 28 MovieClip {TankTurret}Uses:19 21 23 25 27Used by:44
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:44
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:44
Symbol 33 ShapeTweeningUsed by:44
Symbol 34 ShapeTweeningUsed by:44
Symbol 35 ShapeTweeningUsed by:44
Symbol 36 ShapeTweeningUsed by:44
Symbol 37 ShapeTweeningUsed by:44
Symbol 38 GraphicUsed by:44
Symbol 39 GraphicUsed by:44
Symbol 40 ShapeTweeningUsed by:44
Symbol 41 ShapeTweeningUsed by:44
Symbol 42 ShapeTweeningUsed by:44
Symbol 43 GraphicUsed by:44 128 145 157 186 267 282 292 307 506
Symbol 44 MovieClip {PlayerTank}Uses:17 28 30 32 33 34 35 36 37 38 39 40 41 42 43Used by:955
Symbol 45 BitmapUsed by:46 47 48 49 50
Symbol 46 GraphicUses:45Used by:51
Symbol 47 GraphicUses:45Used by:51
Symbol 48 GraphicUses:45Used by:51
Symbol 49 GraphicUses:45Used by:51
Symbol 50 GraphicUses:45Used by:51
Symbol 51 MovieClip {DirectionArrow}Uses:46 47 48 49 50Used by:58 955
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip {HoverClip}Uses:52Used by:955
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClip {SelectedClip}Uses:54Used by:955
Symbol 56 GraphicUsed by:58
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClip {PathClip}Uses:56 51 57 15Used by:955
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:101
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:101
Symbol 63 BitmapUsed by:64
Symbol 64 GraphicUses:63Used by:101
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:101
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:101
Symbol 69 BitmapUsed by:70
Symbol 70 GraphicUses:69Used by:101
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:101
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:101
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:101
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:101
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:101
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:101
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:101
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:101
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:101
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:101
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:101
Symbol 93 BitmapUsed by:94
Symbol 94 GraphicUses:93Used by:101
Symbol 95 BitmapUsed by:96
Symbol 96 GraphicUses:95Used by:101
Symbol 97 BitmapUsed by:98
Symbol 98 GraphicUses:97Used by:101
Symbol 99 BitmapUsed by:100
Symbol 100 GraphicUses:99Used by:101
Symbol 101 MovieClip {PlayerBuilder}Uses:60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100Used by:737 955
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:104
Symbol 104 MovieClip {TankGoal}Uses:103Used by:737 955
Symbol 105 GraphicUsed by:110 376 410
Symbol 106 GraphicUsed by:110
Symbol 107 GraphicUsed by:110
Symbol 108 GraphicUsed by:110
Symbol 109 GraphicUsed by:110
Symbol 110 MovieClip {UpgradeButton}Uses:105 106 107 108 109Used by:955
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:113
Symbol 113 MovieClip {MineClip}Uses:112Used by:737 955
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:128
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:124
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:124
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:124
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:124
Symbol 124 MovieClip {sentryTurretEasy}Uses:117 119 121 123Used by:128 955
Symbol 125 ShapeTweeningUsed by:128
Symbol 126 ShapeTweeningUsed by:128
Symbol 127 ShapeTweeningUsed by:128
Symbol 128 MovieClip {SentryEasy}Uses:115 124 125 126 127 43Used by:737 955
Symbol 129 ShapeTweeningUsed by:131
Symbol 130 GraphicUsed by:131
Symbol 131 MovieClip {smallBoom}Uses:129 130Used by:955
Symbol 132 GraphicUsed by:134
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {Shell}Uses:132 133Used by:955
Symbol 135 ShapeTweeningUsed by:137
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClip {SmokeTrail}Uses:135 136Used by:955
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:145
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:145
Symbol 142 ShapeTweeningUsed by:145
Symbol 143 ShapeTweeningUsed by:145
Symbol 144 ShapeTweeningUsed by:145
Symbol 145 MovieClip {KamikazeClip}Uses:139 141 142 143 144 43Used by:955
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:157
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:157
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:157
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:157
Symbol 154 ShapeTweeningUsed by:157
Symbol 155 ShapeTweeningUsed by:157
Symbol 156 ShapeTweeningUsed by:157
Symbol 157 MovieClip {KamikazeBuilderClip}Uses:147 149 151 153 154 155 156 43Used by:737 955
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:186
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:168
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:168
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:168
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:168
Symbol 168 MovieClip {PatrollerTurret}Uses:161 163 165 167Used by:186 292 955
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:186
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:186
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:186
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:186
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:186
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:186
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:186
Symbol 183 ShapeTweeningUsed by:186
Symbol 184 ShapeTweeningUsed by:186
Symbol 185 ShapeTweeningUsed by:186
Symbol 186 MovieClip {PatrollerClip}Uses:159 168 170 172 174 176 178 180 182 183 184 185 43Used by:737 955
Symbol 187 GraphicUsed by:190
Symbol 188 ShapeTweeningUsed by:190
Symbol 189 GraphicUsed by:190
Symbol 190 MovieClip {LifebarClip}Uses:187 188 189Used by:955
Symbol 191 TextUses:1Used by:194
Symbol 192 GraphicUsed by:194
Symbol 193 EditableTextUses:1 397 600Used by:194
Symbol 194 MovieClip {SpeedControl}Uses:191 192 193Used by:955
Symbol 195 TextUses:1Used by:198
Symbol 196 GraphicUsed by:198
Symbol 197 EditableTextUses:1 397 600Used by:198
Symbol 198 MovieClip {AttackControl}Uses:195 196 197Used by:955
Symbol 199 TextUses:1Used by:202
Symbol 200 GraphicUsed by:202
Symbol 201 EditableTextUses:1 397 600Used by:202
Symbol 202 MovieClip {RateControl}Uses:199 200 201Used by:955
Symbol 203 TextUses:1Used by:206
Symbol 204 GraphicUsed by:206
Symbol 205 EditableTextUses:1 397 600Used by:206
Symbol 206 MovieClip {RangeControl}Uses:203 204 205Used by:955
Symbol 207 TextUses:1Used by:210
Symbol 208 GraphicUsed by:210
Symbol 209 EditableTextUses:1 397 600Used by:210
Symbol 210 MovieClip {ArmorControl}Uses:207 208 209Used by:955
Symbol 211 GraphicUsed by:218 399
Symbol 212 TextUses:1Used by:218
Symbol 213 GraphicUsed by:218
Symbol 214 GraphicUsed by:218
Symbol 215 TextUses:1Used by:218
Symbol 216 ShapeTweeningUsed by:218
Symbol 217 GraphicUsed by:218
Symbol 218 MovieClip {BuildTankButton}Uses:211 212 213 214 215 216 217 8Used by:737 955
Symbol 219 BitmapUsed by:220
Symbol 220 GraphicUses:219Used by:221
Symbol 221 MovieClip {Crate_Health}Uses:220Used by:737 955
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:224
Symbol 224 MovieClip {Crate_Money}Uses:223Used by:737 955
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:227
Symbol 227 MovieClip {Crate_Sideswitcher}Uses:226Used by:955
Symbol 228 ShapeTweeningUsed by:231
Symbol 229 ShapeTweeningUsed by:231
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClip {SmokeClip}Uses:228 229 230Used by:955
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:234
Symbol 234 MovieClip {Station_Armor}Uses:233Used by:955
Symbol 235 BitmapUsed by:236
Symbol 236 GraphicUses:235Used by:241
Symbol 237 ShapeTweeningUsed by:241
Symbol 238 GraphicUsed by:241 245 249 253
Symbol 239 FontUsed by:240
Symbol 240 TextUses:239Used by:241 245 249 253
Symbol 241 MovieClip {Station_Speed}Uses:236 237 238 240Used by:737 955
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:245
Symbol 244 ShapeTweeningUsed by:245
Symbol 245 MovieClip {Station_Attack}Uses:243 244 238 240Used by:955
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:249
Symbol 248 ShapeTweeningUsed by:249
Symbol 249 MovieClip {Station_Range}Uses:247 248 238 240Used by:955
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:253
Symbol 252 ShapeTweeningUsed by:253
Symbol 253 MovieClip {Station_Rate}Uses:251 252 238 240Used by:955
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClip {FiringRange}Uses:254Used by:955
Symbol 256 ShapeTweeningUsed by:259
Symbol 257 ShapeTweeningUsed by:259
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClip {SideswitcherPerkClip}Uses:256 257 258Used by:955
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:267
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:267
Symbol 264 ShapeTweeningUsed by:267
Symbol 265 ShapeTweeningUsed by:267
Symbol 266 ShapeTweeningUsed by:267
Symbol 267 MovieClip {HomingMissleClip}Uses:261 263 264 265 266 43Used by:955
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:282
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:278
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:278
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:278
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:278
Symbol 278 MovieClip {HomingTurret}Uses:271 273 275 277Used by:282 955
Symbol 279 ShapeTweeningUsed by:282
Symbol 280 ShapeTweeningUsed by:282
Symbol 281 ShapeTweeningUsed by:282
Symbol 282 MovieClip {HomingMissleBuilderClip}Uses:269 278 279 280 281 43Used by:737 955
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:292
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:292
Symbol 287 BitmapUsed by:288
Symbol 288 GraphicUses:287Used by:292
Symbol 289 ShapeTweeningUsed by:292
Symbol 290 ShapeTweeningUsed by:292
Symbol 291 ShapeTweeningUsed by:292
Symbol 292 MovieClip {TurnerClip}Uses:284 168 286 288 289 290 291 43Used by:737 955
Symbol 293 BitmapUsed by:294
Symbol 294 GraphicUses:293Used by:307
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:303
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:303
Symbol 299 BitmapUsed by:300
Symbol 300 GraphicUses:299Used by:303
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:303
Symbol 303 MovieClip {sentryTurretMed}Uses:296 298 300 302Used by:307 955
Symbol 304 ShapeTweeningUsed by:307
Symbol 305 ShapeTweeningUsed by:307
Symbol 306 ShapeTweeningUsed by:307
Symbol 307 MovieClip {SentryMedium}Uses:294 303 304 305 306 43Used by:737 955
Symbol 308 BitmapUsed by:309
Symbol 309 GraphicUses:308Used by:391 566 744 780 902 932
Symbol 310 TextUses:1Used by:391 566 780 932
Symbol 311 EditableTextUses:1 397 600Used by:391
Symbol 312 TextUses:1Used by:315
Symbol 313 TextUses:1Used by:315
Symbol 314 TextUses:1Used by:315
Symbol 315 Button {HighScoreButton}Uses:312 313 314 8Used by:391 955
Symbol 316 TextUses:1Used by:322
Symbol 317 GraphicUsed by:322
Symbol 318 TextUses:1Used by:322
Symbol 319 GraphicUsed by:322
Symbol 320 GraphicUsed by:322
Symbol 321 GraphicUsed by:322
Symbol 322 Button {PlayMoreGamesButton}Uses:316 317 318 319 320 321Used by:391 955
Symbol 323 TextUses:1Used by:326
Symbol 324 TextUses:1Used by:326
Symbol 325 GraphicUsed by:326
Symbol 326 Button {CreatedByButton}Uses:323 324 325Used by:391 566 780 932 955
Symbol 327 TextUses:1Used by:330
Symbol 328 TextUses:1Used by:330
Symbol 329 TextUses:1Used by:330
Symbol 330 Button {PlayMissionsButton}Uses:327 328 329 8Used by:391
Symbol 331 TextUses:1Used by:334
Symbol 332 TextUses:1Used by:334
Symbol 333 TextUses:1Used by:334
Symbol 334 Button {CreateCustomButton}Uses:331 332 333 8Used by:391
Symbol 335 TextUses:1Used by:338
Symbol 336 TextUses:1Used by:338
Symbol 337 TextUses:1Used by:338
Symbol 338 Button {PlayCustomButton}Uses:335 336 337 8Used by:391
Symbol 339 GraphicUsed by:347 354
Symbol 340 GraphicUsed by:347
Symbol 341 TextUses:1Used by:347
Symbol 342 GraphicUsed by:347
Symbol 343 TextUses:1Used by:347
Symbol 344 GraphicUsed by:347 354
Symbol 345 TextUses:1Used by:347
Symbol 346 TextUses:1Used by:347
Symbol 347 MovieClip {MusicButton}Uses:339 340 341 342 343 344 345 346Used by:391 955
Symbol 348 GraphicUsed by:354
Symbol 349 TextUses:1Used by:354
Symbol 350 GraphicUsed by:354
Symbol 351 TextUses:1Used by:354
Symbol 352 TextUses:1Used by:354
Symbol 353 TextUses:1Used by:354
Symbol 354 MovieClip {FxButton}Uses:339 348 349 350 351 344 352 353Used by:391 955
Symbol 355 TextUses:1Used by:358
Symbol 356 TextUses:1Used by:358
Symbol 357 TextUses:1Used by:358
Symbol 358 Button {BrowseUserLevelsButton}Uses:355 356 357 8Used by:391
Symbol 359 EditableTextUses:1 397 600Used by:391
Symbol 360 TextUses:1Used by:363
Symbol 361 TextUses:1Used by:363
Symbol 362 GraphicUsed by:363
Symbol 363 Button {DownloadMusicButton}Uses:360 361 362Used by:391
Symbol 364 EditableTextUses:1 397 600Used by:391
Symbol 365 GraphicUsed by:366
Symbol 366 MovieClip {ClamIcon}Uses:365Used by:391 932
Symbol 367 BitmapUsed by:368
Symbol 368 GraphicUses:367Used by:376
Symbol 369 ShapeTweeningUsed by:376
Symbol 370 BitmapUsed by:371
Symbol 371 GraphicUses:370Used by:376
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:376
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:376
Symbol 376 MovieClip {TinkClip}Uses:368 369 105 371 373 375Used by:379
Symbol 377 EditableTextUses:1 397 600Used by:379
Symbol 378 GraphicUsed by:379
Symbol 379 MovieClip {StoryScreen}Uses:376 377 378Used by:391 955
Symbol 380 GraphicUsed by:390
Symbol 381 EditableTextUses:1Used by:390
Symbol 382 TextUses:1Used by:390
Symbol 383 GraphicUsed by:388
Symbol 384 TextUses:1Used by:388
Symbol 385 GraphicUsed by:388
Symbol 386 TextUses:1Used by:388
Symbol 387 GraphicUsed by:388
Symbol 388 Button {OkButton}Uses:383 384 385 386 387Used by:390 674 686
Symbol 389 EditableTextUses:1 397 600Used by:390
Symbol 390 MovieClip {CustomInput}Uses:380 381 382 388 389Used by:391
Symbol 391 MovieClip {TitleScreen}Uses:309 310 311 315 322 326 330 334 338 347 354 358 359 363 364 366 379 390Used by:955
Symbol 392 GraphicUsed by:396
Symbol 393 TextUses:1Used by:396
Symbol 394 GraphicUsed by:396
Symbol 395 TextUses:1Used by:396
Symbol 396 Button {ResumeGameButton}Uses:392 393 394 395 8Used by:955
Symbol 397 FontUsed by:14 193 197 201 205 209 311 359 364 377 389 398 400 401 402 411 412 513 524 525 526 527 528 529 531 533 535 538 540 542 544 545 546 552 553 560 561 562 567 568 569 576 577 578 580 581 582 584 585 586 588 589 590 592 593 594 596 597 598 617 618 619 620 621 622 623 624 625 626 644 653 673 685 776 777 778 779 899 901 927
Symbol 398 EditableTextUses:1 397 600Used by:399
Symbol 399 MovieClip {GoalDisplay}Uses:211 398Used by:955
Symbol 400 EditableTextUses:1 397 600Used by:404
Symbol 401 EditableTextUses:1 397 600Used by:404
Symbol 402 EditableTextUses:1 397 600Used by:404
Symbol 403 GraphicUsed by:404
Symbol 404 MovieClip {BuildTankDisplay}Uses:400 401 402 403Used by:737 955
Symbol 405 GraphicUsed by:410
Symbol 406 GraphicUsed by:410
Symbol 407 GraphicUsed by:410
Symbol 408 ShapeTweeningUsed by:410
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClip {SelfDestructButton}Uses:105 405 406 407 408 409Used by:955
Symbol 411 EditableTextUses:1 397 600Used by:414
Symbol 412 EditableTextUses:1 397 600Used by:414
Symbol 413 GraphicUsed by:414
Symbol 414 MovieClip {LevelDisplay}Uses:411 412 413Used by:955
Symbol 415 GraphicUsed by:420
Symbol 416 TextUses:1Used by:420
Symbol 417 GraphicUsed by:420
Symbol 418 TextUses:1Used by:420
Symbol 419 GraphicUsed by:420 426
Symbol 420 Button {ResetLevelButton}Uses:415 416 417 418 419Used by:955
Symbol 421 GraphicUsed by:426
Symbol 422 TextUses:1Used by:426
Symbol 423 GraphicUsed by:426
Symbol 424 TextUses:1Used by:426
Symbol 425 TextUses:1Used by:426
Symbol 426 Button {ExitButton}Uses:421 422 423 424 425 419Used by:955
Symbol 427 GraphicUsed by:433
Symbol 428 TextUses:1Used by:433
Symbol 429 GraphicUsed by:433
Symbol 430 TextUses:1Used by:433
Symbol 431 TextUses:1Used by:433
Symbol 432 GraphicUsed by:433
Symbol 433 Button {SponsorButton}Uses:427 428 429 430 431 432Used by:955
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:439 627
Symbol 436 TextUses:1Used by:438
Symbol 437 TextUses:1Used by:438
Symbol 438 Button {SSLink}Uses:436 437 8Used by:439 627 955
Symbol 439 MovieClip {InterfaceChrome}Uses:435 438Used by:955
Symbol 440 TextUses:1Used by:444
Symbol 441 GraphicUsed by:444
Symbol 442 TextUses:1Used by:444
Symbol 443 GraphicUsed by:444
Symbol 444 Button {MenuButton}Uses:440 441 442 443 13Used by:955
Symbol 445 BitmapUsed by:446
Symbol 446 GraphicUses:445Used by:447
Symbol 447 MovieClip {GrassBackground}Uses:446Used by:627 955
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:450
Symbol 450 MovieClip {Crate_Tank}Uses:449Used by:737 955
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:491
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:491
Symbol 455 BitmapUsed by:456
Symbol 456 GraphicUses:455Used by:491
Symbol 457 BitmapUsed by:458
Symbol 458 GraphicUses:457Used by:491
Symbol 459 BitmapUsed by:460
Symbol 460 GraphicUses:459Used by:491
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:491
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:491
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:491
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:491
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:491
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:491
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:491
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:491
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:491
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:491
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:491
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:491
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:491
Symbol 487 BitmapUsed by:488
Symbol 488 GraphicUses:487Used by:491
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:491
Symbol 491 MovieClip {WaterClip}Uses:452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 488 490Used by:955
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:500
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:500
Symbol 496 BitmapUsed by:497
Symbol 497 GraphicUses:496Used by:500
Symbol 498 BitmapUsed by:499
Symbol 499 GraphicUses:498Used by:500
Symbol 500 MovieClip {sentryTurretHard}Uses:493 495 497 499Used by:506 955
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:506
Symbol 503 ShapeTweeningUsed by:506
Symbol 504 ShapeTweeningUsed by:506
Symbol 505 ShapeTweeningUsed by:506
Symbol 506 MovieClip {SentryHard}Uses:502 500 503 504 505 43Used by:955
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:509
Symbol 509 MovieClip {Tree1Clip}Uses:508Used by:955
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:512
Symbol 512 MovieClip {Tree2Clip}Uses:511Used by:955
Symbol 513 EditableTextUses:1 397 600Used by:516
Symbol 514 GraphicUsed by:515
Symbol 515 MovieClip {BeatenFlag}Uses:514Used by:516
Symbol 516 MovieClip {LevelMarker}Uses:513 515Used by:955
Symbol 517 GraphicUsed by:522
Symbol 518 TextUses:1Used by:522
Symbol 519 GraphicUsed by:522
Symbol 520 GraphicUsed by:522
Symbol 521 GraphicUsed by:522
Symbol 522 MovieClip {LayoutGrid}Uses:517 518 519 520 521Used by:955
Symbol 523 MovieClip {LevelFade}Uses:13Used by:743 955
Symbol 524 EditableTextUses:1 397 600Used by:555
Symbol 525 EditableTextUses:1 397 600Used by:555
Symbol 526 EditableTextUses:1 397 600Used by:555
Symbol 527 EditableTextUses:1 397 600Used by:555
Symbol 528 EditableTextUses:1 397 600Used by:555
Symbol 529 EditableTextUses:1 397 600Used by:555
Symbol 530 GraphicUsed by:536
Symbol 531 TextUses:397Used by:536
Symbol 532 GraphicUsed by:536
Symbol 533 TextUses:397Used by:536
Symbol 534 GraphicUsed by:536
Symbol 535 TextUses:397Used by:536
Symbol 536 Button {TryAgainButton}Uses:530 531 532 533 534 535Used by:555 955
Symbol 537 GraphicUsed by:543
Symbol 538 TextUses:397Used by:543
Symbol 539 GraphicUsed by:543
Symbol 540 TextUses:397Used by:543
Symbol 541 GraphicUsed by:543
Symbol 542 TextUses:397Used by:543
Symbol 543 Button {NewMissionButton}Uses:537 538 539 540 541 542Used by:555 955
Symbol 544 EditableTextUses:1 397 600Used by:555
Symbol 545 EditableTextUses:1 397 600Used by:555
Symbol 546 TextUses:397Used by:554
Symbol 547 GraphicUsed by:551
Symbol 548 GraphicUsed by:551
Symbol 549 GraphicUsed by:551
Symbol 550 GraphicUsed by:551
Symbol 551 MovieClip {RatingStar}Uses:547 548 549 550Used by:554
Symbol 552 TextUses:397Used by:554
Symbol 553 TextUses:397Used by:554
Symbol 554 MovieClip {RatingWidget}Uses:546 551 552 553Used by:555
Symbol 555 MovieClip {LevelSummary}Uses:13 524 525 526 527 528 529 536 543 544 545 554Used by:955
Symbol 556 EditableTextUses:1Used by:566
Symbol 557 EditableTextUses:1Used by:566
Symbol 558 EditableTextUses:1Used by:566
Symbol 559 TextUses:1Used by:566
Symbol 560 EditableTextUses:1 397 600Used by:564
Symbol 561 EditableTextUses:1 397 600Used by:564
Symbol 562 EditableTextUses:1 397 600Used by:564
Symbol 563 GraphicUsed by:564
Symbol 564 Button {BackTitleButton}Uses:560 561 562 563Used by:566 780 932
Symbol 565 GraphicUsed by:566
Symbol 566 MovieClip {LevelSelect}Uses:309 310 556 557 558 559 326 564 565Used by:955
Symbol 567 EditableTextUses:1 397 600Used by:627
Symbol 568 EditableTextUses:1 397 600Used by:627
Symbol 569 EditableTextUses:1 397 600Used by:627
Symbol 570 GraphicUsed by:573 575
Symbol 571 EditableTextUses:1Used by:573
Symbol 572 TextUses:1Used by:573
Symbol 573 Button {AddButton}Uses:570 571 8 572Used by:627
Symbol 574 TextUses:1Used by:575
Symbol 575 Button {SubtractButton}Uses:570 574 8Used by:627
Symbol 576 EditableTextUses:1 397 600Used by:579
Symbol 577 EditableTextUses:1 397 600Used by:579
Symbol 578 EditableTextUses:1 397 600Used by:579
Symbol 579 Button {LevEdObstacles}Uses:576 577 578 15Used by:627
Symbol 580 EditableTextUses:1 397 600Used by:583
Symbol 581 EditableTextUses:1 397 600Used by:583
Symbol 582 EditableTextUses:1 397 600Used by:583
Symbol 583 Button {LevEdLaunchers}Uses:580 581 582 15Used by:627
Symbol 584 EditableTextUses:1 397 600Used by:587
Symbol 585 EditableTextUses:1 397 600Used by:587
Symbol 586 EditableTextUses:1 397 600Used by:587
Symbol 587 Button {LevEdSentries}Uses:584 585 586 15Used by:627
Symbol 588 EditableTextUses:1 397 600Used by:591
Symbol 589 EditableTextUses:1 397 600Used by:591
Symbol 590 EditableTextUses:1 397 600Used by:591
Symbol 591 Button {LevEdPatrollers}Uses:588 589 590 15Used by:627
Symbol 592 EditableTextUses:1 397 600Used by:595
Symbol 593 EditableTextUses:1 397 600Used by:595
Symbol 594 EditableTextUses:1 397 600Used by:595
Symbol 595 Button {LevEdHunters}Uses:592 593 594 15Used by:627
Symbol 596 EditableTextUses:1 397 600Used by:599
Symbol 597 EditableTextUses:1 397 600Used by:599
Symbol 598 EditableTextUses:1 397 600Used by:599
Symbol 599 Button {LevEdPowerUps}Uses:596 597 598 15Used by:627
Symbol 600 FontUsed by:14 193 197 201 205 209 311 359 364 377 389 398 400 401 402 411 412 513 524 525 526 527 528 529 544 545 560 561 562 567 568 569 576 577 578 580 581 582 584 585 586 588 589 590 592 593 594 596 597 598 601 602 605 606 609 610 613 614 617 618 619 620 621 622 623 624 625 626 644 653 685 776 777 778 779 899 927
Symbol 601 TextUses:600Used by:604
Symbol 602 TextUses:600Used by:604
Symbol 603 GraphicUsed by:604
Symbol 604 Button {LevEdExit}Uses:601 602 603Used by:627
Symbol 605 TextUses:600Used by:608
Symbol 606 TextUses:600Used by:608
Symbol 607 GraphicUsed by:608
Symbol 608 Button {LevEdImport}Uses:605 606 607Used by:627
Symbol 609 TextUses:600Used by:612
Symbol 610 TextUses:600Used by:612
Symbol 611 GraphicUsed by:612
Symbol 612 Button {LevEdExport}Uses:609 610 611Used by:627
Symbol 613 TextUses:600Used by:616
Symbol 614 TextUses:600Used by:616
Symbol 615 GraphicUsed by:616
Symbol 616 Button {LevEdTest}Uses:613 614 615Used by:627
Symbol 617 EditableTextUses:1 397 600Used by:627
Symbol 618 EditableTextUses:1 397 600Used by:627
Symbol 619 EditableTextUses:1 397 600Used by:627
Symbol 620 EditableTextUses:1 397 600Used by:627
Symbol 621 EditableTextUses:1 397 600Used by:627
Symbol 622 EditableTextUses:1 397 600Used by:627
Symbol 623 EditableTextUses:1 397 600Used by:627
Symbol 624 EditableTextUses:1 397 600Used by:627
Symbol 625 EditableTextUses:1 397 600Used by:627
Symbol 626 EditableTextUses:1 397 600Used by:627
Symbol 627 MovieClip {LevelEditor}Uses:435 567 568 569 573 575 447 579 583 587 591 595 599 604 608 612 616 617 618 619 620 621 622 623 624 625 626 438Used by:955
Symbol 628 GraphicUsed by:629
Symbol 629 MovieClip {SelectIcon}Uses:628Used by:955
Symbol 630 GraphicUsed by:631
Symbol 631 MovieClip {DeleteIcon}Uses:630Used by:639 955
Symbol 632 GraphicUsed by:639
Symbol 633 GraphicUsed by:639
Symbol 634 TextUses:1Used by:639
Symbol 635 GraphicUsed by:639
Symbol 636 TextUses:1Used by:639
Symbol 637 GraphicUsed by:639
Symbol 638 TextUses:1Used by:639
Symbol 639 MovieClip {HoverEditor}Uses:632 633 634 631 635 636 637 638Used by:955
Symbol 640 GraphicUsed by:641
Symbol 641 MovieClip {SelectedIcon}Uses:640Used by:955
Symbol 642 GraphicUsed by:674
Symbol 643 TextUses:1Used by:674
Symbol 644 EditableTextUses:1 397 600Used by:674
Symbol 645 TextUses:1Used by:674
Symbol 646 TextUses:1Used by:674 686
Symbol 647 GraphicUsed by:652
Symbol 648 TextUses:1Used by:652
Symbol 649 GraphicUsed by:652
Symbol 650 TextUses:1Used by:652
Symbol 651 GraphicUsed by:652
Symbol 652 Button {CopyToClipboardButton}Uses:647 648 649 650 651Used by:674
Symbol 653 EditableTextUses:1 397 600Used by:674
Symbol 654 GraphicUsed by:659
Symbol 655 TextUses:1Used by:659
Symbol 656 GraphicUsed by:659
Symbol 657 TextUses:1Used by:659
Symbol 658 GraphicUsed by:659
Symbol 659 Button {ShareOnSSButton}Uses:654 655 656 657 658Used by:674
Symbol 660 TextUses:1Used by:674
Symbol 661 GraphicUsed by:674
Symbol 662 EditableTextUses:1Used by:674
Symbol 663 TextUses:1Used by:674
Symbol 664 GraphicUsed by:672
Symbol 665 GraphicUsed by:672
Symbol 666 GraphicUsed by:672
Symbol 667 GraphicUsed by:672
Symbol 668 GraphicUsed by:672
Symbol 669 GraphicUsed by:672
Symbol 670 GraphicUsed by:672
Symbol 671 GraphicUsed by:672
Symbol 672 MovieClip {PaymentBox_LoadClip}Uses:664 665 666 667 668 669 670 671Used by:674 895 898 902
Symbol 673 TextUses:397Used by:674
Symbol 674 MovieClip {ExportScreen}Uses:642 643 644 388 645 646 652 653 659 660 661 662 663 13 672 673Used by:955
Symbol 675 GraphicUsed by:686
Symbol 676 TextUses:1Used by:686
Symbol 677 EditableTextUses:1Used by:686
Symbol 678 TextUses:1Used by:686
Symbol 679 GraphicUsed by:684
Symbol 680 TextUses:1Used by:684
Symbol 681 GraphicUsed by:684
Symbol 682 TextUses:1Used by:684
Symbol 683 GraphicUsed by:684
Symbol 684 Button {CancelButton}Uses:679 680 681 682 683Used by:686
Symbol 685 EditableTextUses:1 397 600Used by:686
Symbol 686 MovieClip {ImportScreen}Uses:675 676 677 388 678 646 684 685Used by:955
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:689
Symbol 689 MovieClip {SandCorner}Uses:688Used by:955
Symbol 690 GraphicUsed by:719 737
Symbol 691 GraphicUsed by:697 700
Symbol 692 TextUses:1Used by:697
Symbol 693 GraphicUsed by:697 700
Symbol 694 TextUses:1Used by:697
Symbol 695 TextUses:1Used by:697
Symbol 696 GraphicUsed by:697 700
Symbol 697 Button {NextButton}Uses:691 692 693 694 695 696Used by:719
Symbol 698 TextUses:1Used by:700
Symbol 699 TextUses:1Used by:700
Symbol 700 Button {PrevButton}Uses:691 698 693 699 696Used by:719
Symbol 701 GraphicUsed by:704
Symbol 702 GraphicUsed by:704
Symbol 703 GraphicUsed by:704
Symbol 704 Button {CloseButton}Uses:701 702 703Used by:719
Symbol 705 GraphicUsed by:719
Symbol 706 TextUses:1Used by:719
Symbol 707 TextUses:1Used by:719
Symbol 708 GraphicUsed by:719 737
Symbol 709 TextUses:1Used by:719
Symbol 710 TextUses:1Used by:719
Symbol 711 GraphicUsed by:719
Symbol 712 TextUses:1Used by:719
Symbol 713 TextUses:1Used by:719
Symbol 714 TextUses:1Used by:719
Symbol 715 TextUses:1Used by:719
Symbol 716 GraphicUsed by:719
Symbol 717 TextUses:1Used by:719
Symbol 718 TextUses:1Used by:719
Symbol 719 MovieClip {TutorialBox}Uses:690 697 700 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718Used by:955
Symbol 720 TextUses:1Used by:737
Symbol 721 TextUses:1Used by:737
Symbol 722 TextUses:1Used by:737
Symbol 723 TextUses:1Used by:737
Symbol 724 TextUses:1Used by:737
Symbol 725 TextUses:1Used by:737
Symbol 726 TextUses:1Used by:737
Symbol 727 TextUses:1Used by:737
Symbol 728 TextUses:1Used by:737
Symbol 729 TextUses:1Used by:737
Symbol 730 TextUses:1Used by:737
Symbol 731 TextUses:1Used by:737
Symbol 732 TextUses:1Used by:737
Symbol 733 TextUses:1Used by:737
Symbol 734 TextUses:1Used by:737
Symbol 735 TextUses:1Used by:737
Symbol 736 TextUses:1Used by:737
Symbol 737 MovieClip {TutorialHover}Uses:690 720 721 101 708 722 723 724 725 104 726 727 113 728 221 224 729 730 450 731 732 128 307 186 292 157 282 733 241 734 735 736 218 404Used by:955
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:742
Symbol 740 BitmapUsed by:741
Symbol 741 GraphicUses:740Used by:742
Symbol 742 Button {SSLogoButton}Uses:739 741Used by:744
Symbol 743 MovieClip {IntroFade}Uses:523Used by:744
Symbol 744 MovieClip {IntroScreen}Uses:309 742 743Used by:955
Symbol 745 GraphicUsed by:748
Symbol 746 TextUses:1Used by:748
Symbol 747 TextUses:1Used by:748
Symbol 748 MovieClip {WarningScreen}Uses:745 746 747Used by:955
Symbol 749 GraphicUsed by:780
Symbol 750 TextUses:1Used by:780
Symbol 751 TextUses:1Used by:754
Symbol 752 TextUses:1Used by:754
Symbol 753 GraphicUsed by:754
Symbol 754 Button {RandomSortButton}Uses:751 752 753Used by:780
Symbol 755 TextUses:1Used by:758
Symbol 756 TextUses:1Used by:758
Symbol 757 GraphicUsed by:758
Symbol 758 Button {RecentSortButton}Uses:755 756 757Used by:780
Symbol 759 TextUses:1Used by:762
Symbol 760 TextUses:1Used by:762
Symbol 761 GraphicUsed by:762
Symbol 762 Button {RatingSortButton}Uses:759 760 761Used by:780
Symbol 763 GraphicUsed by:764
Symbol 764 MovieClip {SortSelect}Uses:763Used by:780
Symbol 765 TextUses:1Used by:780
Symbol 766 GraphicUsed by:780
Symbol 767 GraphicUsed by:772 775
Symbol 768 TextUses:1Used by:772
Symbol 769 GraphicUsed by:772 775
Symbol 770 TextUses:1Used by:772 775
Symbol 771 GraphicUsed by:772 775
Symbol 772 Button {SharePrevButton}Uses:767 768 769 770 771Used by:780
Symbol 773 TextUses:1Used by:775
Symbol 774 TextUses:1Used by:775
Symbol 775 Button {ShareNextButton}Uses:767 773 769 774 770 771Used by:780
Symbol 776 EditableTextUses:1 397 600Used by:780
Symbol 777 EditableTextUses:1 397 600Used by:780
Symbol 778 EditableTextUses:1 397 600Used by:780
Symbol 779 EditableTextUses:1 397 600Used by:780
Symbol 780 MovieClip {LevelBrowse}Uses:749 309 310 326 564 750 754 758 762 764 765 766 772 775 776 777 778 779Used by:955
Symbol 781 GraphicUsed by:895
Symbol 782 FontUsed by:783 786 798 799 801 802 803 804 805 834 836 842 844 847 852 853 858 859 867 869 870 871 872 873 874 875 878 879 880 881 884 885 886 887 890 891 892 894 897
Symbol 783 TextUses:782Used by:895
Symbol 784 FontUsed by:785 888 889
Symbol 785 TextUses:784Used by:895
Symbol 786 TextUses:782Used by:895
Symbol 787 GraphicUsed by:792
Symbol 788 FontUsed by:789 791 794 796 798 799 801 802 803 804 805 807 809 811 813 814 820 822 829 831 837 838 855 856 861 876
Symbol 789 TextUses:788Used by:792
Symbol 790 GraphicUsed by:792
Symbol 791 TextUses:788Used by:792
Symbol 792 Button {PaymentBox_CancelBuyButton}Uses:787 789 790 791Used by:800 817 895
Symbol 793 GraphicUsed by:797
Symbol 794 TextUses:788Used by:797
Symbol 795 GraphicUsed by:797
Symbol 796 TextUses:788Used by:797
Symbol 797 Button {PaymentBox_BuyButton}Uses:793 794 795 796Used by:800 817
Symbol 798 EditableTextUses:782 788Used by:800
Symbol 799 EditableTextUses:782 788Used by:800
Symbol 800 MovieClip {BuyClamsContents}Uses:797 792 798 799Used by:895
Symbol 801 EditableTextUses:782 788Used by:817
Symbol 802 EditableTextUses:782 788Used by:817
Symbol 803 EditableTextUses:782 788Used by:817
Symbol 804 EditableTextUses:782 788Used by:817
Symbol 805 EditableTextUses:782 788Used by:817
Symbol 806 GraphicUsed by:810
Symbol 807 TextUses:788Used by:810
Symbol 808 GraphicUsed by:810
Symbol 809 TextUses:788Used by:810
Symbol 810 Button {PaymentBox_BuyPointsButton}Uses:806 807 808 809Used by:817
Symbol 811 TextUses:788Used by:816
Symbol 812 GraphicUsed by:816
Symbol 813 TextUses:788Used by:816
Symbol 814 TextUses:788Used by:816
Symbol 815 GraphicUsed by:816
Symbol 816 Button {PaymentBox_NotEnoughErrorButton}Uses:811 812 813 814 815Used by:817
Symbol 817 MovieClip {PaymentBox_PaymentContents}Uses:801 802 803 804 805 797 792 810 816Used by:895
Symbol 818 TextUsed by:835
Symbol 819 GraphicUsed by:823 839 857
Symbol 820 TextUses:788Used by:823
Symbol 821 GraphicUsed by:823 839 857
Symbol 822 TextUses:788Used by:823
Symbol 823 Button {PaymentBox_SubmitButton}Uses:819 820 821 822Used by:835 848
Symbol 824 FontUsed by:825 826 827 828 846 849 850
Symbol 825 EditableTextUses:824Used by:835
Symbol 826 EditableTextUses:824Used by:835
Symbol 827 EditableTextUses:824Used by:835
Symbol 828 EditableTextUses:824Used by:835
Symbol 829 TextUses:788Used by:833
Symbol 830 GraphicUsed by:833
Symbol 831 TextUses:788Used by:833
Symbol 832 GraphicUsed by:833
Symbol 833 Button {PaymentTermButton}Uses:829 830 831 832Used by:835
Symbol 834 EditableTextUses:782Used by:835
Symbol 835 MovieClip {PaymentBox_RegisterControls}Uses:818 823 825 826 827 828 833 834Used by:895
Symbol 836 TextUses:782Used by:840
Symbol 837 TextUses:788Used by:839
Symbol 838 TextUses:788Used by:839
Symbol 839 Button {PaymentBox_OkButton}Uses:819 837 821 838Used by:840
Symbol 840 MovieClip {PaymentBox_FogotOkContents}Uses:836 839Used by:895
Symbol 841 GraphicUsed by:845
Symbol 842 TextUses:782Used by:845
Symbol 843 GraphicUsed by:845
Symbol 844 TextUses:782Used by:845
Symbol 845 Button {PaymentBox_CancelButton}Uses:841 842 843 844Used by:848
Symbol 846 EditableTextUses:824Used by:848
Symbol 847 EditableTextUses:782Used by:848
Symbol 848 MovieClip {PaymentBox_ForgotContents}Uses:823 845 846 847Used by:895
Symbol 849 EditableTextUses:824Used by:862
Symbol 850 EditableTextUses:824Used by:862
Symbol 851 GraphicUsed by:854
Symbol 852 TextUses:782Used by:854
Symbol 853 TextUses:782Used by:854
Symbol 854 Button {PaymentBox_RegisterButton}Uses:851 852 853 13Used by:862
Symbol 855 TextUses:788Used by:857
Symbol 856 TextUses:788Used by:857
Symbol 857 Button {PaymentBox_LoginButton}Uses:819 855 821 856Used by:862
Symbol 858 TextUses:782Used by:860
Symbol 859 TextUses:782Used by:860
Symbol 860 Button {PaymentBox_ForgotButton}Uses:858 859 13Used by:862
Symbol 861 EditableTextUses:788Used by:862
Symbol 862 MovieClip {PaymentBox_LoginContents}Uses:849 850 854 857 860 861Used by:895
Symbol 863 GraphicUsed by:864
Symbol 864 Button {PaymentBox_CloseButton}Uses:863Used by:895
Symbol 865 GraphicUsed by:895
Symbol 866 GraphicUsed by:895
Symbol 867 TextUses:782Used by:895
Symbol 868 GraphicUsed by:895
Symbol 869 TextUses:782Used by:895
Symbol 870 TextUses:782Used by:895
Symbol 871 TextUses:782Used by:895
Symbol 872 TextUses:782Used by:895
Symbol 873 TextUses:782Used by:895
Symbol 874 TextUses:782Used by:895
Symbol 875 TextUses:782Used by:895
Symbol 876 TextUses:788Used by:895
Symbol 877 GraphicUsed by:895
Symbol 878 TextUses:782Used by:895
Symbol 879 TextUses:782Used by:895
Symbol 880 TextUses:782Used by:895
Symbol 881 TextUses:782Used by:895
Symbol 882 GraphicUsed by:895
Symbol 883 GraphicUsed by:895
Symbol 884 TextUses:782Used by:895
Symbol 885 TextUses:782Used by:895
Symbol 886 TextUses:782Used by:895
Symbol 887 TextUses:782Used by:895
Symbol 888 TextUses:784Used by:895
Symbol 889 TextUses:784Used by:895
Symbol 890 TextUses:782Used by:895
Symbol 891 TextUses:782Used by:895
Symbol 892 TextUses:782Used by:895
Symbol 893 GraphicUsed by:895
Symbol 894 TextUses:782Used by:895
Symbol 895 MovieClip {PaymentBox}Uses:781 783 785 786 792 800 817 835 840 848 862 864 865 672 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894Used by:955
Symbol 896 GraphicUsed by:898
Symbol 897 TextUses:782Used by:898
Symbol 898 MovieClip {PaymentInitializer}Uses:896 672 897Used by:955
Symbol 899 EditableTextUses:1 397 600Used by:900
Symbol 900 MovieClip {ShareMarker}Uses:899Used by:955
Symbol 901 TextUses:397Used by:902
Symbol 902 MovieClip {LevelLoadingClip}Uses:309 672 901Used by:955
Symbol 903 EditableTextUses:1Used by:932
Symbol 904 EditableTextUses:1Used by:932
Symbol 905 EditableTextUses:1Used by:932
Symbol 906 TextUses:1Used by:932
Symbol 907 TextUses:1Used by:932
Symbol 908 TextUses:1Used by:932
Symbol 909 TextUses:1Used by:932
Symbol 910 TextUses:1Used by:932
Symbol 911 TextUses:1Used by:914
Symbol 912 TextUses:1Used by:914
Symbol 913 GraphicUsed by:914
Symbol 914 Button {ListenButton}Uses:911 912 913Used by:932
Symbol 915 TextUses:1Used by:918
Symbol 916 TextUses:1Used by:918
Symbol 917 GraphicUsed by:918
Symbol 918 Button {DownloadButton}Uses:915 916 917Used by:932
Symbol 919 TextUses:1Used by:922
Symbol 920 TextUses:1Used by:922
Symbol 921 GraphicUsed by:922
Symbol 922 Button {StopMusicButton}Uses:919 920 921Used by:932
Symbol 923 GraphicUsed by:932
Symbol 924 BitmapUsed by:925
Symbol 925 GraphicUses:924Used by:932
Symbol 926 GraphicUsed by:931
Symbol 927 EditableTextUses:1 397 600Used by:931
Symbol 928 TextUses:1Used by:930
Symbol 929 TextUses:1Used by:930
Symbol 930 Button {StartDownloadButton}Uses:928 929 8Used by:931
Symbol 931 MovieClip {MusicDownloadProgress}Uses:926 927 930Used by:932
Symbol 932 MovieClip {MusicDownloadScreen}Uses:309 310 903 904 905 906 326 564 907 908 909 910 914 918 922 366 923 925 931Used by:955
Symbol 933 Sound {BuildTankFX}Used by:955
Symbol 934 Sound {MenuClickFX}Used by:955
Symbol 935 Sound {LevelClickFX}Used by:955
Symbol 936 Sound {CrateCollectedFX}Used by:955
Symbol 937 Sound {CreateMusic}Used by:955
Symbol 938 Sound {EditorPlaceFX}Used by:955
Symbol 939 Sound {EditorRemoveFX}Used by:955
Symbol 940 Sound {LoadErrorFX}Used by:955
Symbol 941 Sound {ReachedGoalFX}Used by:955
Symbol 942 Sound {LevelMusic}Used by:955
Symbol 943 Sound {LostLevelFX}Used by:955
Symbol 944 Sound {MissleLaunchFX}Used by:955
Symbol 945 Sound {ShellFireFX}Used by:955
Symbol 946 Sound {ShellLandFX}Used by:955
Symbol 947 Sound {SinkFX}Used by:955
Symbol 948 Sound {StationReachedFX}Used by:955
Symbol 949 Sound {TitleMusic}Used by:955
Symbol 950 Sound {UnitExplodeFX}Used by:955
Symbol 951 Sound {WonLevelFX}Used by:955
Symbol 952 Sound {SSIntroSound}Used by:955
Symbol 953 Sound {TransmissionFX}Used by:955
Symbol 954 Sound {StoryMusic}Used by:955
Symbol 955 MovieClip {EverythingHolder}Uses:15 44 51 53 55 58 101 104 110 113 128 131 134 137 145 157 186 190 194 198 202 206 210 218 221 224 227 231 234 241 245 249 253 255 259 267 282 292 307 391 396 315 322 399 404 410 414 347 354 420 426 433 439 444 447 168 278 124 450 491 500 303 506 509 512 516 522 523 326 555 536 543 566 627 629 631 639 641 674 686 689 719 737 744 438 379 748 780 895 898 900 902 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954Used by:Timeline

Instance Names

"adBox"Frame 1Symbol 12 MovieClip {AdBox}
"loadCounter"Frame 1Symbol 14 EditableText
"playATButton"Frame 1Symbol 9 Button {PlayATButton}
"tankTurret"Symbol 44 MovieClip {PlayerTank} Frame 1Symbol 28 MovieClip {TankTurret}
"pathArrow"Symbol 58 MovieClip {PathClip} Frame 1Symbol 51 MovieClip {DirectionArrow}
"tankTurret"Symbol 128 MovieClip {SentryEasy} Frame 1Symbol 124 MovieClip {sentryTurretEasy}
"tankTurret"Symbol 186 MovieClip {PatrollerClip} Frame 1Symbol 168 MovieClip {PatrollerTurret}
"costText"Symbol 194 MovieClip {SpeedControl} Frame 1Symbol 193 EditableText
"costText"Symbol 198 MovieClip {AttackControl} Frame 1Symbol 197 EditableText
"costText"Symbol 202 MovieClip {RateControl} Frame 1Symbol 201 EditableText
"costText"Symbol 206 MovieClip {RangeControl} Frame 1Symbol 205 EditableText
"costText"Symbol 210 MovieClip {ArmorControl} Frame 1Symbol 209 EditableText
"tankTurret"Symbol 282 MovieClip {HomingMissleBuilderClip} Frame 1Symbol 278 MovieClip {HomingTurret}
"tankTurret"Symbol 292 MovieClip {TurnerClip} Frame 1Symbol 168 MovieClip {PatrollerTurret}
"tankTurret"Symbol 307 MovieClip {SentryMedium} Frame 1Symbol 303 MovieClip {sentryTurretMed}
"tinkClip"Symbol 379 MovieClip {StoryScreen} Frame 1Symbol 376 MovieClip {TinkClip}
"storyText"Symbol 379 MovieClip {StoryScreen} Frame 1Symbol 377 EditableText
"levelCodeText"Symbol 390 MovieClip {CustomInput} Frame 1Symbol 381 EditableText
"okButton"Symbol 390 MovieClip {CustomInput} Frame 1Symbol 388 Button {OkButton}
"errorCodeText"Symbol 390 MovieClip {CustomInput} Frame 1Symbol 389 EditableText
"scoreText"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 311 EditableText
"highScoreButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 315 Button {HighScoreButton}
"playMoreGamesButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 322 Button {PlayMoreGamesButton}
"createdByButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 326 Button {CreatedByButton}
"playMissionsButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 330 Button {PlayMissionsButton}
"createCustomButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 334 Button {CreateCustomButton}
"playCustomButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 338 Button {PlayCustomButton}
"titleMusicButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 347 MovieClip {MusicButton}
"titleFxButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 354 MovieClip {FxButton}
"browseUserLevelsButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 358 Button {BrowseUserLevelsButton}
"browseAtSSText"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 359 EditableText
"downloadMusicButton"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 363 Button {DownloadMusicButton}
"downloadMusicAtSSText"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 364 EditableText
"browseClam"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 366 MovieClip {ClamIcon}
"storyScreen"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 379 MovieClip {StoryScreen}
"customInput"Symbol 391 MovieClip {TitleScreen} Frame 1Symbol 390 MovieClip {CustomInput}
"goalText"Symbol 399 MovieClip {GoalDisplay} Frame 1Symbol 398 EditableText
"costText"Symbol 404 MovieClip {BuildTankDisplay} Frame 1Symbol 400 EditableText
"cashText"Symbol 404 MovieClip {BuildTankDisplay} Frame 1Symbol 401 EditableText
"tanksAvailText"Symbol 404 MovieClip {BuildTankDisplay} Frame 1Symbol 402 EditableText
"timeText"Symbol 414 MovieClip {LevelDisplay} Frame 1Symbol 411 EditableText
"levelText"Symbol 414 MovieClip {LevelDisplay} Frame 1Symbol 412 EditableText
"ssLink"Symbol 439 MovieClip {InterfaceChrome} Frame 1Symbol 438 Button {SSLink}
"tankTurret"Symbol 506 MovieClip {SentryHard} Frame 1Symbol 500 MovieClip {sentryTurretHard}
"levelLabel"Symbol 516 MovieClip {LevelMarker} Frame 1Symbol 513 EditableText
"beatenFlag"Symbol 516 MovieClip {LevelMarker} Frame 1Symbol 515 MovieClip {BeatenFlag}
"rate1"Symbol 554 MovieClip {RatingWidget} Frame 1Symbol 551 MovieClip {RatingStar}
"rate2"Symbol 554 MovieClip {RatingWidget} Frame 1Symbol 551 MovieClip {RatingStar}
"rate3"Symbol 554 MovieClip {RatingWidget} Frame 1Symbol 551 MovieClip {RatingStar}
"rate4"Symbol 554 MovieClip {RatingWidget} Frame 1Symbol 551 MovieClip {RatingStar}
"rate5"Symbol 554 MovieClip {RatingWidget} Frame 1Symbol 551 MovieClip {RatingStar}
"summaryTitle"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 524 EditableText
"levelBonusText"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 525 EditableText
"timeBonusText"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 526 EditableText
"enemyBonusText"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 527 EditableText
"tankBonusText"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 528 EditableText
"cashBonusText"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 529 EditableText
"tryAgainButton"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 536 Button {TryAgainButton}
"newMissionButton"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 543 Button {NewMissionButton}
"missionScore"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 544 EditableText
"prevBest"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 545 EditableText
"ratingWidget"Symbol 555 MovieClip {LevelSummary} Frame 1Symbol 554 MovieClip {RatingWidget}
"levelNameText"Symbol 566 MovieClip {LevelSelect} Frame 1Symbol 556 EditableText
"statusText"Symbol 566 MovieClip {LevelSelect} Frame 1Symbol 557 EditableText
"bestScoreText"Symbol 566 MovieClip {LevelSelect} Frame 1Symbol 558 EditableText
"createdByButton"Symbol 566 MovieClip {LevelSelect} Frame 1Symbol 326 Button {CreatedByButton}
"backToTitleButton"Symbol 566 MovieClip {LevelSelect} Frame 1Symbol 564 Button {BackTitleButton}
"startingTanksText"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 567 EditableText
"tanksToSaveText"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 568 EditableText
"startingCashText"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 569 EditableText
"addStartTanks"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 573 Button {AddButton}
"addSaveTanks"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 573 Button {AddButton}
"addStartCash"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 573 Button {AddButton}
"subtractStartCash"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 575 Button {SubtractButton}
"subtractSaveTanks"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 575 Button {SubtractButton}
"subtractStartTanks"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 575 Button {SubtractButton}
"levEdObstacles"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 579 Button {LevEdObstacles}
"levEdLaunchers"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 583 Button {LevEdLaunchers}
"levEdSentries"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 587 Button {LevEdSentries}
"levEdPatrollers"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 591 Button {LevEdPatrollers}
"levEdHunters"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 595 Button {LevEdHunters}
"levEdPowerUps"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 599 Button {LevEdPowerUps}
"levEdExit"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 604 Button {LevEdExit}
"levEdImport"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 608 Button {LevEdImport}
"levEdExport"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 612 Button {LevEdExport}
"levEdTest"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 616 Button {LevEdTest}
"label1"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 617 EditableText
"label2"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 618 EditableText
"label3"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 619 EditableText
"label4"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 620 EditableText
"label5"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 621 EditableText
"label6"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 622 EditableText
"label7"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 623 EditableText
"label8"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 624 EditableText
"label9"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 625 EditableText
"label10"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 626 EditableText
"ssLink"Symbol 627 MovieClip {LevelEditor} Frame 1Symbol 438 Button {SSLink}
"badSpot"Symbol 639 MovieClip {HoverEditor} Frame 1Symbol 631 MovieClip {DeleteIcon}
"levelCodeText"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 644 EditableText
"okButton"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 388 Button {OkButton}
"copyToClipboardButton"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 652 Button {CopyToClipboardButton}
"doneIndicator"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 653 EditableText
"shareOnSSButton"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 659 Button {ShareOnSSButton}
"levelNameText"Symbol 674 MovieClip {ExportScreen} Frame 1Symbol 662 EditableText
"levelCodeText"Symbol 686 MovieClip {ImportScreen} Frame 1Symbol 677 EditableText
"okButton"Symbol 686 MovieClip {ImportScreen} Frame 1Symbol 388 Button {OkButton}
"cancelButton"Symbol 686 MovieClip {ImportScreen} Frame 1Symbol 684 Button {CancelButton}
"codeErrorText"Symbol 686 MovieClip {ImportScreen} Frame 1Symbol 685 EditableText
"nextButton"Symbol 719 MovieClip {TutorialBox} Frame 1Symbol 697 Button {NextButton}
"prevButton"Symbol 719 MovieClip {TutorialBox} Frame 1Symbol 700 Button {PrevButton}
"closeButton"Symbol 719 MovieClip {TutorialBox} Frame 1Symbol 704 Button {CloseButton}
"ssLogoButton"Symbol 744 MovieClip {IntroScreen} Frame 1Symbol 742 Button {SSLogoButton}
"introFade"Symbol 744 MovieClip {IntroScreen} Frame 1Symbol 743 MovieClip {IntroFade}
"createdByButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 326 Button {CreatedByButton}
"backToTitleButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 564 Button {BackTitleButton}
"randomSortButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 754 Button {RandomSortButton}
"recentSortButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 758 Button {RecentSortButton}
"ratingSortButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 762 Button {RatingSortButton}
"sortSelect"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 764 MovieClip {SortSelect}
"sharePrevButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 772 Button {SharePrevButton}
"shareNextButton"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 775 Button {ShareNextButton}
"authorText"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 776 EditableText
"ratingText"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 777 EditableText
"winPercentText"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 778 EditableText
"createdText"Symbol 780 MovieClip {LevelBrowse} Frame 1Symbol 779 EditableText
"buy250Button"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 797 Button {PaymentBox_BuyButton}
"buy500Button"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 797 Button {PaymentBox_BuyButton}
"buy1000Button"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 797 Button {PaymentBox_BuyButton}
"cancelClamBuyButton"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 792 Button {PaymentBox_CancelBuyButton}
"buyClamsUsername"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 798 EditableText
"buyClamsAvailable"Symbol 800 MovieClip {BuyClamsContents} Frame 1Symbol 799 EditableText
"itemName"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 801 EditableText
"username"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 802 EditableText
"description"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 803 EditableText
"cost"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 804 EditableText
"userPoints"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 805 EditableText
"buyButton"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 797 Button {PaymentBox_BuyButton}
"cancelBuyButton"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 792 Button {PaymentBox_CancelBuyButton}
"buyPointsButton"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 810 Button {PaymentBox_BuyPointsButton}
"notEnoughErrorButton"Symbol 817 MovieClip {PaymentBox_PaymentContents} Frame 1Symbol 816 Button {PaymentBox_NotEnoughErrorButton}
"submitButton"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 823 Button {PaymentBox_SubmitButton}
"emailInput"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 825 EditableText
"usernameInput"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 826 EditableText
"password1Input"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 827 EditableText
"password2Input"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 828 EditableText
"termButton"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 833 Button {PaymentTermButton}
"registrationError"Symbol 835 MovieClip {PaymentBox_RegisterControls} Frame 1Symbol 834 EditableText
"okButton"Symbol 840 MovieClip {PaymentBox_FogotOkContents} Frame 1Symbol 839 Button {PaymentBox_OkButton}
"submitEmailButton"Symbol 848 MovieClip {PaymentBox_ForgotContents} Frame 1Symbol 823 Button {PaymentBox_SubmitButton}
"cancelButton"Symbol 848 MovieClip {PaymentBox_ForgotContents} Frame 1Symbol 845 Button {PaymentBox_CancelButton}
"forgotEmailInput"Symbol 848 MovieClip {PaymentBox_ForgotContents} Frame 1Symbol 846 EditableText
"forgotError"Symbol 848 MovieClip {PaymentBox_ForgotContents} Frame 1Symbol 847 EditableText
"usernameInput"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 849 EditableText
"passwordInput"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 850 EditableText
"registerButton"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 854 Button {PaymentBox_RegisterButton}
"loginButton"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 857 Button {PaymentBox_LoginButton}
"forgotInfoButton"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 860 Button {PaymentBox_ForgotButton}
"loginError"Symbol 862 MovieClip {PaymentBox_LoginContents} Frame 1Symbol 861 EditableText
"buyClamsCompletingCancelButton"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 792 Button {PaymentBox_CancelBuyButton}
"buyClamsContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 800 MovieClip {BuyClamsContents}
"paymentContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 817 MovieClip {PaymentBox_PaymentContents}
"registerContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 835 MovieClip {PaymentBox_RegisterControls}
"forgotOkContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 840 MovieClip {PaymentBox_FogotOkContents}
"forgotInfoContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 848 MovieClip {PaymentBox_ForgotContents}
"loginContents"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 862 MovieClip {PaymentBox_LoginContents}
"closeButton"Symbol 895 MovieClip {PaymentBox} Frame 1Symbol 864 Button {PaymentBox_CloseButton}
"levelLabel"Symbol 900 MovieClip {ShareMarker} Frame 1Symbol 899 EditableText
"progressText"Symbol 931 MovieClip {MusicDownloadProgress} Frame 1Symbol 927 EditableText
"startDownloadButton"Symbol 931 MovieClip {MusicDownloadProgress} Frame 1Symbol 930 Button {StartDownloadButton}
"levelNameText"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 903 EditableText
"statusText"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 904 EditableText
"bestScoreText"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 905 EditableText
"creatorButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 326 Button {CreatedByButton}
"backToTitleButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 564 Button {BackTitleButton}
"introListenButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 914 Button {ListenButton}
"levelListenButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 914 Button {ListenButton}
"editorListenButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 914 Button {ListenButton}
"winListenButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 914 Button {ListenButton}
"introDownloadButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 918 Button {DownloadButton}
"levelDownloadButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 918 Button {DownloadButton}
"editorDownloadButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 918 Button {DownloadButton}
"winDownloadButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 918 Button {DownloadButton}
"introStopButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 922 Button {StopMusicButton}
"levelStopButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 922 Button {StopMusicButton}
"editorStopButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 922 Button {StopMusicButton}
"winStopButton"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 922 Button {StopMusicButton}
"musicDownloadProgress"Symbol 932 MovieClip {MusicDownloadScreen} Frame 1Symbol 931 MovieClip {MusicDownloadProgress}

Special Tags

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

Labels

"normal"Symbol 28 MovieClip {TankTurret} Frame 1
"firing"Symbol 28 MovieClip {TankTurret} Frame 2
"normal"Symbol 44 MovieClip {PlayerTank} Frame 1
"goalRemove"Symbol 44 MovieClip {PlayerTank} Frame 7
"blowUp"Symbol 44 MovieClip {PlayerTank} Frame 27
"sink"Symbol 44 MovieClip {PlayerTank} Frame 56
"removeMe"Symbol 44 MovieClip {PlayerTank} Frame 101
"hit"Symbol 44 MovieClip {PlayerTank} Frame 102
"rightHover"Symbol 51 MovieClip {DirectionArrow} Frame 6
"path"Symbol 58 MovieClip {PathClip} Frame 1
"selected"Symbol 58 MovieClip {PathClip} Frame 2
"endpoint"Symbol 58 MovieClip {PathClip} Frame 3
"normal"Symbol 101 MovieClip {PlayerBuilder} Frame 1
"openDown"Symbol 101 MovieClip {PlayerBuilder} Frame 2
"openLeft"Symbol 101 MovieClip {PlayerBuilder} Frame 72
"openRight"Symbol 101 MovieClip {PlayerBuilder} Frame 141
"openUp"Symbol 101 MovieClip {PlayerBuilder} Frame 211
"off"Symbol 110 MovieClip {UpgradeButton} Frame 1
"offOver"Symbol 110 MovieClip {UpgradeButton} Frame 2
"on"Symbol 110 MovieClip {UpgradeButton} Frame 3
"onOver"Symbol 110 MovieClip {UpgradeButton} Frame 4
"normal"Symbol 124 MovieClip {sentryTurretEasy} Frame 1
"firing"Symbol 124 MovieClip {sentryTurretEasy} Frame 5
"normal"Symbol 128 MovieClip {SentryEasy} Frame 1
"blowUp"Symbol 128 MovieClip {SentryEasy} Frame 2
"removeMe"Symbol 128 MovieClip {SentryEasy} Frame 10
"hit"Symbol 128 MovieClip {SentryEasy} Frame 11
"removeMe"Symbol 131 MovieClip {smallBoom} Frame 20
"removeMe"Symbol 137 MovieClip {SmokeTrail} Frame 35
"normal"Symbol 145 MovieClip {KamikazeClip} Frame 1
"blowUp"Symbol 145 MovieClip {KamikazeClip} Frame 7
"removeMe"Symbol 145 MovieClip {KamikazeClip} Frame 16
"hit"Symbol 145 MovieClip {KamikazeClip} Frame 17
"normal"Symbol 157 MovieClip {KamikazeBuilderClip} Frame 1
"firing"Symbol 157 MovieClip {KamikazeBuilderClip} Frame 2
"blowUp"Symbol 157 MovieClip {KamikazeBuilderClip} Frame 8
"removeMe"Symbol 157 MovieClip {KamikazeBuilderClip} Frame 17
"hit"Symbol 157 MovieClip {KamikazeBuilderClip} Frame 18
"normal"Symbol 168 MovieClip {PatrollerTurret} Frame 1
"firing"Symbol 168 MovieClip {PatrollerTurret} Frame 5
"normal"Symbol 186 MovieClip {PatrollerClip} Frame 1
"blowUp"Symbol 186 MovieClip {PatrollerClip} Frame 57
"removeMe"Symbol 186 MovieClip {PatrollerClip} Frame 68
"hit"Symbol 186 MovieClip {PatrollerClip} Frame 69
"up"Symbol 218 MovieClip {BuildTankButton} Frame 1
"over"Symbol 218 MovieClip {BuildTankButton} Frame 2
"down"Symbol 218 MovieClip {BuildTankButton} Frame 3
"hit"Symbol 218 MovieClip {BuildTankButton} Frame 4
"disabled"Symbol 218 MovieClip {BuildTankButton} Frame 5
"building"Symbol 218 MovieClip {BuildTankButton} Frame 10
"normal"Symbol 221 MovieClip {Crate_Health} Frame 1
"normal"Symbol 224 MovieClip {Crate_Money} Frame 1
"normal"Symbol 227 MovieClip {Crate_Sideswitcher} Frame 1
"normal"Symbol 234 MovieClip {Station_Armor} Frame 1
"normal"Symbol 241 MovieClip {Station_Speed} Frame 1
"activated"Symbol 241 MovieClip {Station_Speed} Frame 2
"normal"Symbol 245 MovieClip {Station_Attack} Frame 1
"activated"Symbol 245 MovieClip {Station_Attack} Frame 2
"normal"Symbol 249 MovieClip {Station_Range} Frame 1
"activated"Symbol 249 MovieClip {Station_Range} Frame 2
"normal"Symbol 253 MovieClip {Station_Rate} Frame 1
"activated"Symbol 253 MovieClip {Station_Rate} Frame 2
"normal"Symbol 267 MovieClip {HomingMissleClip} Frame 1
"blowUp"Symbol 267 MovieClip {HomingMissleClip} Frame 7
"removeMe"Symbol 267 MovieClip {HomingMissleClip} Frame 17
"hit"Symbol 267 MovieClip {HomingMissleClip} Frame 18
"normal"Symbol 278 MovieClip {HomingTurret} Frame 1
"firing"Symbol 278 MovieClip {HomingTurret} Frame 5
"normal"Symbol 282 MovieClip {HomingMissleBuilderClip} Frame 1
"blowUp"Symbol 282 MovieClip {HomingMissleBuilderClip} Frame 2
"removeMe"Symbol 282 MovieClip {HomingMissleBuilderClip} Frame 11
"hit"Symbol 282 MovieClip {HomingMissleBuilderClip} Frame 12
"normal"Symbol 292 MovieClip {TurnerClip} Frame 1
"blowUp"Symbol 292 MovieClip {TurnerClip} Frame 13
"removeMe"Symbol 292 MovieClip {TurnerClip} Frame 24
"hit"Symbol 292 MovieClip {TurnerClip} Frame 25
"normal"Symbol 303 MovieClip {sentryTurretMed} Frame 1
"firing"Symbol 303 MovieClip {sentryTurretMed} Frame 5
"normal"Symbol 307 MovieClip {SentryMedium} Frame 1
"blowUp"Symbol 307 MovieClip {SentryMedium} Frame 2
"removeMe"Symbol 307 MovieClip {SentryMedium} Frame 10
"hit"Symbol 307 MovieClip {SentryMedium} Frame 11
"on"Symbol 347 MovieClip {MusicButton} Frame 1
"onOver"Symbol 347 MovieClip {MusicButton} Frame 2
"off"Symbol 347 MovieClip {MusicButton} Frame 3
"offOver"Symbol 347 MovieClip {MusicButton} Frame 4
"on"Symbol 354 MovieClip {FxButton} Frame 1
"onOver"Symbol 354 MovieClip {FxButton} Frame 2
"off"Symbol 354 MovieClip {FxButton} Frame 3
"offOver"Symbol 354 MovieClip {FxButton} Frame 4
"up"Symbol 410 MovieClip {SelfDestructButton} Frame 1
"over"Symbol 410 MovieClip {SelfDestructButton} Frame 2
"recovering"Symbol 410 MovieClip {SelfDestructButton} Frame 3
"normal"Symbol 450 MovieClip {Crate_Tank} Frame 1
"OOOO1"Symbol 491 MovieClip {WaterClip} Frame 1
"OOOO2"Symbol 491 MovieClip {WaterClip} Frame 2
"OOOO3"Symbol 491 MovieClip {WaterClip} Frame 3
"OOOO4"Symbol 491 MovieClip {WaterClip} Frame 4
"OOOO5"Symbol 491 MovieClip {WaterClip} Frame 5
"XXXX"Symbol 491 MovieClip {WaterClip} Frame 6
"OOXO"Symbol 491 MovieClip {WaterClip} Frame 7
"OOXX"Symbol 491 MovieClip {WaterClip} Frame 8
"OOOX"Symbol 491 MovieClip {WaterClip} Frame 9
"OXOO"Symbol 491 MovieClip {WaterClip} Frame 10
"OXXO"Symbol 491 MovieClip {WaterClip} Frame 11
"OXXX"Symbol 491 MovieClip {WaterClip} Frame 12
"OXOX"Symbol 491 MovieClip {WaterClip} Frame 13
"XOOO"Symbol 491 MovieClip {WaterClip} Frame 14
"XOXO"Symbol 491 MovieClip {WaterClip} Frame 15
"XOXX"Symbol 491 MovieClip {WaterClip} Frame 16
"XOOX"Symbol 491 MovieClip {WaterClip} Frame 17
"XXOO"Symbol 491 MovieClip {WaterClip} Frame 18
"XXXO"Symbol 491 MovieClip {WaterClip} Frame 19
"XXOX"Symbol 491 MovieClip {WaterClip} Frame 20
"normal"Symbol 500 MovieClip {sentryTurretHard} Frame 1
"firing"Symbol 500 MovieClip {sentryTurretHard} Frame 5
"normal"Symbol 506 MovieClip {SentryHard} Frame 1
"blowUp"Symbol 506 MovieClip {SentryHard} Frame 2
"removeMe"Symbol 506 MovieClip {SentryHard} Frame 10
"hit"Symbol 506 MovieClip {SentryHard} Frame 11
"unavailable"Symbol 516 MovieClip {LevelMarker} Frame 1
"available"Symbol 516 MovieClip {LevelMarker} Frame 2
"unknown"Symbol 522 MovieClip {LayoutGrid} Frame 1
"water"Symbol 522 MovieClip {LayoutGrid} Frame 2
"tree"Symbol 522 MovieClip {LayoutGrid} Frame 3
"enemy"Symbol 522 MovieClip {LayoutGrid} Frame 4
"blank"Symbol 522 MovieClip {LayoutGrid} Frame 5
"off"Symbol 551 MovieClip {RatingStar} Frame 1
"offOver"Symbol 551 MovieClip {RatingStar} Frame 2
"on"Symbol 551 MovieClip {RatingStar} Frame 3
"onOver"Symbol 551 MovieClip {RatingStar} Frame 4
"addMode"Symbol 639 MovieClip {HoverEditor} Frame 1
"selectMode"Symbol 639 MovieClip {HoverEditor} Frame 2
"deleteMode"Symbol 639 MovieClip {HoverEditor} Frame 3
"normal"Symbol 674 MovieClip {ExportScreen} Frame 1
"loading"Symbol 674 MovieClip {ExportScreen} Frame 2
"builder"Symbol 737 MovieClip {TutorialHover} Frame 1
"upgrades"Symbol 737 MovieClip {TutorialHover} Frame 2
"goal"Symbol 737 MovieClip {TutorialHover} Frame 3
"mine"Symbol 737 MovieClip {TutorialHover} Frame 4
"powerups"Symbol 737 MovieClip {TutorialHover} Frame 5
"enemies"Symbol 737 MovieClip {TutorialHover} Frame 6
"stations"Symbol 737 MovieClip {TutorialHover} Frame 7
"buildbutton"Symbol 737 MovieClip {TutorialHover} Frame 8
"logIn"Symbol 895 MovieClip {PaymentBox} Frame 1
"loading"Symbol 895 MovieClip {PaymentBox} Frame 2
"forgotInfo"Symbol 895 MovieClip {PaymentBox} Frame 3
"forgotOk"Symbol 895 MovieClip {PaymentBox} Frame 4
"register"Symbol 895 MovieClip {PaymentBox} Frame 5
"buyItem"Symbol 895 MovieClip {PaymentBox} Frame 6
"buyClams"Symbol 895 MovieClip {PaymentBox} Frame 7
"buyClamsCompleting"Symbol 895 MovieClip {PaymentBox} Frame 8
"available"Symbol 900 MovieClip {ShareMarker} Frame 1




http://swfchan.com/19/92273/info.shtml
Created: 27/3 -2019 12:32:02 Last modified: 27/3 -2019 12:32:02 Server time: 02/05 -2024 05:13:43